薄壁物体表面网格的四面体化

时间:2014-04-04 18:54:00

标签: mesh triangulation point-cloud-library finite-element-analysis meshlab

我需要生成一个薄壁物体对象的四面体(体积)网格。想象一下像瓶子或塑料碗等物体,这些物体大多是空心的。 FEM模拟需要体积网格。物体外表面的表面网格可通过测量获得,例如使用例如octomap或KinectFusion。因此顶点间距相对规则。由于壁厚是已知的,因此可以通过移动内部的所有点从外表面计算物体的内表面。

到目前为止,我已经考虑过以下方法:

  1. 创建3D Delaunay三角剖分(会破坏现有的曲面网格),然后移除不在两个原始曲面之间的所有四面体。对于此检查,可能需要创建2个曲面的隐式曲面表示。

  2. 创建3D Delaunay三角剖分并使用Alphashapes移除“内部”(在空心空间中)或“外部”(外部表面)的四面体。

  3. 关闭外部和内部网格,并将它们分别装入tetgen作为外壳和孔。

  4. 这些方法对我来说似乎有点不优雅,但它们仍有一些陷阱。我可能需要几个库/工具。对于1和2,可能仍然需要tetgen或另一个FEM网格划分工具来创建条件良好的四面体。有没有人有更直接的解决方案?我想这也应该是3D打印中的常见问题。

    关于工具/库,到目前为止我已经研究过PCL,meshlab和tetgen。他们似乎只做了部分工作。理想情况下,我只想使用开源库并避免需要手动干预的工具。

2 个答案:

答案 0 :(得分:0)

一种方法是:

  • 创建表面点的三角形网格,
  • 将该表面拉伸(移动)到给定厚度的内部。这会产生墙壁的体积(三角形棱柱),
  • 每个棱镜可以分成三个四面体。

答案 1 :(得分:0)

我看到的问题是宽高比。

单层四面体不能很好地再现壳体或弯曲行为。穿过厚度的单个元件将需要大的网格。放置多个可能会破坏银行,以保持宽高比和角度可接受。

在这种情况下,我更喜欢砖或厚壳元素到四面体。我认为建模会更容易,行为也会更加忠实于物理学。