|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Update блоков в КАДе?
Бизнес-шмизнес
Питер
Регистрация: 26.05.2004
Сообщений: 1,911
|
||
Просмотров: 3102
|
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Если не лисп, то
_-insert BLK_NAME=DISK:\FOLDER\NEW_BLK_NAME, если блок не в путях поиска Автокада, или _-insert BLK_NAME=NEW_BLK_NAME В "другом" чертеже блоки для обновления нужно записать в отдельные файлы командой _WBLOCK. Сохранятся значения атрибутов существующих блоков. Правда чтобы было все гладко, тэги и кол-во артибутов в обоих блоках должно совпадать. Значения атрибутов каких блоков нужно сохранить: существующих или "из другого чертежа"? |
|||
![]() |
|
||||
Бизнес-шмизнес Регистрация: 26.05.2004
Питер
Сообщений: 1,911
|
Чо-то я криво объяснил...
У меня в чертеже есть куча динамических блоков с названием "BLOCK1" (например), в другом чертеже есть их новая версия... с тем же кол-вом аттрибутов и т.п. но др. грипами и всякими фенечками... как его в этом чертеже обновить? |
|||
![]() |
|
||||
Регистрация: 18.10.2004
Odessa
Сообщений: 226
![]() |
Вопрос весьма и весьма инересный, мне тоже интересно, возможно ли такое вообще. А пока поступаю следующим образом, все блоки (почти) держу в библиотечных файлах и вынимаю отттуда через дизайнцентр, при модификации, заменяю его в библиотеке и в новый файл вставляется уже обновленная версия. Пробовал было заменять в старых проэктах - когда 1 ... 2, куда ни шло DEL->PURGE->INSERT, но когда их десятки или больше, то просто оставляю как есть, возиться слишком муторно. Хотелось бы автоматизировать зтот процесс, но пока не знаю с какой стороны к нему подойти, может знатоки LISPa что подскажут.
__________________
Труд создал человека, а человек - трудности ... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Я б, наверное, попробовал _rename - переименовать старые блоки и дальше вставлять новые. Но это так, на уровне идеи.
--- Добавлено: Еще одна идея - вставляется новый блок в пустой файл, в него же блоком попробовать вставить старый файл (блоком). По идее должно пройти переопределение блоков. Вставленный файл разбить (_.explode). Контрольную вставку блока снести, чтоб не мешалась.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Команда из Экспрессов Blockreplace заменит одни блоки другими и этим другим оставит свои старые атрибуты. Имена при этом у блоков должны быть разные. Если и новый блок имеет атрибуты, ситуация осложняется. Надо пользоваться Battman - Attsync. Становится удобней заменять вручную, штука за штукой. Или была програма-от {Smirnoff} кажется. Она меняла один набор объектов на другой, руководствуясь окружающей эти объекты линией. То есть вставка не имела четкой базовой точки. А конфигурация линии зависела и от расположения атрибутов. Могла-бы подойти эта прога, если неважна точная базовая точка.
|
|||
![]() |
|
||||
webcad.pro Регистрация: 06.01.2005
Московская обл.
Сообщений: 501
|
Поскольку X-DeViL уточнил, что речь идет о динамических блоках, то возникают определенные сложности. Которые связаны с тем, что если у блока изменены динамические характеристики относительно принятых поумолчанию при вставке, то во внутреннем представленни автокада он(блок) преобразовывается в анонимный. В этом можно убедиться просмотрев распечатку кодов по (entget(car(entsel))). В то же время, как я понимаю, предложенные способы не учитывают этой особенности.
Конечно можно написать свой вариант программы где подобные вещи были бы учтены, но для этого необходимо, чтобы динамическе характеристики нового описания совпадали со страрыми во-первых по названию во-вторых по своей сути (т.к. если динамической характерисике нового блока будет установлено значение соответствующей характерисики старого, а новая характерисика представляет собой нечто отличное от сарой, то результат трудно предсказуем). Вообщем задчу эту решить с учтом всех тонкостей совсем не просто. |
|||
![]() |