一、Windows下编译Tetgen
Tetgen官网:WIAS-Software
官网下载不了,但可以下载用户手册。
我使用的环境win10+visual studio 2019
1. 新建C++控制台项目,并命名为“tetgen”
2. 添加源码文件(tetgen.h, tetgen.cxx, 和 predicates.cxx)到工程
3. 生成工程,我生成的是x86+release(其他的应该也行)
注意这里直接生成会有两种报错:
报错1:
报错2:
对于报错1:项目属性->配置属性->C/C++->命令行,其他选项中,输入:
/D"_CRT_SECURE_NO_WARNINGS" 注意引号中无空格
对于报错2:项目属性->配置属性->C/C++->常规->SDL检查,选测是或者否。
4. 编译成功
5. 为了方便再命令行中使用tetgen命令,我把它加到系统的环境变量了,否则每次都要转到tetgen.exe目录下很麻烦
二、 使用Tetgen将mesh生成四面体网格
我的三角网格模型是.obj格式,tetgen不支持。因此,首先将.obj的模型转换成.ply或者.stl格式(可以用Blender)。
接着就可以在命令行中输入命令:
tetgen -p xxx.ply
就可以生成tetgen格式的文件了,分别是.node,.ele,.face,.edge和.smesh
如果对生成的四面体网格质量有要求(对应官方文档的4.2.3 Quality mesh generation),则需要使用-q命令,例如:
tetgen -pq thepart.smesh
tetgen -pq1.4/0 thepart.smesh
关于文件和命令的介绍,可参考官方文档或博客:
Tetgen软件学习和使用_VincentFu2017的博客-CSDN博客
如果想可视化,可以使用Tetview,下载地址:TetView: A Tetrahedral Mesh and Piecewise Linear Complex Viewer
注意:tetview-win.exe的路径不能有中文
参考:【疑难杂症系列】API编译报C4996'strncpy'...To disable deprecation, use _CRT_ - 哔哩哔哩