从 3D STEP 模型中提取 2D 表面

Extracting 2D surface from 3D STEP model

我正在尝试找出一种好方法,以编程方式从 3D STEP 模型生成描述 2D 表面的轮廓。应用程序正在从 3D 模型为激光切割程序生成 NC 代码。

注意:在各种 CAD 系统中执行此操作很容易。我正在编写需要自动执行的软件。

例如这个(STEP模型):

需要变成这个(矢量文件,如 SVG 或 DXF):

也许最明显的解决问题的方法是解析 STEP 模型和 运行 某种算法来检测平面和 select 最大的作为切割面,然后生成轮廓.任务不简单!

我还考虑过使用预先存在的 SDK,使用正交相机渲染模型,捕获高分辨率图像,然后对其进行操作以生成适当的轮廓。这种方法可行,但会 CPU-heavy,并且其精度将限于渲染图像的像素分辨率 - 不理想。

这也许是一个小概率事件,但有人对此有想法吗?干杯!

我会使用 CAD 库加载 STEP 文件(不是 CAD API),在面循环中寻找具有更多边缘曲线的平面并将它们转置到 XY 平面上.之后,找到用于居中等的 2D 几何体 min/max 将非常容易。

根据您使用的编程语言,我会在 Google 上搜索 "CAD control" 或 "CAD component" 并将其与 "STEP import".

相结合