我正在使用 tetgen 为我的研究生成网格。
我的模型内部有空的内部腔室。例如,一个大小为 (5,5,5) 的空框位于大小为 (10, 10, 10) 的框内。见图片:
问题是 tetgen 在空腔内产生四面体。为什么?有没有办法避免它?
我尝试使用 -YY、-q、-CC、-c 以及它们的组合,但都遇到了同样的问题,并且没有给出关于错误的见解。(http://wias-berlin.de/software/tetgen/1.5/doc/manual/manual005.html)。
我正在使用 tetgen 为我的研究生成网格。
我的模型内部有空的内部腔室。例如,一个大小为 (5,5,5) 的空框位于大小为 (10, 10, 10) 的框内。见图片:
问题是 tetgen 在空腔内产生四面体。为什么?有没有办法避免它?
我尝试使用 -YY、-q、-CC、-c 以及它们的组合,但都遇到了同样的问题,并且没有给出关于错误的见解。(http://wias-berlin.de/software/tetgen/1.5/doc/manual/manual005.html)。
我解决它的方法是创建一个.poly文件(http://wias-berlin.de/software/tetgen/fformats.poly.html)。我从.off文件 ( https://en.wikipedia.org/wiki/OFF_(file_format) )创建了一个.poly文件,我可以从OpenScad导出该文件。
.poly文件有 4 个部分,其中第 3 个部分指定对象中的孔。你需要告诉TetGen你在物体的哪里有洞。做到这一点的方法是在 hole/chamber 中指定一个点。
一个可能的 .poly 文件如下所示:
第 1 部分 - 顶点:
40 3 0 0
0 0.2 0 1
1 0.161803 0.117557 0
...
第 2 部分 - 面孔:
72 0
1
3 0 1 2
1
3 1 0 3
...
第 3 部分 - 孔 <=============== 我需要的那个
1
1 0 0 0.5 <=== this is a point, which I know is inside my hole/chamber
所以这是文件,没有任何中断,以防万一:
40 3 0 0
0 0.2 0 1
1 0.161803 0.117557 0
...
72 0
1
3 0 1 2
1
3 1 0 3
...
1
1 0 0 0.5