Files
茂之钳 b31ca7f650
Build & Test / build-and-test (push) Waiting to run
Build & Test / python-bindings (push) Blocked by required conditions
CI / Build & Test (push) Failing after 37s
CI / Release Build (push) Failing after 31s
feat: upgrade to C++20 standard
- 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
2026-07-27 15:08:21 +08:00

75 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ViewDesignEngine — 高性能 CAD 几何引擎
C++20 全栈 B-Rep 几何内核。对标 Parasolid/ACIS,覆盖曲面建模、网格处理、格式交换、CAM 制造、工程图、装配体。
[![Version](https://img.shields.io/badge/version-1.0.0--beta.1-blue)](CHANGELOG.md)
[![C++](https://img.shields.io/badge/C%2B%2B-20-blue)](CMakeLists.txt)
[![License](https://img.shields.io/badge/license-Apache%202.0-green)](LICENSE)
[![Build](https://img.shields.io/badge/build-0%20errors-brightgreen)]()
[![Tests](https://img.shields.io/badge/tests-1000%2B-brightgreen)](tests/)
[![Modules](https://img.shields.io/badge/modules-11-blue)](include/vde/)
## 快速开始
```bash
# 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) | ✅ |
## 文档
- [版本管理规范](docs/VERSIONING.md)
- [竞品深度分析](docs/27-竞品分析.md)
- [严谨差距分析](docs/30-严谨差距分析.md)
- [曲面追赶计划](docs/31-曲线曲面深度追赶计划.md)
- [CHANGELOG](CHANGELOG.md)
## 许可证
Apache License 2.0 — 详见 [LICENSE](LICENSE)