• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Фунция обратной связи при создании 3D-фантома

Автор IronMaxxx, 03.01.06, 18:00:08

« назад - далее »

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

IronMaxxx

Есть ли у кого-нибудь пример написания функции обратной связи
int WINAPI SELECTCALLBACKPROC (LPDISPATCH entity, LPDISPATCH info);
для процесса указания местоположения (точки) при вставке детали в сборку с использованием ksRequestInfo3D::CreatePhantom? Можно на Visual C++ или Delphi.
У меня вроде все нормально фурычит: и фантом отрисовывается, и точка определяется, и деталька вставляется... вот только вставляется не в указанную пользователем точку, а в точку пространства, в которой находился курсор во время завершения процесса указания местоположения  :~ ...

IronMaxxx

Куда ж вы так все сразу ломанулись отвечать-то? Не спешите, товарищи, по-одному! Столько сообщений, что и читать не успеваю  :-)))

Ээх, видать праздники удались...  :beer:

Gek

Дело, думается, не только в праздниках - на такой вопрос и по трезвянке мало кто ответит  :-)))
Не торопись, я про пересечение поверхностей еще 28-го спросил - пока реакция 0

KAV

В функции обратной связи можнл получить только временные соопряжения для фантома. Для того, что бы после завершения процесса деталь встала на место, надо воспользоваться методом ksDocument3D::AddMateConstraint  после процесса.

IronMaxxx

Цитата: KAV от 24.01.06, 16:41:53
В функции обратной связи можнл получить только временные соопряжения для фантома. Для того, что бы после завершения процесса деталь встала на место, надо воспользоваться методом ksDocument3D::AddMateConstraint  после процесса.

Я может чего недопонял, но при чем здесь сопряжения? Проблема в том, чтобы просто вставить деталь в точку, указанную пользователем и пока ничего не сопрягать.
Как оформлять функцию обратной связи при выборе объекта (грани, оси и пр.) я знаю. Мне нужна помощь для случая, когда пользователь ничего не выбирает, а просто указывает точку для вставки детали. Вроде все нормально работает, точка определяется, но когда жмешь завершить операцию, деталь "лепится" не в выбранную точку, а в то место, где остался курсор. Каким образом втулить ее в нужное место - не знаю  :| ...

КАВ

Надо после методов iPart.SetPlacement(iRequestInfo3D.GetPlacement);    iDocument3D.SetPartFromFile применить iPart.UpdatePlacement;         
             

IronMaxxx

Цитата: КАВ от 25.01.06, 17:43:07
Надо после методов iPart.SetPlacement(iRequestInfo3D.GetPlacement);    iDocument3D.SetPartFromFile применить iPart.UpdatePlacement;                      

:fr: Спасибо, КАВ! Заработало :).