1

使用 Python 中的 Trimesh 模块,我可以从 STL 文件中获取 2D 横截面,代码如下所示。

mesh = trimesh.load_mesh('MyFile.stl')
slicex = mesh.section(plane_origin=mesh.centroid, plane_normal=[0,30,0])
slice_2D, to_3D = slice.to_planar()

使用从上述代码获得的 2D 路径 (Slice_2D),我可以将其中的多边形作为 NumPy 数组获取,并使用以下代码对其进行迭代:

for polygon in slice_2D.polygons_closed:
    trimesh.path.polygons.plot_polygon(polygon, show=True)

上面的代码在控制台上显示了多边形。但是,我想知道是否有办法获取多边形的属性,例如:多边形中的边数;多边形的周长和面积;多边形的类型(三角形或正方形或矩形或平行四边形或圆形等)。

在这方面的任何帮助将不胜感激!

4

1 回答 1

1

属性“polygons_closed”返回一个形状优美的多边形数组。所以得到即。该地区,使用:

for polygon in slice_2D.polygons_closed:
    trimesh.path.polygons.plot_polygon(polygon, show=True)
    print(polygon.area)
于 2020-06-24T12:58:56.683 回答