Выделение объектов на чертеже

Автор Тема: Выделение объектов на чертеже  (Прочитано 6926 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ДаниилАвтор темы

  • ADN Club
  • Сообщений: 31
  • Карма: 2
Здравствуйте. Подскажите, каком метод позволит выделить объект на чертеже, но не HighLight().

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

Буду благодарен за помощь.

Отмечено как Решение Даниил 16-02-2015, 14:51:45

Оффлайн German

  • ADN Club
  • **
  • Сообщений: 84
  • Карма: 13
Re: Выделение объектов на чертеже
« Ответ #1 : 16-02-2015, 13:44:56 »
SetImpliedSelection()

Оффлайн ДаниилАвтор темы

  • ADN Club
  • Сообщений: 31
  • Карма: 2
Re: Выделение объектов на чертеже
« Ответ #2 : 16-02-2015, 14:00:02 »
Метод принимает на вход либо SelectionSet, либо ObjectId, т.е. я не могу передать ему, к примеру dbPoint

Оффлайн bargool

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
Re: Выделение объектов на чертеже
« Ответ #3 : 16-02-2015, 14:07:35 »
Метод принимает на вход либо SelectionSet, либо ObjectId, т.е. я не могу передать ему, к примеру dbPoint
У DBPoint есть свойство ObjectId
« Последнее редактирование: 16-02-2015, 14:28:07 от bargool »
Алексей

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Выделение объектов на чертеже
« Ответ #4 : 16-02-2015, 14:26:29 »
Данный метод не подходит в том случае, когда необходимо выделить объект типа DBPoint. Т.е. на сколько я понял, он выделяет точку, но из за ее размеров данное действие не заметно для глаз
Что ты понимаешь под термином "выделить"? Это очень существенный вопрос без ответа на который нельзя продвинутся дальше. Выделение в смысле AutoCAD - это действительно то, что даёт SetImpliedSelection, т.е. эмуляция ручного выделения примитива на экране.  HighLight - это просто подсветка. Обычно чтобы было хорошо видно нужно что-то с примитивом циклически проделать. Один из вариантов, это циклически HighLight/UnHighLight или изменение его цвета (что-то типа желтого мигания светофора).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ДаниилАвтор темы

  • ADN Club
  • Сообщений: 31
  • Карма: 2
Re: Выделение объектов на чертеже
« Ответ #5 : 16-02-2015, 14:45:10 »
Я имел ввиду скорее ручной ввод. У меня есть дерево объектов, в нем я выбираю объект и идентифицирую для пользователя с помощью выделения его на чертеже. пользовался HighLight(), но в случае с объектом "Точка" метод HighLight() не помогал, т.к. этого выделения просто не было видно.

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

Благодарю за помощь

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Выделение объектов на чертеже
« Ответ #6 : 16-02-2015, 14:48:21 »
Тогда отметь ответ German как "Решение".
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение