首页 > 解决方案 > 如何从 numpy-stl 网格中提取顶点?

问题描述

我正在尝试使用 numpy-stl 从 stl 模型中提取顶点以用于连贯点漂移配准。你如何去提取顶点?我了解如何从顶点和面列表创建网格,但不了解如何倒退。

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

标签: stlnumpy-stl

解决方案


让我们拿一个长 100、宽 200、高 300 的长方体的 .stl 文件。

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()

输出:

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]]

推荐阅读