Как-то раз по одному из объектов получил от архитекторов чертежи. Сделал подоснову. При вставке по внешней ссылке номера помещений пропали. Оказалось, что номера помещений были сделаны блоками. Блоки были взорваны и вместо текста были атрибуты.
Т.к. в чертеже отображается тэг атрибута, а не его значение, то атрибуты имели разные тэги, но пустые значения. По вставке по внешней ссылке вместо тэгов атрибутов отображаются их значения (в AutoCAD внешняя ссылка и блок ведут себя во многом одинаково). Значения атрибутов не были заполнены и, как результат, номера помещений пропали.
Хотелось схватиться за голову, но проблему это бы не решило. Надо было искать выход из ситуации...
Если заменять атрибуты текстом вручную, то это очень трудоёмко:
- Вставить текст,
- Заполнить текст,
- Удалить атрибут.
И так несколько сотен раз.
Если сделать из атрибута блок и потом его взорвать командой _burst, то мы получим пустые тексты, т.к. атрибуты не содержат значений. Но я выбрал именно этот вариант, так как для меня он оказался менее трудоёмкий.
Таким образом, алгоритм по преобразованию атрибутов в окончательном виде выглядел так:
- Выделить все атрибуты;
- Сделать блок, состоящий из выделенных атрибутов;
- Присвоить значениям атрибутов имя их тэга;
- Взорвать блок при помощи команды _burst.
Наиболее трудоёмкой по времени процедурой в этом алгоритме является заполнение значений атрибутов названиями тэгов. Чтобы не выполнять эту процедуру вручную, я написал небольшую программу. Написание и тестирование программы заняло у меня около 20 минут. Остальные манипуляции по преобразованию заняли еще 10 минут (таким образом я обработал 5 чертежей). Итого вся процедура заняла не более получаса.
При ручной замене атрибутов на текст это потребовало бы гораздо больше времени (около 50 помещений на этаже, 5 этажей в здании).
В итоге написание программы оказалось втройне правильным решением, т.к. я не один раз сэкономил таким образом время. Через некоторое время пришла обновлённая архитектура и процедуру пришлось повторять. Но на этот раз я потратил на это уже не более 10 минут.
А потом архитектура обновилась еще раз
Поделитесь в комментариях к статье с какими трудностями столкнулись вы и как успешно их преодолели. А если не преодолели, то всё равно поделитесь, может я смогу вам чем-то помочь.
Да, еще. Напишите, нужна ли вам эта программа?
Здравствуйте!
Можете дать попробовать программу.
Я обычно вручную взрываю _burst-ом.
Спасибо)
Отправил на почту с инструкцией по работе.
Тоже хотелось бы попробовать программу, так как неоднократно сталкивался с подобной необходимостью.
Отправил на почту с инструкцией по работе.
См. пост 16 forum.dwg.ru/showthread.php?t=29547
Всё на автомате
Там лисп, его вручную надо запускать. И тогда всё на автомате. И у меня всё на таком автомате.
На форуме пост 2009 годом датирован. Я себе сделал в 2008. Просто статья на сайт написана позже.