Intersection 3D meshes python

孤者浪人 提交于 2021-02-07 13:23:41

问题


I just started to work with 3D meshes, oriented to be used for finite element analysis. I would like to model inclusions for materials (any shape, but mainly interested in spheres and ellipsoids) in a cube-like matrix. These inclusions shouldn't be coincident with each other.

So I was thinking to use some sort of package for python which can plot primitive objects, look for their intersection (if it exists) and export the geometry (or mesh it and export it). In case of spheres, I was coding my own solution, but I think it will be very difficult to expand it for any other shape than spheres.

After a couple of days looking for an appropriate library/module, I can't decide which one I should use.

I would like to use python as the main language since it is easy, open source and I already know a bit. Hence checked this link: Good geometry library in python?

But:

  • SymPy. It seems it is only for 2D objects.
  • pyeuclid. Looks discontinued in its google code page.
  • CGAL. It seems the most advanced, but I can't find if it does intersections.
  • geometry-simple. Also discontinued, and I believe it does not handle 3D objects.
  • pythonocc. The lack of documentation is an important issue here.
  • Open mesh. It seems a good alternative but I can't see if it does intersections.

I might be missing some features or libraries. Sorry about it.

If it is really necessary and useful, I could try to use C++ which it seems has more libraries for geometry as stated in here, here and here. Also, I think I should mention I work mainly on Windows 10, and my experience with Linux is little but I could challenge myself.

To summarize my question: Is there any good library in python (if possible) which can find intersections between 3D objects? Am I missing any feature or library I should know? I would appreciate a lot any suggestion in the right direction.

Thank very much in advance!


回答1:


You might want to check out pygalmesh (out of my zoo). It interfaces CGAL and as such uses level-set functions for mesh construction. All domain combinations (intersections, unions, differences) are implemented.



来源:https://stackoverflow.com/questions/51476722/intersection-3d-meshes-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!