gmsh是一款功能强大的开源有限元网格生成工具,能够便捷地读取 STEP 格式几何文件并实现参数化网格划分。下面使用C++调用GMSH编程接口,实现从几何导入到网格生成的完整流程,最终的网格划分数据保存成matlab可读取的文件,可用于后续的有限元计算。
原模型

网格划分结果

代码
#include <vector>
#include <gmsh.h>
int main(int argc, char **argv)
{
gmsh::initialize(argc, argv);
gmsh::model::add("model");
// 1. STEP文件导入
std::vector<std::pair<int, int> > v;
try {
gmsh::model::occ::importShapes("test.step", v);
} catch(...) {
gmsh::logger::write("Could not load STEP file!");
gmsh::finalize();
return 0;
}
// 2. 强制同步几何模型
gmsh::model::occ::synchronize();
// 3. 网格参数设置
gmsh::option::setNumber("Mesh.MeshSizeMin", 0.1); // 设

最低0.47元/天 解锁文章
1072

被折叠的 条评论
为什么被折叠?



