Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Меняю на LISPе длину динамического блока, а линии остаются на месте (есть ручка "Растянуть") ?

Меняю на LISPе длину динамического блока, а линии остаются на месте (есть ручка "Растянуть") ?

Ответ
Поиск в этой теме
Непрочитано 17.07.2015, 11:28 #1
Меняю на LISPе длину динамического блока, а линии остаются на месте (есть ручка "Растянуть") ?
semsem
 
САПР
 
Нижний Новгород
Регистрация: 21.05.2015
Сообщений: 10

Меняю на LISPе длину динамического блока, а линии остаются на месте (есть ручка "Растянуть") ?

----- добавлено через ~35 мин. -----
Подробнее. Задача заключается в замене старых динамических блоков на новые с сохранением свойств Видимости и Растяжений.
С Видимостью справился благодаря прогам, которые нашел на форуме (спасибо авторам), а вот свосйтва растяжки не работает,т.е. значение
длины изменяется, но геометрия нет. Наверно надо как-то добраться до данных по линиям, у которых заложена данная растяжка
и там изменять их точки. Я пока не сумел. Кто знает помогите пожалуйста. Заранее спасибо.
Просмотров: 2855
 
Непрочитано 17.07.2015, 12:12
#2
frostmourn


 
Регистрация: 23.04.2015
Сообщений: 163


Где оно всё? Ни кода, ни блока...
И, кстати, для этой цели уже готовые программы на форуме были, пробовали?
frostmourn вне форума  
 
Автор темы   Непрочитано 17.07.2015, 12:47 Меняю на LISPе длину динамического блока, а линии остаются на месте (есть ручка "Растянуть") ?
#3
semsem

САПР
 
Регистрация: 21.05.2015
Нижний Новгород
Сообщений: 10


Вот код
Вложения
Тип файла: lsp bb_zam1.lsp (6.7 Кб, 20 просмотров)
semsem вне форума  
 
Непрочитано 17.07.2015, 14:19
#4
frostmourn


 
Регистрация: 23.04.2015
Сообщений: 163


Ну а блоки-то где??
Вообще вот http://lee-mac.com/dynamicblockfunctions.html
frostmourn вне форума  
 
Автор темы   Непрочитано 17.07.2015, 15:29
#5
semsem

САПР
 
Регистрация: 21.05.2015
Нижний Новгород
Сообщений: 10


Не помогло. В настройках длина поменялась, а геометрия линий не изменилась. Блоки могут быть любые, где есть Растянуть. В изменяемом блоке делаем растяжку, а меняется на первоначально заданный новый блок.
semsem вне форума  
 
Непрочитано 17.07.2015, 22:11
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Значит либо ошибка в блоке, либо неправильно задаешь значение. Попробуй задать его руками в свойствах вхождения блока.
P.S. Код не смотрел.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.07.2015, 08:26
#7
semsem

САПР
 
Регистрация: 21.05.2015
Нижний Новгород
Сообщений: 10


Вручную растягиваю блок - все нормально работает, т.е. сами блоки ни причем. В том-то и дело, что нужно программно сделать всю
геометрию растяжек у нового блока, как было у старого. С технологией ActiveXтолько только начинаю разбираться, поэтому сложновато.
Например есть такое свойство BLOCKSTRETCHFCTION, но я так понял оно - для описания блока, а мне надо изменять вставки (Insertы).
В общем пока решения не нашел. Если есть какие-то наработки по данной теме поделитесь пожалуйста. Заранее спасибо.

----- добавлено через ~16 мин. -----
свойство BLOCKSTRETCHACTION - ранее была опечатка
semsem вне форума  
 
Непрочитано 20.07.2015, 09:14
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Повторяю: блок и код в студию!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.07.2015, 14:31
#9
semsem

САПР
 
Регистрация: 21.05.2015
Нижний Новгород
Сообщений: 10


В файле proba.dwg надо заменить блок DIN_NO_NZ на DIN_NO_NZ_1 программой bb_zam1.lsp
Вложения
Тип файла: dwg
DWG 2004
proba.dwg (48.0 Кб, 958 просмотров)
Тип файла: lsp bb_zam1.lsp (6.7 Кб, 12 просмотров)
semsem вне форума  
 
Непрочитано 20.07.2015, 14:40
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


semsem, ты уж определись - поменять один блок на другой не то же, что и поменять одно (или несколько) параметров дин.блока.

----- добавлено через ~4 мин. -----
И попробуй в свойствах поменять значения свойств - изменится ли изображение блока? У меня не менялось ни для одного, ни для второго. Блоки переделывай
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.07.2015, 19:47
#11
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Помниться, была такая проблема, свойство меняешь, а блок не менялся или блок меняется, а "ручки" на месте остаются.
Я тогда для решения не только свойство менял, но и непосредственно за "ручки" дергал. Все работало.
Boxa вне форума  
 
Непрочитано 20.07.2015, 22:40
#12
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


ИМХО в таком случае можно сказать, что блок сделан неверно. Изменение свойств любым методом должно приводить к изменению блока (опять же, ИМХО). Иначе смысла в таком блоке чуть меньше, чем нет совсем.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.07.2015, 03:44
#13
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Можно на блок грешить, хотя очень странно что редактор блоков позволяет такие кривые блоки делать, а можно и на апи автокада бочку катить. Вспомнил ещё одну подобную тему, даже топик тут создавал, решение там немного другое,но так же работает. Ссылка на тему http://forum.dwg.ru/showthread.php?t=94061
Boxa вне форума  
 
Автор темы   Непрочитано 06.08.2015, 09:53
#14
semsem

САПР
 
Регистрация: 21.05.2015
Нижний Новгород
Сообщений: 10


Да, действительно пришлось переделывать свои дин. блоки, после чего свойства длин по их изменению заработало.
Как изначально получились такие кривые блоки точно не знаю, может исторически, т.к. начинались делаться в версиях
2006,2007 - а сейчас в 2011-й работаю.
В данный момент столкнулся с такой проблемой - при выполнении программы bb_zam1 по замене блоков почему-то
теряются свойства и исчезают ручки. Причем у некоторых полностью, у других отдельные. Прилагаю пример proba3.dwg
где меняю два блока, которые находятся чуть выше исходного с "_1" на конце в имени.
Дело опять в самих блоках или в программе - кто разберется подскажите пожалуйста.
Вложения
Тип файла: lsp bb_zam1.lsp (8.0 Кб, 14 просмотров)
Тип файла: dwg
DWG 2004
proba3.dwg (76.6 Кб, 618 просмотров)
semsem вне форума  
 
Автор темы   Непрочитано 19.08.2015, 09:43
#15
semsem

САПР
 
Регистрация: 21.05.2015
Нижний Новгород
Сообщений: 10


Привет всем. Да, все дело было в неправильном создании динамических блоков.
Не работали свойства изменения длин, т.к. направление линейных параметров не соответствовали
направлениям ручек растянуть.
Сами ручки пропадали после выполнения программы по замене блоков потому, что линейные параметры
были не во всех состояниях видимости.
Так что спасибо всем. У меня пока вопросов больше нет.
semsem вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Меняю на LISPе длину динамического блока, а линии остаются на месте (есть ручка "Растянуть") ?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19