Реклама i
ФОТОТЕХ
VetCAD

Копирование/вставка групп между чертежами

   1 оценка

размещено: 20 Октября 2022
обновлено: 20 Октября 2022

Две пользовательские команды COPY_GROUPPASTE_GROUP для копирования/вставки групп между чертежами. COPY_GROUP для копирования групп и примитивов в буфер обмена из чертежа-отдатчика, PASTE_GROUP для вставки скопированного буфера обмена в чертёж-приёмник.
Для загрузки LISP контейнера команд используйте функцию (vl-load-all) в LISP выражении (vl-load-all "copy_paste_group"). Она обеспечит автозагрузку обеих команд во все открытые и открываемые после загрузки контейнера чертежи. При использовании стандартных загрузчиков в чертеже для вставки скопированных групп необходима своя загрузка контейнера для доступа к команде PASTE_GROUP.
Механизм алгоритма.
В алгоритме используется словарь расширения (extension dictionary) примитива. 
В пользовательский словарь каждого выбранного элемента заносится информация о вхождении примитива в каждую имеющуюся группу. Имена неименованных групп вида *Annn заменяются на имена _Annn. При выполнении команды COPY_GROUP переменная PICKSTYLE устанавливается в 1, для визуализации выбора групп. Выбранные примитивы, которые не входят в группы копируются обычным способом. Выполнение команды PASTE_GROUP запрашивает точку вставки скопированных в буфер обмена примитивов относительно левого нижнего угла их общего положения. После этого скопированные элементы вставляются и собираются в группы по их вхождениям.

/imgupl/blog/1/4/1/0/7/4/files/copy_paste_group_fas.rar
 

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-3 из 3
Куинбус Флестрин , 11 мая 2023 в 17:22
#3
Спасибо за этот лисп добрый человек. Здоровья и удачи.
koMon , 20 октября 2022 в 12:00
#2
так и есть( поправил)
Browning Zed , 20 октября 2022 в 11:34
#1
По всей видимости, в исходном коде программы для команды _PASTECLIP отсутствует префикс нижнего подчеркивания.
Выдает ошибку: Точка вставки от первичного положения (ЛНУ): Неизвестная команда "PASTECLIP"