Incorrect coordinates

Обсуждение вопросов импорта поддерживаемых форматов
Post Reply
y.kuklin
Posts: 9
Joined: 11 May 2019, 22:50

Incorrect coordinates

Post by y.kuklin » 15 Aug 2019, 02:36

При импорте DWG в некоторых файлах неверно импортируются координаты точек. Причем вывод на экран осуществляется корректно.
Если к примеру открыть прилагаемый файл в вашей демо программе Simple Import то он открывается правильно, но если сохранить как его текст в этой же программе, то координата левого нижнего круга по Х = -5, а должна быть +5. Все остальные координаты правильные. Пока это было замечено на Circle и Arc.
Возможно это связано с тем, что файлы были созданы в новой версии DWG, которые при попытке импортировать в старой версии CAD VCL выдают ошибку "Unsupported new DWG version ID: AC1032".

Как это можно исправить?
Attachments
КМЗ таблица.rar
(112 KiB) Downloaded 629 times

support
Posts: 3271
Joined: 30 Mar 2005, 11:36
Contact:

Re: Incorrect coordinates

Post by support » 22 Aug 2019, 21:50

Здравствуйте.

В прилагаемом файле описанное Вами поведение наблюдается только на объектах Arc, которые находятся в блоках, а проблема в том, что координаты точек объекта, находящегося в блоке, в данном случае рассчитываются относительно пространства блока, а не пространства модели, в котором данный блок вставлен.

Чтобы получить координаты точки в пространстве модели для объекта в блоке, необходим пересчет координат точки с учетом матрицы вставки данного блока (TsgDXFInsert.GetMatrix). Для этих целей можно использовать функцию FPointXMat, реализованную в модуле sgFunction:

Code: Select all

function FPointXMat(const APoint: TFPoint; const AMatrix: TFMatrix): TFPoint;
Пример использования функции FPointXMat приведен здесь.

Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support

Post Reply