如何在没有GUI应用程序的情况下(例如Blender,MeshLab等)在Python中固化3D STL文件

时间:2019-02-18 22:48:59

标签: python 3d stl

我正在尝试将3D STL文件的厚度固定/增加到一个研究项目中。

到目前为止,我可以在Blender中做到这一点,但是我不想在Blender中固化对象。 check out this image using solidify modifier in Blender

是否有其他方法可以在不使用GUI应用程序的情况下使用命令/ Python脚本来将厚度固化/添加到STL文件中(例如Blender,MeshLab等)?

1 个答案:

答案 0 :(得分:0)

这是一个相对容易的问题。

使用任何喜欢的方法解析STL文件(我之前已经发布了一些Python STL解析代码here,但是您也可以使用任何现有的库)。

然后,标识所有边界边缘。每个构面都有3条边线,您可以按其索引散列并计算在网格中找到每条边线的次数。边界边只会被发现一次。

对于每个三角形,进行复制,翻转并将其顶点向复制的三角形的法线方向移动一定量。

如果三角形具有任何边界边,则必须为每个边界边生成2个三角形,以连接原始三角形和复制的三角形。