Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: andy_pu от 29-04-2015, 13:38:06
-
Добрый день, уважаемые коллеги!
Подскажите, пожалуйста, возможно ли при пользовательском запросе расстояния (GetDistance) или числа двойной точности(GetDouble) ограничить перемещение мыши вектором? Как при включенном режиме "Орто", но только по одной из осей?
Спасибо!
-
Перемещение мыши - это вряд ли. А вот отрисовывать, например, резиновую линию - это можно.
-
возможно ли
Да. Это возможно. Средствами ObjectARX проще, но и при помощи .NET можно.
-
Спасибо за ответы, наверное я неправильно выразился. Курсор двигается как хочет, но точка выбора двигается только по одной из осей. Как, например, когда нажимаешь на одну из осей Гизмо, объект передвигается только по этой оси. Вот нужно чтобы дистанция от базовой точки высчитывалась только по одному вектору
-
Вот нужно чтобы дистанция от базовой точки высчитывалась только по одному вектору
А вот так (насколько я знаю) нельзя. Ты должен вместо GetDistance в этом случае использовать GetPoint и находить итоговое расстояние с проекцией на вектор (ось). С GetDouble понятно что ты такого не получишь никак. Вообще-то он от тебя число требует.
А вот с мышью можно:
Как реализовать Windows хук с использованием acedRegisterFilterWinMsg в .NET (http://adn-cis.org/kak-realizovat-windows-xuk-s-ispolzovaniem-acedregisterfilterwinmsg-v-.net.html)
-
Спасибо, Александр, как всегда в точку и исчерпывающе!
-
Пожалуйста. Хук будешь делать?
-
попробую варианты, которые Вы предложили, и с проекцией, и с хуком - практика покажет, который подойдёт лучше