ADN Club > AutoCAD .NET API
Как включить привязки во время запроса Editor.GetEntity ?
avc:
Запрос GetEntity позволяет получить не только объект чертежа, но и точку по которой кликнул пользователь. Однако точно указать нужную точку на объекте очень сложно, потому что Автокад зачем-то принудительно отключает привязки во время запроса. Можно вручную вызвать некоторые привязки, но это очень неудобно и не все они включаются. Можно ли как-то исправить этот баг и заставить Автокад работать с привязками во время выбора объекта? Желательно, конечно, чтоб работали привязки только к объектам из AddAllowedClass, но это уже не так важно.
Пока приходится менять запрос на GetPoint и с большим трудом искать объект под этой точкой.
Привалов Дмитрий:
--- Цитата: avc от 20-01-2025, 13:39:47 ---Пока приходится менять запрос на GetPoint
--- Конец цитаты ---
А если в 2 действия, сперва GetEntity, затем GetPoint на выбранном объекте?
avc:
--- Цитата: Привалов Дмитрий от 21-01-2025, 00:03:11 ---А если в 2 действия
--- Конец цитаты ---
Это ж ровно в 2 раза больше кликов, да еще и по одному и тому же месту. Ужас! :)
Привалов Дмитрий:
--- Цитата: avc от 21-01-2025, 12:24:46 ---ков, да еще и по одному и тому же месту. Ужас!
--- Конец цитаты ---
Если не часто кликать то норм.
--- Цитата: avc от 20-01-2025, 13:39:47 ---Пока приходится менять запрос на GetPoint и с большим трудом искать объект под этой точкой.
--- Конец цитаты ---
Я использовал нечто подобное в цивил. Пользователь, методом GetPoint указывал точку, если точка попадала на точку CoGo, то вызывалось редактирование, если не попал, то создание новой точки CoGo. Попадание на точку проверял по расстоянию между указанной точкой и всеми точками Cogo. Минимальное расстояние, для определения попадания, подобрал опытным путем и вывел в настройки.
avc:
--- Цитата: Привалов Дмитрий от 21-01-2025, 13:39:17 --- Пользователь, методом GetPoint указывал точку, если точка попадала на точку CoGo, то вызывалось редактирование
--- Конец цитаты ---
Я так и сделал - поиск пересечения линии вида через эту точку со всеми объектами чертежа. Приходится как-то извращаться, ограничивать количество объектов. Если в чертеже сотни тысяч объектов, то пересечение можно искать слишком долго... В общем, если б был способ в GetEntity включить привязки, это было б гораздо лучше. Но увы...
Навигация
Перейти к полной версии