我刚开始使用面向有限元分析的3D网格。我想在类似立方体的矩阵中建模材料(任何形状,但主要对球体和椭球体感兴趣)的夹杂物。这些内含物不应彼此重合。
因此,我在考虑为python使用某种程序包,该程序包可以绘制原始对象,查找它们的交集(如果存在)并导出几何体(或对其进行网格划分并导出)。对于球体,我正在编写自己的解决方案,但我认为将其扩展为除球体以外的其他形状将非常困难。
在寻找合适的库/模块几天后,我无法决定应该使用哪个库/模块。
我想使用python作为主要语言,因为它很简单,开放源代码,我已经知道了一点。因此检查了此链接: python中好的几何库?
但:
我可能会缺少某些功能或库。对不起
如果确实有必要且有用,我可以尝试使用C ++,它似乎有更多的几何库,如此处,此处和此处所述。另外,我想我应该提到我主要在Windows 10上工作,而我对Linux的经验很少,但是我可以挑战自己。
总结一下我的问题:python中是否有任何好的库(如果可能)可以找到3D对象之间的交集?我是否缺少我应该知道的功能或库?我会很高兴向正确的方向提出任何建议。
提前非常感谢!
我正在考虑使用 gmsh 来替代 Ansys 网格划分器(避免 Workbench/APDL 的网格文件类型不兼容)。
我想实现一种算法来在立方体中引入球体(稍后它将是任何类型的体积)。它们不应相互接触,因此我需要检查我要介绍的卷是否与我之前介绍的任何卷相交。
理想情况下,最好有一个检查边界的命令。我看到有一些命令,例如Boundary,PointsOf和 ,CombinedBoundary它似乎检索边界上的实体。但我不确定它们是如何工作的(文档没有解释没有边界时会发生什么)。我尝试在 GUI 中使用这些命令,但找不到它们。
其他选项(但速度较慢)是尝试交集命令(不删除任何原始卷)并检查交集后有多少卷。如果比以前多了,就有交集。但我对这个解决方案不太满意。无论如何,我需要能够计算前后的卷数,我在 gmsh 文档中没有看到类似的内容。
所以,我的问题是:是否有可能在实际执行交叉之前检测 gmsh 中的交叉?是否可以计算卷数(我想是的)?
非常感谢。亲切的问候,