ADN Open CIS
Сообщество программистов Autodesk в СНГ

19/07/2013

В какой системе координат возвращает точку GetClosestPointTo() для вставки блока при помощи ObjectARX

Вопрос:

Почему координаты ближайшей точки (с использованием GetClosestPointTo()) полученной для вставки блока не соответствуют ни МСК (WCS), ни ПСК (UCS)?

Ответ:

Точки получаются относительно системы координат AcDbBlockTableRecord владельца. Если вы хотите конвертировать из системы координат AcDbBlockTableRecord, в которой находится AcDbBlockReference, вам нужно преобразовать их при помощи AcDbBlockReference::blockTransform().

Вероятно, вам придется сначала преобразовать «указанную точку» при помощи инвертированной AcDbBlockReference::blockTransform(), далее выполнить вычисление ближайшей точки, а затем конвертировать результат обратно в исходное пространство.

Источник: http://adndevblog.typepad.com/autocad/2013/01/getclosestpointto-on-a-blockreference-returns-which-coordinate-system-in-autocad-using-objectarx.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=133.0

Опубликовано 19.07.2013
Отредактировано 04.08.2013 в 17:08:15