将 3D 模型分解为直线和曲线

Breaking Down 3D models up to lines and curves

我正在从事一个分解 3D 模型的项目,但我完全迷路了。我希望你能帮助我。

我正在从 Autodesk BIM 获取 3D 模型,格式可以是原生或通用 CAD 格式(.stp、.igs、.x_t、.stl)。然后,我需要以某种方式“测量”最大尺寸来模拟原始 material body,它将始终具有巨大面板的形状。一旦我得到两个物体,我就会得到差异来提取我需要分析的固体;并且,在每个身体上,我需要提取面孔,然后提取每个面孔的直线或曲线。

这听起来很容易在 CAD 软件上完成,但我们的想法是自动执行此过程。我正在研究 openSCAD,但似乎只适用于建模几何体并且不能很好地处理导入的实体。我在下面的 link 中留下了一张图片,说明我需要做什么。

那么,知道我该怎么做吗?哪种语言和库可以帮助这个项目?

我可以通过几个步骤之间的几个步骤实现这种自动化:

  1. OpenSCAD 可以很好地处理差异,因此您的“提取实体”似乎是合理的

1.5 在继续之前,你必须解释你是如何“过滤掉”圆柱体的。您会手动执行此操作吗?不做就考虑分析,结果面子多

  1. 我认为 openSCAD 不会为您提供顶点数组。但是,它可以保存为 .STL,这很容易用您选择的编程语言进行解析,您必须稍微研究一下 .stl 文件结构(这听起来比实际情况要可怕得多 - 如果您打开一个 stl使用编辑器,您可能会立即意识到发生了什么)。

既然你已经解析了文件,你现在可以用高中数学来计算线了。

这不是一种简单的 GUI 方式来完成您的要求,但如果您有一些技能,您将拥有自动化,并且根据您的项目数量,这可能是值得的。

我一直在做这个项目,发现库“trimesh”可以更好地解决这个问题。试一试,节省一些时间。