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

ADN Club => AutoCAD .NET API => Тема начата: Даниил от 16-02-2015, 13:41:40

Название: Выделение объектов на чертеже
Отправлено: Даниил от 16-02-2015, 13:41:40
Здравствуйте. Подскажите, каком метод позволит выделить объект на чертеже, но не HighLight().

Данный метод не подходит в том случае, когда необходимо выделить объект типа DBPoint. Т.е. на сколько я понял, он выделяет точку, но из за ее размеров данное действие не заметно для глаз

Буду благодарен за помощь.
Название: Re: Выделение объектов на чертеже
Отправлено: German от 16-02-2015, 13:44:56
SetImpliedSelection()
Название: Re: Выделение объектов на чертеже
Отправлено: Даниил от 16-02-2015, 14:00:02
Метод принимает на вход либо SelectionSet, либо ObjectId, т.е. я не могу передать ему, к примеру dbPoint
Название: Re: Выделение объектов на чертеже
Отправлено: bargool от 16-02-2015, 14:07:35
Метод принимает на вход либо SelectionSet, либо ObjectId, т.е. я не могу передать ему, к примеру dbPoint
У DBPoint есть свойство ObjectId
Название: Re: Выделение объектов на чертеже
Отправлено: Александр Ривилис от 16-02-2015, 14:26:29
Данный метод не подходит в том случае, когда необходимо выделить объект типа DBPoint. Т.е. на сколько я понял, он выделяет точку, но из за ее размеров данное действие не заметно для глаз
Что ты понимаешь под термином "выделить"? Это очень существенный вопрос без ответа на который нельзя продвинутся дальше. Выделение в смысле AutoCAD - это действительно то, что даёт SetImpliedSelection, т.е. эмуляция ручного выделения примитива на экране.  HighLight - это просто подсветка. Обычно чтобы было хорошо видно нужно что-то с примитивом циклически проделать. Один из вариантов, это циклически HighLight/UnHighLight или изменение его цвета (что-то типа желтого мигания светофора).
Название: Re: Выделение объектов на чертеже
Отправлено: Даниил от 16-02-2015, 14:45:10
Я имел ввиду скорее ручной ввод. У меня есть дерево объектов, в нем я выбираю объект и идентифицирую для пользователя с помощью выделения его на чертеже. пользовался HighLight(), но в случае с объектом "Точка" метод HighLight() не помогал, т.к. этого выделения просто не было видно.

Эмуляция же ручного ввода помогла.
необходимо было создать массив ObjectId[] нужной размерности, (мне хватило [1], т.к. в дереве объектов могу выделить только один элемент) и передать ему нужный ObjectId

Благодарю за помощь
Название: Re: Выделение объектов на чертеже
Отправлено: Александр Ривилис от 16-02-2015, 14:48:21
Тогда отметь ответ German как "Решение".