首页 > 解决方案 > obj 文件作为 Scene 对象而不是 Trimesh 对象加载

问题描述

我正在尝试使用 Trimesh 从 .obj 文件(来自 ShapeNet 数据集)加载网格,然后使用该repair.fix_winding(mesh)函数。

但是当我加载网格时,通过

trimesh.load('/path/to/file.obj')trimesh.load_mesh('/path/to/file.obj'),

返回的对象类为 Scene,与 不兼容repair.fix_winding(mesh),只接受 Trimesh 对象。

如何强制它加载并返回 Trimesh 对象或将 Scene 对象解析为 Trimesh 对象?或者任何其他方法来修复三角形的缠绕?

使用:

蟒蛇 3.6.5

Trimesh 3.0.14

macOS 10.14.5

标签: pythontrimesh

解决方案


load_mesh 有一个选项作为 Trimesh 构造函数传递,如文档中所述。

https://trimsh.org/trimesh.html?highlight=load_mesh#trimesh.load_mesh

这是一个示例代码

mesh= t.load_mesh('./test.stl',process=False)
mesh.is_watertight

第二行“.is_watertight”是 Trimesh 的一个属性,所以如果它作为 Trimesh 成功导入,您将得到 True。


推荐阅读