所以我在我的stl文件里存储了一个可爱的小型吉普车模型:

为了在我的jupyter笔记本中显示它的3D网格,我使用了以下代码段:
from stl import mesh
from mpl_toolkits import mplot3d
from matplotlib import pyplot
tgtMesh = mesh.Mesh.from_file(r'./miljeep.stl')
figure = pyplot.figure()
axes = mplot3d.Axes3D(figure)
axes.add_collection3d(mplot3d.art3d.Poly3DCollection(tgtMesh.vectors))
scale = tgtMesh.points.flatten(-1)
axes.auto_scale_xyz(scale,scale,scale)
pyplot.show()不幸的是,出现的情况是:

通过做一个简单的打印,我看到只有一个矢量数组(376,3,3)存储在网格中,而通过右边,它应该是(53184,3,3)当充分使用一个软件在线显示。
因此,这似乎是一个问题,要么是matplotlib,或者更有可能是numpy-stl?有人知道吗?
发布于 2018-06-25 08:53:23
在一个没有成效的周末之后,事实证明问题在于stl文件。
它本身并没有损坏,但是由于它之前已经使用另一个应用程序从一个实体模型转换为一个表面模型,所以生成的stl文件不知何故没有被正确的格式化,使numpy-stl能够完全解析。
然后,解决方案只是使用另一个应用程序打开stl文件(例如MeshLab),然后再将其导出为stl文件。它后来被正确地展示了,万岁!
https://stackoverflow.com/questions/50983538
复制相似问题