b31ca7f650
- CMakeLists.txt: CMAKE_CXX_STANDARD 17 → 20 - Add target_compile_features(cxx_std_20) - Remove obsolete CUDA/ONNX/TensorRT options - README: update C++ badges to C++20 Build verified: 0 errors with GCC 11.4 C++20
3.0 KiB
3.0 KiB
ViewDesignEngine — 高性能 CAD 几何引擎
C++20 全栈 B-Rep 几何内核。对标 Parasolid/ACIS,覆盖曲面建模、网格处理、格式交换、CAM 制造、工程图、装配体。
快速开始
# Docker 构建(推荐)
docker run --rm -v $(pwd):/ws -w /ws vde-builder:latest \
bash -c "cmake -B build && cmake --build build -j\$(nproc)"
# 运行测试
cd build && ctest --output-on-failure -E Benchmark
依赖: CMake ≥ 3.16, C++20, Eigen 3, GoogleTest(自动下载)
模块总览
| 模块 | 命名空间 | 关键能力 |
|---|---|---|
foundation |
vde::foundation |
数学类型、公差、精确谓词、STEP/IGES/XT/SAT/JT/IFC/STL/OBJ/PLY/GLTF/3MF |
core |
vde::core |
多边形、凸包、ICP、CAM策略(3轴/5轴)、SIMD、事务、压缩 |
curves |
vde::curves |
NURBS 曲线曲面、G0-G3连续、Sweep/Loft/Net、曲面分析 |
mesh |
vde::mesh |
半边网格、Delaunay、QEM、Marching Cubes、FEA网格、逆向工程 |
spatial |
vde::spatial |
BVH (SAH)、Octree、KD-Tree、R-Tree (STR) |
boolean |
vde::boolean |
2D/3D布尔、SSI面-面求交 |
collision |
vde::collision |
GJK/EPA、SAT、Möller-Trumbore |
brep |
vde::brep |
B-Rep拓扑、SSI布尔、直接建模、装配、工程图、PMI/GD&T |
sdf |
vde::sdf |
15+隐式图元、CSG树、可微分几何、SDF→Mesh |
sketch |
vde::sketch |
2D草图约束求解 |
capi |
vde::capi |
C API 跨语言互操作 |
格式支持
| 格式 | 导入 | 导出 | 说明 |
|---|---|---|---|
| STEP (AP203/214/242) | ✅ | ✅ | 工业 CAD 交换标准 |
| IGES (5.3) | ✅ | ✅ | 传统制造业格式 |
| Parasolid XT | ✅ | ✅ | Siemens 原生格式 |
| ACIS SAT/SAB | ✅ | ✅ | Dassault 原生格式 |
| JT (ISO 14306) | ✅ | ✅ | 轻量化可视化格式 |
| IFC | ✅ | — | BIM 建筑信息模型 |
| glTF 2.0 / GLB | ✅ | ✅ | 实时 3D / Web |
| STL / OBJ / PLY | ✅ | ✅ | 通用网格 / 3D打印 |
| 3MF | ✅ | ✅ | 3D 打印标准 |
测试
| 类别 | 状态 |
|---|---|
| 核心回归测试(退化/极端/薄壁/大面数) | ✅ |
| 模糊测试(SDF/布尔/格式往返+持续模式) | ✅ |
| 性能基准(布尔/MC/IO) | ✅ |
| CI/CD (GitHub Actions) | ✅ |
文档
许可证
Apache License 2.0 — 详见 LICENSE