Советы по программированию в AutoCAD. Как создавать анонимные блоки в AutoCAD.

Источник: cad
Евгений Калашников

Советы по программированию в AutoCAD. Как создавать анонимные блоки в AutoCAD.

Большинство программ AutoLISP, результатом работы которых является отрисовка объектов, состоящих из нескольких примитивов (например кокой-нибудь спецзнак), обладают одним общим недостатком - отрисованный элемент состоит из нескольких объектов и поэтому, если возникнет необходимость удалить, переместить, повернуть и т. п. весь объект, то выделить его целиком не всегда удобно. Иногда для решения этой проблемы все объекты спецзнака отрисовываются в отдельном слое. Другим способом является создание таких объектов как анонимные блоки. В этом случае объект представляет из себя единое целое и оперировать с ним гораздо легче. При этом сам блок в, отличие от обычного, для пользователя не видим и его имя не появляется в списке имен блоков при использовании команды insert. В случае удаления отрисованного спецзнака из чертежа, анонимный блок, на который ссылался этот элемент автоматически удаляется из базы данных чертежа при закрытии файла.

  Процедура называется (UnBlock pt ss) , где
       pt - точка вставки объекта
       ss - набор объектов, которые надо превратить в анонимный блок.
             ss можно создать с помощью команды ssget или ssadd.

Количество объектов в наборе ss ограничено только возможностями AutoCAD'а. Как мне кажется, это процедуру можно без каких либо проблем использовать в любой версии AutoCAD начиная с v10, т. к. используемые в ней команды AutoLISP не претерпели за последнее время никаких изменений. Так-же она не зависит и от языка используемого AutoCAD'а. При создании этой процедуры я пользовался документацией от AutoCAD'а v10, использую же я ее в AutoCAD'е 2000 (15) .

Процедура UnBlock содержится в файле UnBlock.zip
В файле SpSign.zip содержится пример использования этой процедуры (маленький набор программ отрисовки таких спецзнаков как "Разрез" и "Вид").

Евгений Калашников
Технологическое бюро цеха металлоконструкций
ОАО "Западно-Сибирский металлургический комбинат"


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=30008