Тема: Как получить вектор с привязкой до клика?

При выполнении moveGripPointsAt Я получаю двухмерный(одна из координат = 0) вектор offset, не смотря на то, что у меня включены привязки. И только после клика, Я получаю вектор с обработанной привязкой.
Кто-нибудь знает, как получить вектор с привязкой до клика?

Re: Как получить вектор с привязкой до клика?

Теоретически это возможно:
1) Вычисляешь (имея вектор offset) точку p1, в которой находится курсор.
2) Вычисляешь заданные привязки (OSMODE).
3) Используя acedOsnap() вычисляешь точку p2 с учетом привязок.
4) Вычисляешь вектор.
Только это скорее всего будет тормозить да и не очень понятно зачем это нужно.

Re: Как получить вектор с привязкой до клика?

Например, есть Труба, на Трубе находится Арматура. Я могу таскать Арматуру вдоль Трубы(выставляю ПСК вдоль Трубы и получаю проекцию новой точки на Трубу), а могу захотеть перетащить ее на Др. Трубу. Т.е. в moveGripPointsAt мне нужно получить точку, принадлежащую Др.Трубе. А Др. Труба может лежать в др. плоскости или быть на столько тонкой, что без привязок в нее не попадешь … Конечно, после клика все сработает, но это как-то не хорошо ((
Нужна проОСНАПпенная точка!
Или можно по другому?

Re: Как получить вектор с привязкой до клика?

> &AnD&
Ну как получить "прооснапенную" точку я уже написал. Только представь себе, что у тебя при попадании курсора на точку привязки другого примитива вдруг твоя труба начнет прыгать туда-сюда. Сразу в глазах начнет рябить...

Re: Как получить вектор с привязкой до клика?

Есть еще один вариант (я его не проверял, но теоретически должен работать). Использовать вариант  moveGripPointsAt с AcDbGripData. Там зарегистрировать (при помощи AcDbGripData::setInputPointFunc()) собственный обработчик, в котором можно получить "проОСНАПпенную" точку.

Re: Как получить вектор с привязкой до клика?

AcDbGripData::setInputPointFunc() - это и есть решение!
Спасибо!

Re: Как получить вектор с привязкой до клика?

> &AnD&
Пожалуйста :)