Тема: определить координаты
Хочется в пространстве листа по координатам полученным с помощью acedGetPoint - получить и координаты выбранной точки в модели.
Ткните плиз носом в какую сторону смотерть
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → определить координаты
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Хочется в пространстве листа по координатам полученным с помощью acedGetPoint - получить и координаты выбранной точки в модели.
Ткните плиз носом в какую сторону смотерть
Это я уже попробовал, но возвращаемые координаты не соответствуют реальности:
pt - точка полученная с помощью acedGetPoint
resbuf fromRb, toRb;
ads_point newPt;
fromRb.restype = RTSHORT;
fromRb.resval.rint = 3;
toRb.restype = RTSHORT;
toRb.resval.rint = 2;
short result = acedTrans( pt, &fromRb, &toRb, FALSE, newPt);
AcGePoint3d pt2 = asPnt2d(newPt);
Может какие преобразования необходимы помимо acedTrans?
> Evgeniy
Как минимум нужно два acedTrans:
1) PSDCS->DCS
2) DCS->WCS
Попробовал (проверка ошибок опущена):
AcGePoint3d pnt;
ads_point pt,newPt;
resbuf fromRb, toRb;
short result;
int rc = acedGetPoint( NULL, szSelectPoint, pt );
fromRb.restype = RTSHORT;
fromRb.resval.rint = 3;
toRb.restype = RTSHORT;
toRb.resval.rint = 2;
result = acedTrans( pt, &fromRb, &toRb, FALSE, newPt );
pnt = asPnt3d( newPt );
acutPrintf( _T("\n%f, %f, %f\n"), pnt.x, pnt.y, pnt.z );
fromRb.restype = RTSHORT;
fromRb.resval.rint = 2;
toRb.restype = RTSHORT;
toRb.resval.rint = 0;
result = acedTrans( newPt, &fromRb, &toRb, FALSE, pt );
pnt = asPnt3d( pt );
acutPrintf( _T("\n%f, %f, %f\n"), pnt.x, pnt.y, pnt.z );
В результате второго преобразования координаты не меняются и они не совпадает с реальными координатами точки в модели :(
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → определить координаты
Форум работает на PunBB, при поддержке Informer Technologies, Inc