相交3D网格物体python

时间:2018-07-23 10:32:34

标签: python intersection mesh primitive

我刚刚开始使用面向有限元分析的3D网格。我想在类似立方体的矩阵中建模材料(任何形状,但主要对球体和椭球体感兴趣)的夹杂物。这些内含物不应彼此重合。

因此,我在考虑为python使用某种程序包,该程序包可以绘制原始对象,查找它们的交集(如果存在)并导出几何体(或对其进行网格化并导出)。对于球体,我正在编写自己的解决方案,但我认为将其扩展为除球体以外的其他形状将非常困难。

在寻找合适的库/模块几天后,我无法决定应该使用哪个库/模块。

我想使用python作为主要语言,因为它很简单,开放源代码,我已经知道了一点。 因此,检查了以下链接:Good geometry library in python?

但是:

  • SymPy。似乎仅适用于2D对象。
  • pyeuclid。在其Google代码页中看起来已停产。
  • CGAL。似乎是最先进的,但我找不到它是否相交。
  • 几何简单。也已停产,我相信它不能处理3D对象。
  • pythonocc。缺少文档是这里的重要问题。
  • 打开网格。看来是个不错的选择,但我看不出它是否有交叉点。

我可能缺少某些功能或库。对不起

如果确实有必要且有用,我可以尝试使用C ++,它似乎有更多的几何库,如hereherehere中所述。 另外,我想我应该提到我主要在Windows 10上工作,而我对Linux的经验很少,但是我可以挑战自己。

总结一下我的问题:python中是否有任何好的库(如果可能)可以找到3D对象之间的交集?我是否缺少我应该知道的功能或库?我会很高兴向正确的方向提出任何建议。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可能想签出pygalmesh(在我的动物园外面)。它与CGAL接口,因此使用水平集功能进行网格构建。所有域组合(交集,并集,差异)都已实现。

enter image description here