0

使用 Python numpy-stl 包:读取 .stl 文件我们可以从三角形网格、顶点数据、法线、区域等中获取几何信息,但是我们可以访问拓扑信息、连接信息吗?我是 Python 和一切的新手……但是曾经有人问过这个问题,但没有得到任何回应。

我需要阅读三角形 stl 网格并使用 Pyvista 绘制一些元素,例如示例中的元素!

# Vertices
vertices = np.array([[0, 0, 0],
    [1, 0, 0],
    [1, 1, 0],
    [0, 1, 0],
    [0.5, 0.5, -1]])

-> 这个我可以

# mesh faces
faces = np.hstack([[4, 0, 1, 2, 3],  # square
    [3, 0, 1, 4],                    # triangle
    [3, 1, 2, 4]])                   # triangle

-> 这我不能。

是否需要定义数据结构来生成连接信息?

感谢您的阅读!

4

1 回答 1

0

这个测试给了我预期的结果:

from vedo import Mesh
vertices = [[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0.5, 0.5, -1]]
faces = [[0, 1, 2, 3], [0, 1, 4], [1, 2, 4]]
Mesh([vertices, faces]).cmap('viridis', range(3), on='cells').show()

import numpy as np 
from pyvista import PolyData
vertices = np.array(vertices)
faces = np.hstack([[4, 0, 1, 2, 3],  # square
                   [3, 0, 1, 4],     # triangle
                   [3, 1, 2, 4]])    # triangle
PolyData(vertices, faces).plot(scalars=np.arange(3))

你得到什么错误信息?

于 2020-12-10T00:33:05.840 回答