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

ADN Club => Inventor API => Тема начата: Vladislav от 17-08-2018, 14:34:40

Название: Работа с B-Rep/Преобразование координат
Отправлено: Vladislav от 17-08-2018, 14:34:40
Здравствуйте. Разрабатываю конвертер графики из Inventor в формат своей программы. Результат отличается от ожидаемого. Он представлен во вложенном файле.
Графическое представление деталей внутри отдельных подсборок конвертируется нормально. То есть взаимное расположение деталей сохранено, а вот подсборок-нет.
Насколько я понял, детали внутри подсборки прдставлены в своей внутренней системе координат.
Как преобразовать эти внутренние координаты в глобальные (координаты сборки самого верхнего уровня)? Домножение на матрицу Transform не помогает.
Заранее благодарю за ответ.
Название: Re: Работа с B-Rep/Преобразование координат
Отправлено: mikazakov от 17-08-2018, 20:16:04
Так конечно сходу не поймешь без "причесанного" примера.
При вставки подсборки в сборку создаются дополнительные прокси-объекты, видимо там лежат нужные данные.
Поэтому, могу предположить что нужно порыться в объекте:
AssemblyComponentDefinition.Occurrences
внутренности подсборки должны быть в объекте:
SubOccurrences
и там уже смотреть
ComponentOccurrenceProxy.Transformation
Название: Re: Работа с B-Rep/Преобразование координат
Отправлено: Vladislav от 20-08-2018, 11:24:10
А матрицу Transformation нужно брать для подсборки или отдельно для каждой детали внутри подсборки?
И можно ли брать ComponentOccurence.Definition.Occurrences вместо SubOccurences, если ComponentOccurence представляет подсборку?
Спасибо.
Название: Re: Работа с B-Rep/Преобразование координат
Отправлено: mikazakov от 20-08-2018, 19:26:49
А матрицу Transformation нужно брать для подсборки или отдельно для каждой детали внутри подсборки?
А это от ваших задач зависит.
В первом приблежении: SubOccurences это экземпляр подсборки в конкретной сборке.
если деталь внутри подсборки была установлена в начало координат то объект Occurrences.Transformation всегда будет выдавать нулевую матрицу. А вот в разных сборках эта подсборка может быть установлена в разные места относительно начала координат и вот объект SubOccurences.Transformation уже дает именно матрицу смещений относительно начала координат верхней сборки.
Это все не трудно пронаблюдать на простой сборке с подсборкой.
Название: Re: Работа с B-Rep/Преобразование координат
Отправлено: Elfilagas от 12-11-2018, 09:09:29
Добрый день,
У меня похожий вопрос, но в обратную сторону. )
Пытаюсь перенести геометрию из сборки в деталь, как понимаю нужно при переносе использовать TransformBy, но какую матрицу использовать при таком переносе?
Название: Re: Работа с B-Rep/Преобразование координат
Отправлено: mikazakov от 12-11-2018, 21:48:46
Завтра на свежую голову
Название: Re: Работа с B-Rep/Преобразование координат
Отправлено: mikazakov от 13-11-2018, 07:07:00
Нужно конкретный пример в отдельном топике