1

我刚开始使用 pymeshlab 并且非常喜欢它。然而,我在一件事上遇到了麻烦。我正在尝试使用vertex_attribute_transfer过滤器,但宁愿使用世界单位而不是上限参数的百分比。我想我可以根据我想要的世界单位除以边界框 x100 的对角线长度来计算参数的正确百分比,但我无法弄清楚如何获取 MeshSet 中网格的边界框信息。

我看到该compute_geometric_measures工具应该根据文档提供边界框信息,但结果是包含与网格相关的其他信息的字典(如平均边长、面积等——这仍然是有用的信息)。我还看到有一个完整的边界框类,但我不知道如何使用它来获取 MeshSet 中特定网格的边界框信息。

有人可以提供一个获取 pymeshlab 中网格的边界框信息的示例吗?

4

2 回答 2

1

弄清楚如何获取边界框信息。对于任何想知道的人,它看起来像这样:

boundingbox =  ms.current_mesh().bounding_box()
diag = boundingbox.diagonal()
于 2021-01-18T12:48:19.550 回答
1

我将扩展 Phil Devine 给出的原始答案以给出一个完整的可执行示例。此示例读取一个网格并调用对角线()方法。

import pymeshlab as ml
ms = ml.MeshSet()
ms.load_new_mesh('input.ply')
m = ms.current_mesh()

#Build the Bounding Box and get its diagonal length
diag = m.bounding_box().diagonal()

print('Diagonal of this model:', diag)
于 2021-01-21T12:58:25.063 回答