问题标签 [pymeshlab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
202 浏览

meshlab - 如何通过 pymeshlab 查找顶点和面数

我是 pymeshlab 的新手,正在尝试使用此工具进行一些批处理。我的问题是如何使用 pymeshlab 来查找网格的总顶点和面数?

0 投票
1 回答
810 浏览

meshlab - 如何使用 PyMeshLab 将顶点数减少到一定数量

我有一批三角形网格,每个都有不同的顶点和面。我想将所有网格的顶点数减少到相同的数字,10000。

我知道我可以使用simplification_quadric_edge_collapse_decimation来减少面数,这意味着顶点数将相应减少。但问题是我必须多次使用该方法才能将顶点数精确到 10000。

因此,我想知道是否有另一种方法可以直接将顶点数减少到10000?

0 投票
2 回答
384 浏览

meshlab - 如何在 pymeshlab 中获取边界框信息?

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

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

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

0 投票
1 回答
259 浏览

meshlab - 网格导出无法构建可读的层文件

我写了一个小脚本,它的任务是加载网格(层),然后应用一些过滤器,最后将整个东西导出为层。

到现在为止还挺好。但是生成的 ply 文件无法读取。如果我尝试在 MeshLab 中打开它,它会显示:“面超过 3 个顶点”

这是涉及 pymeshlab 的代码部分(已清理):

我错过了什么?执行此脚本实际上没有错误消息。我还尝试为保存过滤器使用一些参数,但它没有改变任何东西。

我怎样才能正确?

0 投票
1 回答
556 浏览

python - 如何将txt文件中的3D点坐标导入python中的pymeshlab

我是这个地区的新手。我有一个存储在 txt 文件中的 3D 点(xyz 坐标)列表。我想使用这些点查找/构建网格/曲面。我知道 meshlab 表面重建功能对此有帮助。我很想使用 pymeshlab。

从文档中,该示例只是将一个 obj 文件加载到 Meshset 类。我用谷歌搜索这些类型的文件通常是从一些 3D 模型软件生成的。我从谷歌 ARcore 获得的数据以 txt 格式手动保存。我想用pymeshlab在python中处理这些点,pymeshlab是否读取了txt文件?如果不是,它读取什么格式?我应该如何将我的 txt 文件转换为所需的文件?

我希望有更详细的说明。

0 投票
1 回答
460 浏览

python-3.x - 无法运行 PyMeshLab(filter_sketchfab.dll 似乎不是 Qt 插件。)

我对此完全陌生,并且努力学习 PyMeshLab 的教程(https://pymeshlab.readthedocs.io/en/latest/about.html)。

我想做的事:

  • 通过 PyMeshLab 打开一个文件(例如 xyz.ply - 点云)
  • 一些过滤动作
  • 保存过滤后的文件(例如 xyz.obj)

我的“代码”是从教程“加载网格”、“应用过滤器”和“保存网格”拼接在一起的。

导入库时已经提示警告

导入 pymeshlab ..

->

警告:无法加载以下插件:

无法加载库 C:\Users\bvis\AppData\Local\Programs\Python\Python39\lib\site-packages\pymeshlab\lib\plugins\filter_sketchfab.dll:Das angegebene Modul wurde nicht gefunden。

有任何想法吗?

谢谢

0 投票
0 回答
32 浏览

.obj - 有什么方法可以给 obj 上色吗?在python程序的numpy数组中键入对象并将人脸索引保存?

我正在做一个项目,我需要一个工具,用户必须能够为任何 .obj 对象的某些面着色。我想知道我是否可以在 Python 中使用 MeshLab 来做到这一点。我有一个物体的三角形网格。用户会给一些面孔一个颜色。我想在我的进一步应用中使用的那些面孔的索引。例如,可能的输出可能是包含此索引数组的 .txt、.csv 或 .npy 文件。有什么办法吗?

0 投票
0 回答
299 浏览

blender - 在 pymeshlab 中,如何从数组加载并直接为顶点和面添加自定义 ID

我正在使用 pymeshlab 直接从 Blender 处理网格,如下面的代码所示。

但是,我希望能够将顶点和面链接回 Blender 中的原始网格,以便在处理网格后,我可以显示与原始网格的差异。

理想情况下,我希望每个顶点和面都存储来自原始网格的 Blender ID,并将其包含在导出到 pymeshlab 和重新导入中,但我不确定如何。

这很复杂,因为在 pymeshlab 接受它们之前显然需要对所有面进行三角测量(因为通过 numpy 数组的导入限制为每个面三个顶点)。因此,我需要为三角化的面生成自定义 Blender ID。显然这是一种痛苦,任何关于将 ngons/etc 直接导入 pymeshlab 的建议也会受到重视,就好像我可以使用与原始 Blender 网格相同的 ID 那样它会简单得多。

可以根据原始导入位置关联它们 - 例如,通过在两个应用程序中使用相同的公式计算自定义属性,但这似乎不太优雅。

因此,我想知道是否有一种方法可以将一个 numpy 的 ID 数组直接加载到网格中,因为我将其复制到 pymeshlab [以及任何不必先进行三角测量的方法]。

主要代码来源是:

https://github.com/dgm3333/3d-print-toolbox-modified/blob/master/meshlab_integration.py

https://blenderartists.org/t/meshlab-accessible-direct-from-blender-python/1299022

https://pymeshlab.readthedocs.io/en/0.1.9/tutorials/import_mesh_from_arrays.html

https://pymeshlab.readthedocs.io/en/0.1.9/tutorials/user_defined_mesh_attributes.html

0 投票
1 回答
136 浏览

pyinstaller - Meshlab 脚本适用于 Python venv,但不适用于 pyinstaller

我有一个简单的 Python 脚本Mesher.py,它在命令行上采用 Windows 格式的文件名字符串,并在输入点云(.xyz 文件)上运行 MeshLab:

它在虚拟环境中从 Python 3.9.6 解释器运行良好,但是当我将它与 pyinstaller(也安装到 venv)打包以从中生成 Windows 可执行文件时,当我运行 .exe 时出现此错误命令行参数:

为什么 pymeshlab 可以很好地从 Python 中识别出我的 .xyz 文件,但当相同的脚本包含在 Windows 可执行文件中时却不能?

编辑 当我为我的 .xyz 文件使用固定文件名而不是在命令行上传递它,或者即使我使用 .ply 文件作为输入时,也会发生这种情况。我的脚本的 .exe 版本无法识别标准 MeshLab 文件类型。

0 投票
1 回答
257 浏览

python - 如何在pymeshlab中选择顶点数组?

我想从网格中删除存储在 NumPy 数组中的一些顶点。如何根据顶点索引或坐标在 pymeshlab 中选择这些顶点?谢谢!