You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
|
2 weeks ago
|
# OCCTMeshless
|
||
|
|
|
||
|
|
基于 OpenCASCADE 的无网格法(Meshless Method)离散化工具。从 CAD 模型(B-Rep)出发,直接在边界和内部生成离散节点,无需传统网格划分。
|
||
|
|
|
||
|
|
## 功能
|
||
|
|
|
||
|
|
- 从 OpenCASCADE B-Rep 模型读取几何
|
||
|
|
- 边界自适应离散化(discretizeBoundaryWithStep)
|
||
|
|
- 内部节点填充(FillInterior)
|
||
|
|
- KDTree 空间搜索与包含检测
|
||
|
|
- 离散结果 VTK 输出
|
||
|
|
|
||
|
|
## 依赖
|
||
|
|
|
||
|
|
- **OpenCASCADE 7.x+**:CAD 几何引擎
|
||
|
|
- **Eigen3**:线性代数
|
||
|
|
- **Visual Studio**(Windows)/ GCC(Linux)
|
||
|
|
- **nanoflann**:KDTree 实现(内置)
|
||
|
|
|
||
|
|
## 编译(Windows)
|
||
|
|
|
||
|
|
```shell
|
||
|
|
mkdir build && cd build
|
||
|
|
cmake -G "Visual Studio 17 2022" ..
|
||
|
|
```
|
||
|
|
|
||
|
|
需设置 `CMAKE_PREFIX_PATH` 指向 OpenCASCADE 安装目录。
|
||
|
|
|
||
|
|
## 目录结构
|
||
|
|
|
||
|
|
```
|
||
|
|
.
|
||
|
|
├── include/
|
||
|
|
│ ├── OccShape.hpp # OpenCASCADE 几何封装
|
||
|
|
│ ├── OccHelper.hpp # OpenCASCADE 辅助函数
|
||
|
|
│ ├── DomainDiscretization.hpp # 域离散化
|
||
|
|
│ ├── FillBoundary.hpp # 边界填点
|
||
|
|
│ ├── FillInterior.hpp # 内部填点
|
||
|
|
│ ├── KDTree.hpp # KDTree 空间索引
|
||
|
|
│ ├── PointCloud.hpp # 点云数据
|
||
|
|
│ └── writeVTK.hpp # VTK 输出
|
||
|
|
├── src/
|
||
|
|
│ └── main.cpp # 示例:B-Rep → 离散点
|
||
|
|
└── CMakeLists.txt
|
||
|
|
```
|
||
|
|
|
||
|
|
## 作者
|
||
|
|
|
||
|
|
李采月
|