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

ADN Club => AutoCAD .NET API => Тема начата: avc от 15-09-2024, 09:39:11

Название: Как выбрать вид ModelDoc (объект типа ViewBorder)?
Отправлено: avc от 15-09-2024, 09:39:11
Я придумываю способ как получить список объектов внутри вида ModelDoc. Но я даже не могу отладить код - никаким способом я не могу выбрать объект ViewBorder в чертеже. Метод Editor.SelectImplied возвращает статус ошибки, когда вид выбран до вызова команды. метод GetSelection так же возвращает ошибку или пишет, что 1 объект отфильтрован и требует выбрать заново. Причем, я даже попытался создать фильтр выбора для объектов VIEWBORDER. Это не помогает.
При этом, если я вызываю SelectImplied по событию Idle, то я получаю статус OK и идентификатор вида, нет проблем. То есть проблема возникает только внутри методов, помеченных как CommandMethod.
Кто-нибудь знает как обойти это странное ограничение? Возможно есть какой-то тайный недокументированный флаг для CommandFlags?
Название: Re: Как выбрать вид ModelDoc (объект типа ViewBorder)?
Отправлено: Привалов Дмитрий от 17-09-2024, 15:13:16
Я придумываю способ как получить список объектов внутри вида ModelDoc.

Возможно, нужно использовать события, например Editor.SelectionAdded.
Возможно не Editor нужно использовать, а другой объект View, ViewBorder, Viewport ... .
Название: Re: Как выбрать вид ModelDoc (объект типа ViewBorder)?
Отправлено: avc от 17-09-2024, 15:28:25
Пока решил проблему путем запроса точки, а не объекта. Дальше уже по точке не проблема найти ViewBorder. Но можно попробовать и SelectionAdded.
Но это не решает проблему предварительного выбора ViewBorder до вызова моей команды. Тоже конечно можно перехватывать события. Но как-то это через чур сложно получается. Я-то искал пути чтоб штатные функции перестали блокировать выбор ViewBorder ...