Извлечение 2D-поверхности из 3D-модели STEP

Я пытаюсь найти хороший способ программной генерации контуров, описывающих 2D-поверхность, из 3D-модели STEP. Приложение генерирует код УП для программы лазерной резки из 3D-модели.

Примечание: это достаточно просто сделать в самых разных системах CAD. Я пишу программу, которая должна делать это автоматически.

Например, это (модель STEP):

3D-модель статора

Должен стать таким (векторный файл, такой как SVG или DXF):

Чертеж статора двигателя в формате DXF

Возможно, наиболее очевидный способ решения проблемы - это проанализировать модель STEP и запустить какой-то алгоритм для обнаружения плоскостей и выбора самой большой поверхности в качестве поверхности среза, а затем создания контура. Непростая задача!

Я также рассмотрел возможность использования существующего SDK для рендеринга модели с помощью ортогональной камеры, захвата изображения с высоким разрешением, а затем работы с ним для создания соответствующих контуров. Этот метод будет работать, но он будет загружать процессор, а его точность будет ограничена разрешением пикселей визуализированного изображения - не идеально.

Возможно, это маловероятно, но есть ли у кого-нибудь мысли по этому поводу? Ваше здоровье!


person Caleb Chamberlain    schedule 09.12.2018    source источник


Ответы (1)


Я бы использовал библиотеку САПР для загрузки файла STEP (а не САПР API), ищу плоскую грань с большим количеством краевых кривых в контуре грани и транспонирую их на плоскость XY. После этого найти минимальное / максимальное значение 2D-геометрии для центрирования и т. Д. Будет довольно просто.

В зависимости от языка программирования, который вы используете, я бы поискал в Google по запросу «CAD control» или «CAD component», комбинируя его с «STEP import».

person abenci    schedule 12.12.2018