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

ADN Club => AutoCAD .NET API => Тема начата: Roman от 31-03-2025, 14:29:31

Название: Как программно узнать о перемещении объектов группой
Отправлено: Roman от 31-03-2025, 14:29:31
Добрый всем день! Пытаюсь определить, что объекты были перемещены группой. Когда я использую команду  "Move", я могу понять по GetSystemVariables("CMDNAMES") - какая команда была вызвана в событии Document.ImpliedSelectionChanged, поскольку при выполнении команды происходит снятие выделения.
Однако, если выбрать группу и просто удерживая левую клавишу мыши (схватив за любой выделенный объект) тянуть группу, то на этом событии GetSystemVariables("CMDNAMES") возвращает пустую строку. Как-то я могу достоверно узнать, что перемещаются объекты в группе (и получить список этих объектов в группе?)
Название: Re: Как программно узнать о перемещении объектов группой
Отправлено: alz от 01-04-2025, 06:36:31
Ну, список выделенных можно просто проверить через Editor.SelectImplied, при перетаскивании меняется какая-то системная переменная, судя по командной строке када, определить и после ее изменения проверять.
Название: Re: Как программно узнать о перемещении объектов группой
Отправлено: Roman от 02-04-2025, 10:04:29
Ну, список выделенных можно просто проверить через Editor.SelectImplied, при перетаскивании меняется какая-то системная переменная, судя по командной строке када, определить и после ее изменения проверять.
Да, через SelectImplied и определяю. Но, к сожалению, какая именно переменная меняется при обычном драге, я так и не вижу. Командная строка выплёвывает перенос строки и всё)
Название: Re: Как программно узнать о перемещении объектов группой
Отправлено: Александр Ривилис от 03-04-2025, 01:22:19
Тут не системная переменная, а реактор (событие). Воспользуйся MGDDBG или ARXDBG для отслеживания.