Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: MikhailTAP от 27-11-2014, 14:22:38

Название: Перехват копирования объектв в другой чертёж
Отправлено: MikhailTAP от 27-11-2014, 14:22:38
Добрый день!
Возникла необходимость обработать определённым образом копирование объектов из другого чертежа. Суть такова: На чертеже среди прочих объектов есть объекты с некоторым атрибутом в XData. При копировании и вставке через буфер обмена, нужно произвести некоторые действия для корректной работы приложения.
Наткнулся на статью http://adn-cis.org/kak-poluchit-identifikatoryi-vsex-obektov-%28objectid%29,-vstavlennyix-cherez-bufer-obmena.html
Однако возникли следующие вопросы:
Название: Re: Перехват копирования объектв в другой чертёж
Отправлено: Александр Ривилис от 27-11-2014, 14:28:41
Не затормозит ли подписка на такое кол-во событий работу приложения? Ведь каждый раз надо будет проверять есть ли некоторое значение в XData объекта.
Это только экспериментальным путём. И если затормозит, то только при командах _PASTEXXX, т.к. в остальных командах этот код не работает.
Как получить в этом случае документ, откуда был скопирован объект?
Прямо - никак. Разве что у тебя где-то в Xdata или еще в чем-то, что точно копируется в буфер будет информация о том, какой это документ.
Название: Re: Перехват копирования объектв в другой чертёж
Отправлено: Александр Ривилис от 27-11-2014, 14:59:41
Впрочем (но это будет не 100%) ты можешь перехватывать и команды _COPYXXX и отмечать документ из которого копировали.