问题标签 [trimesh]

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 投票
0 回答
172 浏览

xml - 用于在 urdf 文件中加载网格的文件名,干扰加载包含它的 urdf 文件

在对我的机器人执行校准后,我必须在 urdf 文件(本质上是一个 xml 文件)中查找并替换关节描述。所以我计划制作一个使用urdfpy库的python脚本。但是网格的文件名已在 urdf 文件中定义为

调用时会干扰URDF.load(filename)函数。

我加载文件的代码:

我得到的最后几行错误:

感谢任何建议,以帮助我成功加载 urdf 文件或有关我的方法的任何其他反馈。

0 投票
0 回答
84 浏览

3d - 我应该如何使用 pyvista/或其他模块制作随机 3d 对象?

我正在尝试使用 pyvista 制作随机的 3d blob 对象。首先,我编写了如下代码,

这段代码向我展示了重叠随机椭球的绘制结果。但由于生成的 p 是 pv.Plotter,而不是 pv.Polydata,所以我无法保存/平滑/编辑结果。而且我还找不到在 pv.Polydata 中生成自定义可编辑 3d 对象的方法。我应该使用哪个功能,或者还有其他方法可以实现我的目标,例如使用 trimesh?

0 投票
0 回答
42 浏览

python - 运行相同的代码但得到不同的结果

我为我的作业编写了一个代码,它对我来说很好用;但是当我的朋友尝试运行它时,Spyder 给出“ZeroDivisionError:浮点除以零”。

当我运行代码时,我得到了总时间值。但是我的朋友得到了 ZeroDivisionError。当我们检查时,我们在 all_coords 和 pos_coords 上得到不同的点。可能是什么原因?

0 投票
0 回答
244 浏览

python - 如何将平滑应用于网格的特定区域

我正在使用 Trimesh 在 python 中工作。我有一个变形人体的网格,我想在其上应用平滑操作,但仅限于它的特定区域,比如脖子周围的区域。

到目前为止,使用未变形的基体模型网格,我已经使用 RoI 的 MeshLab 提取了一个子网格,我想对我使用的任何给定网格应用平滑,然后加载变形网格和我的python代码中的基本子网格,我在它们之间执行映射以找到彼此对应的顶点ID:

dist, vertex_ids = trimesh.proximity.ProximityQuery(deformed_mesh).vertex(base_submesh.vertices)

由此我可以使用以下方法渲染变形网格的 RoI:

mesh_to_smooth = trimesh.Trimesh(deformed_mesh.vertices[vertex_ids], base_submesh.faces)

该子网格上的平滑操作效果很好: trimesh.smoothing.filter_laplacian(mesh_to_smooth)

我现在的问题是我不知道如何将变形网格的平滑 RoI 替换回其中。

提前感谢您的任何提示。

0 投票
1 回答
593 浏览

python - 切片网格与修剪

我处理一个大的 .stl 文件,我想使用边界框将其切割成碎片。为此,我使用trimeshpython 包来加载 .stl。

这是用于生成边界框的代码:

所以我得到了回报:

这意味着盒子的重心在 (0, 0, 0)

然后我打算用slice_plane function. 但是,我想更改边界框的质心位置或构面的位置。

如何使用 trimesh 来完成?还是另一个 Python 包?

在此先感谢您的帮助 !

约阿希姆

0 投票
1 回答
411 浏览

python - 在 python 上使用 trimesh 库时出错 - “没有可用的图形引擎”

我想知道您是否在 python 中使用过库“trimesh”。它看起来非常有用,但现在我在附加代码的最后一行的方法“Trimesh.spli()”上遇到了一些问题。该代码在该行之前运行良好,假设返回一个 trimesh 对象列表。

但是,当我尝试运行此代码时,我收到错误ImportError:没有可用的图形引擎! 你知道如何设置图形引擎吗?或者如果这个问题有任何转变?感谢您的支持,问候

0 投票
0 回答
150 浏览

python - Trimesh 错误:trimesh.boolean.difference 导致 subprocess.CalledProcessError

我在 for 循环中运行以下代码,只是为了测试它:

其中 cube 是一个水密立方体的网格,函数是随机生成一个 plane_normal 和一个 plane_origin:

我在 for 循环中的随机点得到的错误如下:

回溯(最近一次通话最后):

有人知道为什么会这样吗?网格似乎总是不漏水的,它似乎不依赖于网格体积(但我可能是错的),它不依赖于平面的法线。

0 投票
0 回答
274 浏览

python - 在 trimesh 中保存带纹理的 GLB 文件

我正在尝试将带纹理的 OBJ 文件保存为 GLB。纹理导入很好,我可以使用 看到它mesh.show(),但是当我导出为 GLB 时,模型上不会出现纹理。我在 github 上看到了另一个类似的问题,它看起来好像已经实现了,但它似乎在这里不起作用。

非常感谢!!

mesh.show():

在此处输入图像描述

导出后: 在此处输入图像描述

0 投票
0 回答
314 浏览

python - Python:最快的光线到网格相交?

嘿伙计们,有没有比在 python 中使用 trimesh 更快的方法来获得光线和网格之间的交叉点?

所以现在我正在做这种方法: Stackoverflow: Python Intersections ray and mesh

我的代码片段:

但是对于很多光线来说真的很慢。有没有更快的方法?

0 投票
0 回答
54 浏览

python - Trimesh:从 Wavefront .obj 文件中获取组的名称

我正在使用 Python 库trimesh加载 Wavefront OBJ 文件:

其中file_name.obj有对象和组:

有没有办法从中检索这些名称my_mesh?我可以my_mesh.split()用来获取实际的对象和组,但我看不到如何获取它们的名称。