尝试在循环内运行pymesh.boolean函数时出错。我有一个带有peshesh网格和布尔联合操作的循环。该错误发生在engine.compute_union()的pymesh / boolean.py中,并导致MemoryError:std :: bad_alloc
result = pymesh.boolean(meshes[0], meshes[1], "union")
for mesh in meshes:
result = pymesh.boolean(final_mesh, mesh, "union")
从https://hub.docker.com/r/pymesh/pymesh安装的peshesh
提前感谢您的帮助!
虽然我使用CSG树来运行布尔联合,但我也遇到了同样的问题,但是我认为它执行相同的布尔操作。
就我而言,我正在对两个stl文件进行布尔运算,其中一个是20MB的怪异模型(基本上是一个有头发的人,头发没有体积,它是由许多三角形组成的2D线),我怀疑pymesh在遇到该文件时会发疯(尽管我不能肯定地说)。Docker以退出代码137
停止(这可能是docker终止进程,因为它使用了过多的内存)。
您的文件有什么异常之处吗?您正在使用什么docker映像?
可能值得在pymesh github存储库上打开一个问题。
我正在2GB RAM Debian主机上使用pymesh/pymesh:py3.7
docker映像