Как ограничить пользовательский выбор вектором?

Автор Тема: Как ограничить пользовательский выбор вектором?  (Прочитано 6622 раз)

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

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

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

  • ADN Club
  • Сообщений: 34
  • Карма: 2
Добрый день, уважаемые коллеги!
Подскажите, пожалуйста, возможно ли при пользовательском запросе расстояния (GetDistance) или числа двойной точности(GetDouble) ограничить перемещение мыши вектором? Как при включенном режиме "Орто", но только по одной из осей?
Спасибо!

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Перемещение мыши - это вряд ли. А вот отрисовывать, например, резиновую линию - это можно.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
возможно ли
Да. Это возможно. Средствами ObjectARX проще, но и при помощи .NET можно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 34
  • Карма: 2
Спасибо за ответы, наверное я неправильно выразился. Курсор двигается как хочет, но точка выбора двигается только по одной из осей. Как, например, когда нажимаешь на одну из осей Гизмо, объект передвигается только по этой оси. Вот нужно чтобы дистанция от базовой точки высчитывалась только по одному вектору

Отмечено как Решение andy_pu 29-04-2015, 19:12:13

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Вот нужно чтобы дистанция от базовой точки высчитывалась только по одному вектору
А вот так (насколько я знаю) нельзя. Ты должен вместо GetDistance в этом случае использовать GetPoint и находить итоговое расстояние с проекцией на вектор (ось). С GetDouble понятно что ты такого не получишь никак. Вообще-то он от тебя число требует.

А вот с мышью можно:

Как реализовать Windows хук с использованием acedRegisterFilterWinMsg в .NET
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 34
  • Карма: 2
Спасибо, Александр, как всегда в точку и исчерпывающе!

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Пожалуйста. Хук будешь делать?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 34
  • Карма: 2
попробую варианты, которые Вы предложили, и с проекцией, и с хуком - практика покажет, который подойдёт лучше