Найти свойства полигонов из Path2D, полученных из функции.to_planar () модуля Trime sh в Python - PullRequest
0 голосов
/ 18 июня 2020

С модулем Trime sh в Python я могу получить 2D-поперечные сечения из файла STL с помощью кода, показанного ниже.

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 Path (Slice_2D ), полученный из приведенного выше кода, я могу получить в нем многоугольники как массив NumPy и перебрать его с помощью следующего кода:

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

Приведенный выше код ПОКАЗЫВАЕТ многоугольники на консоли. . Однако я хотел бы знать, есть ли способ получить свойства многоугольника, например: количество ребер в многоугольнике; Периметр и площадь многоугольника; Тип многоугольника (треугольник, квадрат, прямоугольник, параллелограмм или круг и т. Д. c.).

Любая помощь в этом отношении будет принята с благодарностью!

1 Ответ

0 голосов
/ 24 июня 2020

Свойство polygons_closed возвращает массив фигурных многоугольников. Итак, чтобы получить ie. площадь, используйте:

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