TetGen为模型中的空腔/孔生成Tets

时间:2017-11-09 19:41:30

标签: tetgen

我正在使用tetgen为我的研究生成网格。

我的模型里面有空的内腔。例如,一个尺寸为(10,10,10)的盒子内的空盒子(5,5,5)。见图片:Box chamber within a bigger box

问题是tetgen在空室内产生四面体。为什么?有没有办法避免它?

我尝试使用-YY,-q,-CC,-c及其组合,但都遇到了同样的问题,并没有提供有关错误的见解。 (http://wias-berlin.de/software/tetgen/1.5/doc/manual/manual005.html)。

1 个答案:

答案 0 :(得分:0)

我解决它的方法是创建一个 .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 哪里有洞在对象中。 这样做的方法是通过在孔/腔室中指定一个点

可能的.poly文件如下所示:

part1 - 顶点:

40 3 0 0
0 0.2 0 1 
1 0.161803 0.117557 0 
...

part2 - faces:

72 0
1
3 0 1 2
1
3 1 0 3
...

part3 - hole< ==============我需要的那个

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