AMCAX Kernel
Geometry kernel for CAD/CAE/CAM
九韶内核 1.0.0.0
载入中...
搜索中...
未找到
网格剖分

几何导入

支持导入文件 STEP 和 AMCAX::TopoShape。AMCAX::NextMesh::NMAPIModel::ImportModel 提供导入功能。

//step
const std::string cadstr ="./data/1.step";
nmapi.ImportModel(cadstr);
// Toposhape
std::string cadstr2 = ".data/1.brep";
AMCAX::TopoExplorer ex(s, AMCAX::ShapeType::Face);
AMCAX::TopoFace f1 = static_cast<const AMCAX::TopoFace&>(ex.Value());
std::vector<AMCAX::NextMesh::NMShape> shapes;
shapes.push_back(f1);
nmapi.ImportModel(shapes);
Class of model in NextMesh
定义 NMAPIModel.hpp:22
AMCAX_API void ImportModel(const std::string &filePath, const bool replace=true)
Load a cad file, only support step currently. Note: this import method does not specify any entity ta...
static AMCAX_API bool Read(TopoShape &s, std::istream &is)
Read a shape from a stream
Class of a tool for exploring the B-Rep structure
定义 TopoExplorer.hpp:14
Class of face
定义 TopoFace.hpp:12
Base class of shape, containing an underlying shape with a location and an orientation
定义 TopoShape.hpp:15

网格文件导出

支持导出的文件格式包括OBJ,VTK,FLUENT_MSH。AMCAX::NextMesh::NMMesh::Write 提供导出文件的功能。

meshapi.Write("s.vtk", AMCAX::NextMesh::OutFileType::VTK);
meshapi.Write("s.obj", AMCAX::NextMesh::OutFileType::OBJ);
meshapi.Write("s.msh", AMCAX::NextMesh::OutFileType::FLUENT_MSH);

网格剖分控制

通过设置以下剖分参数控制网格尺寸:待剖分实体维度 MeshingDim(1-3);网格单元最大最小尺寸 MaxSize/MinSize(绝对尺寸);网格增长率 GrowthRate(>=1.0);待剖分实体 Tag 序列 SelectedEntities(空值表示指定维度下的所有实体);曲率因子 CurvatureFactor(0.0-1.0);并行线程数 ThreadNum。

待剖分实体维度 (MeshingDim)

该参数定义了待剖分实体维度,表示网格划分操作在实体的哪个维度上进行。有效值为 1 ,2 ,3 。1 表示剖分线,2 表示剖分面,3 表示剖分体。

网格单元最大最小尺寸(MaxSize/MinSize)

该参数定义了网格单元的最大和最小尺寸。MaxSize 是网格单元的最大尺寸,MinSize 是网格单元的最小尺寸。通过这些尺寸,可以控制网格的精细度。MaxSize 和 MinSize 都是绝对尺寸值,影响网格的分辨率。最大尺寸控制网格单元的最大长度,最小尺寸限制了最小网格单元的大小。

网格增长率(GrowthRate)

该参数定义了网格单元尺寸的增长速率,即从一个网格单元到下一个网格单元的尺寸变化比例。需要注意的是这个参数必须大于等于 1.0。在这里我们举一个例子,比如增长率为 1.2,则表示网格的大小会以 20% 的速率增加。

待剖分实体 Tag 序列 (SelectedEntities):

该参数指定网格划分的对象实体。实体可以是模型的某些几何体、面、边或点。如果为空,则表示对所有实体进行网格划分。如果指定了实体的 Tag 序列,则只对这些特定的实体进行网格划分。

曲率因子 (CurvatureFactor)

该参数控制有曲率的区域中网格单元的精度。曲率较大的区域可以生成更精细的网格单元。范围从 0.0 到 1.0,0.0 表示不考虑曲率,网格单元大小固定;1.0 表示完全根据曲率生成网格,即曲率越大的地方网格越细。

并行线程数 (ThreadNum)

该参数定义网格划分过程中使用的并行线程数。通过增加线程数可以加速网格划分过程,尤其是在处理大规模模型时。线程数通常取决于计算机的 CPU 核心数。可以设置为 1 表示单线程,或者设置为更高的值以提高并行度。

网格剖分类型

网格剖分类型包括线网格,三角形,四面体。
建设中。

辅助工具

辅助工具包括接触面对判定,面组定义。
建设中。