Определение координат позиции курсора по щелчку мыши

Автор Тема: Определение координат позиции курсора по щелчку мыши  (Прочитано 8979 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN OPEN
  • Сообщений: 46
  • Карма: 2
Доброго здравия форумчане!

Необходимо рекурсивно получать координаты курсора, когда пользователь нажимает лев.кнопку мыши, выход из процедуры по правому клику. Смотрел методы в Editor, но как я понял там Методы только по выбору примитивов пользователем. Подскажите какой метод может это реализовать?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Необходимо рекурсивно получать координаты курсора
1. Ты не понимаешь что такое рекурсия. Видимо речь шла о циклическом запросе.
2. Что имеется в виду под координатами курсора? Это могут быть координаты в модели/листе AutoCAD или координаты курсора в Windows окне AutoCAD (они ограничены количеством пикселей этого окна)
Скорее всего тебе нужно Editor.GetPoint() - возвращает координаты точки указания в ПСК (UCS).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 46
  • Карма: 2
1. Ну да циклический вызов процедуры
2. Суть. В пространстве Модели у пользователя запрашивается указать точки (сами точки не начерчены). Пользователь кликает в Моделе в определенных местах. Необходимо считать координаты где он щелкает мышкой. Координаты пространства модели нужны.

Отмечено как Решение valtur1983 04-12-2021, 09:56:43

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Необходимо считать координаты где он щелкает мышкой. Координаты пространства модели нужны.
Тогда я был прав:
Скорее всего тебе нужно Editor.GetPoint() - возвращает координаты точки указания в ПСК (UCS).
Возможно потребуется еще и преобразование ПСК->МСК (зависит о того что ты дальше с этими точками собираешься делать).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 46
  • Карма: 2
Спасибо то что надо!

Но появилась проблема, как отработать правый щелчок мышки для выхода из цикла. При нажатии на нее не могу отловить отладчиком Status выбора (на экране появляется сообщение "Неверная точка." и прога просит указать верную точку. При нажатии Esc формируется выход (PromptStatus.Cancel). Как бы и для щелчка правой кнопки сформировать подобный статус.

Просто стандартные функции акада вроде как по умолчанию воспринимают правый щелчок как останов процедуры.

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

  • ADN OPEN
  • Сообщений: 46
  • Карма: 2
Разобрался,

Надо использовать AllowNone=true в классе PromptPointOptions