如何从 numpy-stl 网格中提取顶点?

sta*_*ist 6 stl numpy-stl

我正在尝试使用 numpy-stl 从 stl 模型中提取顶点以用于相干点漂移配准。你如何提取顶点?我了解如何从顶点和面列表创建网格,但不知道如何向后创建网格。

我尝试过:从顶点和面创建新的网格。导入创建的网格。

小智 5

我们来看一个长方体的 .stl 文件,长方体的长度为 100,宽度为 200,高度为 300。

from stl import mesh
import numpy as np

cuboid = mesh.Mesh.from_file("./cuboid.stl")
points = np.around(np.unique(cuboid.vectors.reshape([cuboid.vectors.size/3, 3]), axis=0),2)
print "Points are", points.tolist()
Run Code Online (Sandbox Code Playgroud)

输出:

Points are [[0.0, 0.0, 0.0], [0.0, 0.0, 300.0], [0.0, 200.0, 0.0], [0.0, 200.0, 300.0], [100.0, 0.0, 0.0], [100.0, 0.0, 300.0], [100.0, 200.0, 0.0], [100.0, 200.0, 300.0]]
Run Code Online (Sandbox Code Playgroud)

  • 您需要编辑以下内容才能工作:`int(cuboid.vectors.size/3)` (3认同)