diff --git a/README.md b/README.md new file mode 100644 index 0000000..5157a26 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# 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 +``` + +## 作者 + +李采月