pyvista/pymeshfix

Python Wrapper for MeshFix: easily repair holes in surface meshes

解决的问题

PyMeshFix 可以纠正原始数字化 3D 网格模型中的常见缺陷,例如孔洞、自相交、奇异点和退化元素。它以多边形网格作为输入,生成一个干净、封闭的三角网格来包围实体对象,同时保持无缺陷区域不变。

工作原理

它使用 Cython 封装了 C++ MeshFix 库 (v2.1),将 C++ 的速度与 Python 的易用性相结合。输入可以作为文件提供,也可以作为顶点和面的 numpy 数组提供。修复过程可以通过高级接口 (MeshFix 类) 或低级 Cython 封装 (PyTMesh) 运行,后者可以更精细地控制填充小边界、连接邻近组件和清理自相交等步骤。输出可以保存到文件或作为数组返回,并可选择使用 PyVista 进行可视化。

适用人群

从事多边形网格工作的开发人员和研究人员,特别是处理原始扫描或数字化 3D 数据的人员。对于任何需要封闭、防水网格进行后续处理、分析或 3D 打印的人来说,它都非常有用。可选的 PyVista 集成使其对于想要绘图和基于 VTK 工作流的 Python 用户来说非常方便。

亮点

  • 通过 pip 轻松安装,将 C++ MeshFix 的速度带入 Python。
  • 支持基于文件和基于内存的 numpy 数组修复。
  • 提供两个使用级别:高级 MeshFix 类和用于精细控制的低级 PyTMesh 封装。
  • 包含示例和可选的 PyVista 集成,用于直接绘图和网格加载。
  • 基于屡获殊荣的 MeshFix 算法,并包含多项易用性改进。

相关

  • 项目
  • 项目
  • 项目
  • 项目