diff --git a/docs/00-开发计划.md b/docs/archive/00-开发计划.md similarity index 100% rename from docs/00-开发计划.md rename to docs/archive/00-开发计划.md diff --git a/docs/00-文档目录.md b/docs/archive/00-文档目录.md similarity index 100% rename from docs/00-文档目录.md rename to docs/archive/00-文档目录.md diff --git a/docs/01-需求分析/01-市场调研与竞品分析.md b/docs/archive/01-需求分析/01-市场调研与竞品分析.md similarity index 100% rename from docs/01-需求分析/01-市场调研与竞品分析.md rename to docs/archive/01-需求分析/01-市场调研与竞品分析.md diff --git a/docs/01-需求分析/02-需求规格说明书.md b/docs/archive/01-需求分析/02-需求规格说明书.md similarity index 100% rename from docs/01-需求分析/02-需求规格说明书.md rename to docs/archive/01-需求分析/02-需求规格说明书.md diff --git a/docs/01-需求分析/03-用例文档.md b/docs/archive/01-需求分析/03-用例文档.md similarity index 100% rename from docs/01-需求分析/03-用例文档.md rename to docs/archive/01-需求分析/03-用例文档.md diff --git a/docs/01-需求分析/04-功能差距分析.md b/docs/archive/01-需求分析/04-功能差距分析.md similarity index 100% rename from docs/01-需求分析/04-功能差距分析.md rename to docs/archive/01-需求分析/04-功能差距分析.md diff --git a/docs/01-需求分析/05-核心竞争力与差异化功能.md b/docs/archive/01-需求分析/05-核心竞争力与差异化功能.md similarity index 100% rename from docs/01-需求分析/05-核心竞争力与差异化功能.md rename to docs/archive/01-需求分析/05-核心竞争力与差异化功能.md diff --git a/docs/01-需求分析/06-精度提升方案调研.md b/docs/archive/01-需求分析/06-精度提升方案调研.md similarity index 100% rename from docs/01-需求分析/06-精度提升方案调研.md rename to docs/archive/01-需求分析/06-精度提升方案调研.md diff --git a/docs/02-概要设计/01-系统架构设计.md b/docs/archive/02-概要设计/01-系统架构设计.md similarity index 100% rename from docs/02-概要设计/01-系统架构设计.md rename to docs/archive/02-概要设计/01-系统架构设计.md diff --git a/docs/02-概要设计/02-模块划分.md b/docs/archive/02-概要设计/02-模块划分.md similarity index 100% rename from docs/02-概要设计/02-模块划分.md rename to docs/archive/02-概要设计/02-模块划分.md diff --git a/docs/02-概要设计/03-接口定义.md b/docs/archive/02-概要设计/03-接口定义.md similarity index 100% rename from docs/02-概要设计/03-接口定义.md rename to docs/archive/02-概要设计/03-接口定义.md diff --git a/docs/03-详细设计/01-数据结构设计.md b/docs/archive/03-详细设计/01-数据结构设计.md similarity index 100% rename from docs/03-详细设计/01-数据结构设计.md rename to docs/archive/03-详细设计/01-数据结构设计.md diff --git a/docs/03-详细设计/02-核心算法设计.md b/docs/archive/03-详细设计/02-核心算法设计.md similarity index 100% rename from docs/03-详细设计/02-核心算法设计.md rename to docs/archive/03-详细设计/02-核心算法设计.md diff --git a/docs/03-详细设计/03-类设计.md b/docs/archive/03-详细设计/03-类设计.md similarity index 100% rename from docs/03-详细设计/03-类设计.md rename to docs/archive/03-详细设计/03-类设计.md diff --git a/docs/04-编码实现/01-编码规范.md b/docs/archive/04-编码实现/01-编码规范.md similarity index 100% rename from docs/04-编码实现/01-编码规范.md rename to docs/archive/04-编码实现/01-编码规范.md diff --git a/docs/04-编码实现/02-目录结构.md b/docs/archive/04-编码实现/02-目录结构.md similarity index 100% rename from docs/04-编码实现/02-目录结构.md rename to docs/archive/04-编码实现/02-目录结构.md diff --git a/docs/05-测试验证/01-测试计划.md b/docs/archive/05-测试验证/01-测试计划.md similarity index 100% rename from docs/05-测试验证/01-测试计划.md rename to docs/archive/05-测试验证/01-测试计划.md diff --git a/docs/05-测试验证/02-测试用例.md b/docs/archive/05-测试验证/02-测试用例.md similarity index 100% rename from docs/05-测试验证/02-测试用例.md rename to docs/archive/05-测试验证/02-测试用例.md diff --git a/docs/06-部署维护/01-构建指南.md b/docs/archive/06-部署维护/01-构建指南.md similarity index 100% rename from docs/06-部署维护/01-构建指南.md rename to docs/archive/06-部署维护/01-构建指南.md diff --git a/docs/06-部署维护/02-API参考.md b/docs/archive/06-部署维护/02-API参考.md similarity index 100% rename from docs/06-部署维护/02-API参考.md rename to docs/archive/06-部署维护/02-API参考.md diff --git a/docs/10-v3.1-开发计划.md b/docs/archive/10-v3.1-开发计划.md similarity index 100% rename from docs/10-v3.1-开发计划.md rename to docs/archive/10-v3.1-开发计划.md diff --git a/docs/11-v3.2-开发计划.md b/docs/archive/11-v3.2-开发计划.md similarity index 100% rename from docs/11-v3.2-开发计划.md rename to docs/archive/11-v3.2-开发计划.md diff --git a/docs/12-v3.3-开发计划.md b/docs/archive/12-v3.3-开发计划.md similarity index 100% rename from docs/12-v3.3-开发计划.md rename to docs/archive/12-v3.3-开发计划.md diff --git a/docs/13-v3.4-开发计划.md b/docs/archive/13-v3.4-开发计划.md similarity index 100% rename from docs/13-v3.4-开发计划.md rename to docs/archive/13-v3.4-开发计划.md diff --git a/docs/14-v3.5-开发计划.md b/docs/archive/14-v3.5-开发计划.md similarity index 100% rename from docs/14-v3.5-开发计划.md rename to docs/archive/14-v3.5-开发计划.md diff --git a/docs/15-v3.6-开发计划.md b/docs/archive/15-v3.6-开发计划.md similarity index 100% rename from docs/15-v3.6-开发计划.md rename to docs/archive/15-v3.6-开发计划.md diff --git a/docs/16-工业CAD对齐路线图.md b/docs/archive/16-工业CAD对齐路线图.md similarity index 100% rename from docs/16-工业CAD对齐路线图.md rename to docs/archive/16-工业CAD对齐路线图.md diff --git a/docs/17-v3.8-开发计划.md b/docs/archive/17-v3.8-开发计划.md similarity index 100% rename from docs/17-v3.8-开发计划.md rename to docs/archive/17-v3.8-开发计划.md diff --git a/docs/18-v4.0-开发计划.md b/docs/archive/18-v4.0-开发计划.md similarity index 100% rename from docs/18-v4.0-开发计划.md rename to docs/archive/18-v4.0-开发计划.md diff --git a/docs/19-v4.1-开发计划.md b/docs/archive/19-v4.1-开发计划.md similarity index 100% rename from docs/19-v4.1-开发计划.md rename to docs/archive/19-v4.1-开发计划.md diff --git a/docs/20-差距分析-v4.2.md b/docs/archive/20-差距分析-v4.2.md similarity index 100% rename from docs/20-差距分析-v4.2.md rename to docs/archive/20-差距分析-v4.2.md diff --git a/docs/21-v4.3-开发计划.md b/docs/archive/21-v4.3-开发计划.md similarity index 100% rename from docs/21-v4.3-开发计划.md rename to docs/archive/21-v4.3-开发计划.md diff --git a/docs/22-v4.4-开发计划.md b/docs/archive/22-v4.4-开发计划.md similarity index 100% rename from docs/22-v4.4-开发计划.md rename to docs/archive/22-v4.4-开发计划.md diff --git a/docs/23-剩余路线图.md b/docs/archive/23-剩余路线图.md similarity index 100% rename from docs/23-剩余路线图.md rename to docs/archive/23-剩余路线图.md diff --git a/docs/24-v4.5-开发计划.md b/docs/archive/24-v4.5-开发计划.md similarity index 100% rename from docs/24-v4.5-开发计划.md rename to docs/archive/24-v4.5-开发计划.md diff --git a/docs/25-v4.6-开发计划.md b/docs/archive/25-v4.6-开发计划.md similarity index 100% rename from docs/25-v4.6-开发计划.md rename to docs/archive/25-v4.6-开发计划.md diff --git a/docs/26-v5.0-开发计划.md b/docs/archive/26-v5.0-开发计划.md similarity index 100% rename from docs/26-v5.0-开发计划.md rename to docs/archive/26-v5.0-开发计划.md diff --git a/docs/28-v5.0-补齐计划.md b/docs/archive/28-v5.0-补齐计划.md similarity index 100% rename from docs/28-v5.0-补齐计划.md rename to docs/archive/28-v5.0-补齐计划.md diff --git a/docs/29-追平最后7%计划.md b/docs/archive/29-追平最后7%计划.md similarity index 100% rename from docs/29-追平最后7%计划.md rename to docs/archive/29-追平最后7%计划.md diff --git a/docs/31-曲线曲面深度追赶计划.md b/docs/archive/31-曲线曲面深度追赶计划.md similarity index 100% rename from docs/31-曲线曲面深度追赶计划.md rename to docs/archive/31-曲线曲面深度追赶计划.md diff --git a/docs/gen_api_ref.py b/docs/archive/gen_api_ref.py similarity index 100% rename from docs/gen_api_ref.py rename to docs/archive/gen_api_ref.py diff --git a/docs/gen_api_ref_v2.py b/docs/archive/gen_api_ref_v2.py similarity index 100% rename from docs/gen_api_ref_v2.py rename to docs/archive/gen_api_ref_v2.py diff --git a/docs/mainpage.h b/docs/archive/mainpage.h similarity index 100% rename from docs/mainpage.h rename to docs/archive/mainpage.h diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000..71590ca --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,79 @@ +# 快速入门 + +> 5 分钟跑起 ViewDesignEngine + +## 1. 编译 + +```bash +# Docker(推荐,开箱即用) +docker run --rm -v $(pwd):/ws -w /ws vde-builder:latest \ + bash -c "cmake -B build && cmake --build build -j$(nproc)" + +# 本地(需要 CMake 3.16+, GCC 11+/Clang 16+, Eigen3) +cmake -B build -DCMAKE_BUILD_TYPE=Release +cmake --build build -j$(nproc) +``` + +## 2. 运行测试 + +```bash +cd build && ctest --output-on-failure -E Benchmark +``` + +## 3. 第一个程序 + +```cpp +#include +#include +#include +#include + +using namespace vde::brep; + +int main() { + // 创建两个实体 + auto box = make_box(2, 2, 2); // 2×2×2 立方体 + auto sphere = make_sphere(1.5, 32); // 半径1.5球体 + + // 布尔并集 + auto result = brep_union(box, sphere); + + // 验证结果 + auto report = validate(result); + std::cout << "Faces: " << result.num_faces() + << " Valid: " << report.valid << std::endl; + + // 导出 STEP + export_step_file(result, "output.step"); + + return 0; +} +``` + +编译运行: +```bash +g++ -std=c++17 -I include -L build/src \ + my_program.cpp -lvde_brep -lvde_curves -lvde_foundation \ + -lvde_core -o my_program +./my_program +``` + +## 4. 核心头文件速查 + +| 功能 | 头文件 | 关键 API | +|------|--------|---------| +| 创建基本体 | `vde/brep/modeling.h` | `make_box`, `make_cylinder`, `make_sphere` | +| 布尔运算 | `vde/brep/brep_boolean.h` | `brep_union`, `brep_intersection`, `brep_difference` | +| 拓扑修复 | `vde/brep/brep_heal.h` | `heal_topology`, `heal_gaps` | +| 验证 | `vde/brep/brep_validate.h` | `validate` | +| STEP 读写 | `vde/foundation/io_step.h` | `import_step_file`, `export_step_file` | +| 网格转换 | `vde/brep/brep.h` | `body.to_mesh()` | +| SDF 建模 | `vde/sdf/sdf_tree.h` | SDF 隐式曲面 | +| CAM 加工 | `vde/core/cam_strategies.h` | `roughing_toolpath`, `finishing_toolpath` | +| 装配体 | `vde/brep/assembly.h` | `Assembly`, `AssemblyNode` | + +## 5. 下一步 + +- [模块说明书](guides/module-manual.md) — 了解所有模块的能力 +- [API 使用手册](guides/api-usage.md) — 详细 API 使用示例 +- [examples/](../examples/) — 完整可运行示例 diff --git a/docs/tutorial/01-quickstart.md b/docs/guides/01-quickstart.md similarity index 100% rename from docs/tutorial/01-quickstart.md rename to docs/guides/01-quickstart.md diff --git a/docs/tutorial/02-sdf-modeling.md b/docs/guides/02-sdf-modeling.md similarity index 100% rename from docs/tutorial/02-sdf-modeling.md rename to docs/guides/02-sdf-modeling.md diff --git a/docs/tutorial/03-brep-modeling.md b/docs/guides/03-brep-modeling.md similarity index 100% rename from docs/tutorial/03-brep-modeling.md rename to docs/guides/03-brep-modeling.md diff --git a/docs/dev-guide/README.md b/docs/guides/README.md similarity index 100% rename from docs/dev-guide/README.md rename to docs/guides/README.md diff --git a/docs/dev-guide/api-overview.md b/docs/guides/api-overview.md similarity index 100% rename from docs/dev-guide/api-overview.md rename to docs/guides/api-overview.md diff --git a/docs/guides/api-usage.md b/docs/guides/api-usage.md new file mode 100644 index 0000000..7017006 --- /dev/null +++ b/docs/guides/api-usage.md @@ -0,0 +1,267 @@ +# API 使用手册 + +> 常用 API 速查与代码示例 + +## 命名约定 + +```cpp +namespace vde::brep { /* B-Rep 建模 */ } +namespace vde::curves { /* 曲线曲面 */ } +namespace vde::mesh { /* 网格处理 */ } +namespace vde::core { /* 基础类型 */ } +namespace vde::foundation { /* IO格式 */ } + +// 基础类型 +using core::Point3D; // 3D点,.x() .y() .z() +using core::Vector3D; // 3D向量,.dot() .cross() .norm() .normalized() +using core::AABB3D; // 包围盒,.min() .max() .extent() .intersects() .expand() +``` + +--- + +## B-Rep 建模 + +### 创建基本体 + +```cpp +#include +using namespace vde::brep; + +auto box = make_box(2, 3, 4); // 宽×深×高 +auto cyl = make_cylinder(1.5, 6, 32); // 半径, 高度, 分段 +auto sphere = make_sphere(2, 32, 16); // 半径, u分段, v分段 + +// 查询 +size_t n_faces = box.num_faces(); +auto bb = box.bounds(); // AABB3D +auto mesh = box.to_mesh(0.01); // HalfedgeMesh +``` + +### 布尔运算 + +```cpp +#include + +auto result_union = brep_union(a, b); +auto result_intersection = brep_intersection(a, b); +auto result_difference = brep_difference(a, b); +``` + +### 拓扑修复与验证 + +```cpp +#include +#include + +heal_topology(body); // 一站式修复 +heal_gaps(body, 1e-6); // 合并临近顶点 +heal_orientation(body); // 统一面方向 + +auto report = validate(body); // 验证 +// report.valid, report.errors, report.warnings +``` + +### 直接建模 + +```cpp +#include + +push_pull(body, face_id, 5.0); // 挤出5mm +tweak_face(body, face_id, 2.0); // 面偏移2mm +move_face(body, face_id, transform); +scale_body(body, {2, 1, 1}); // X方向放大2倍 +mirror_body(body, plane); // 镜像 +``` + +--- + +## 曲线曲面 + +### NURBS 曲面操作 + +```cpp +#include +#include +using namespace vde::curves; + +// 创建 +auto ruled = NurbsSurface::ruled(curve1, curve2); +auto rev = NurbsSurface::revolve(profile, origin, axis, M_PI); + +// 求值 +Point3D p = surf.evaluate(0.5, 0.5); +Vector3D n = surf.normal(0.5, 0.5); + +// 生成曲面 +auto swept = sweep_surface(profile, path, SweepMode::Explicit); +auto lofted = loft_surface(sections); // 放样 +auto netted = net_surface(u_curves, v_curves); // 网格面 +``` + +### 曲面编辑 + +```cpp +#include + +auto matched = match_surface(target, reference, edge, Continuity::G2); +auto edited = control_point_edit(surf, {0,0}, new_pos); +``` + +### 曲面分析 + +```cpp +#include +#include + +auto cmap = curvature_map(surf, 64, 64); // 曲率图 +auto zebra = zebra_stripe(surf, light_dir); // 斑马纹 +auto cont = surface_continuity(a, b, edge); // 连续性分析 +``` + +--- + +## 格式 IO + +### STEP/IGES + +```cpp +#include +#include + +auto body = import_step_file("input.step"); +auto body = import_step_string(step_data); +export_step_file(body, "output.step"); + +auto body = import_iges_file("input.igs"); +export_iges_file(body, "output.igs"); +``` + +### 工业格式 + +```cpp +#include +using namespace vde::io; + +auto body = import_parasolid_xt("model.x_t"); // Parasolid XT +auto body = import_acis_sat("model.sat"); // ACIS SAT +auto body = import_jt("model.jt"); // JT +auto body = import_ifc("building.ifc"); // IFC +export_jt(body, "output.jt"); +``` + +### 网格格式 + +```cpp +// STL/OBJ/PLY/glTF/3MF 均在 foundation 模块 +#include +#include + +export_stl_binary(mesh, "output.stl"); +export_gltf(mesh, "output.glb"); // glTF Binary +``` + +--- + +## CAM 加工 + +```cpp +#include +#include +using namespace vde::core; + +Tool tool{ToolType::ENDMILL, 10.0, 4, 50.0}; // 直径10mm 4刃 + +// 3轴 +auto rough = roughing_toolpath(body, tool, RoughingParams{}); +auto finish = finishing_toolpath(body, tool, FinishingParams{}); +auto drill = drilling_toolpath(points, tool, {5, 10, 15}); + +// 5轴 +auto swarf = swarf_machining(surface, tool, SwarfParams{}); +auto m5 = multi_axis_finishing(surface, tool, MultiAxisParams{}); + +// 后处理 +FanucPost post; +auto gcode = post.generate(toolpath); +``` + +--- + +## 装配体 + +```cpp +#include +#include + +Assembly assy{"robot_arm"}; +assy.root().add_part("base", make_box(10, 10, 2)); +auto* arm = assy.root().add_subassembly("arm", Transform3D::Translation(0,0,2)); +arm->add_part("link", make_cylinder(0.5, 8)); + +// 约束 +ConstraintGraph graph; +graph.add_constraint("base", "arm", ConstraintType::Coincident, ...); +solve_constraints(graph); +``` + +--- + +## 网格处理 + +```cpp +#include +#include +#include + +// 简化 +auto simplified = simplify_mesh(mesh, 0.5); // 保留50%面 + +// 平滑 +auto smoothed = laplacian_smooth(mesh, 10); + +// SDF → Mesh +auto mesh = marching_cubes(sdf_function, bounds, 64); + +// FEA网格 +auto tets = tetrahedral_mesh(body, TetraParams{}); +auto hex = mapped_hex_mesh(body, source_face, target_face); +``` + +--- + +## 点云/逆向工程 + +```cpp +#include +#include + +PointCloud cloud; +cloud.load_ply("scan.ply"); +cloud.voxel_downsample(0.5); +cloud.estimate_normals(16); + +auto mesh = point_cloud_to_mesh(cloud); +auto surf = mesh_to_nurbs_surface(mesh); +``` + +--- + +## 性能调优 + +```cpp +#include + +// 设置线程数 +set_parallel_threads(8); + +// 使用内存池 +ObjectPool pool; +auto* p = pool.acquire(); +pool.release(p); + +// 事务 +Transaction txn; +txn.begin(); +// ... 操作 ... +txn.commit(); // 或 txn.rollback(); +``` diff --git a/docs/dev-guide/architecture.md b/docs/guides/architecture.md similarity index 100% rename from docs/dev-guide/architecture.md rename to docs/guides/architecture.md diff --git a/docs/dev-guide/building.md b/docs/guides/building.md similarity index 100% rename from docs/dev-guide/building.md rename to docs/guides/building.md diff --git a/docs/dev-guide/contributing.md b/docs/guides/contributing.md similarity index 100% rename from docs/dev-guide/contributing.md rename to docs/guides/contributing.md diff --git a/docs/guides/module-manual.md b/docs/guides/module-manual.md new file mode 100644 index 0000000..025f1f7 --- /dev/null +++ b/docs/guides/module-manual.md @@ -0,0 +1,125 @@ +# 模块功能说明书 + +> ViewDesignEngine v1.0.0-beta.1 · 11 模块 + +## foundation — 基础设施 + 格式 IO + +| 文件 | 功能 | +|------|------| +| `tolerance.h/cpp` | 容差系统(全局/局部/PerFace/ToleranceChain/自适应) | +| `exact_predicates.h/cpp` | GMP精确谓词(orient2d/3d, in_sphere, point_in_polygon/polyhedron) | +| `io_step.h/cpp` | STEP AP203/214/242 导入导出 | +| `io_iges.h/cpp` | IGES 5.3 导入导出 | +| `io_obj/io_stl/io_ply.h/cpp` | OBJ/STL/PLY 网格格式 | +| `io_gltf.h/cpp` | glTF 2.0 / GLB 导出 | +| `io_3mf.h/cpp` | 3MF 3D打印格式 | +| `industrial_formats.h/cpp` | Parasolid XT/SAT/JT/IFC/PDF3D | + +## core — 几何核心 + CAM + 性能 + +| 文件 | 功能 | +|------|------| +| `polygon.h/cpp` | 多边形操作、三角剖分、凸包、简化 | +| `distance.h/cpp` | 点/线/面/体距离计算 | +| `convex_hull.h/cpp` | 2D/3D 凸包 | +| `icp.h/cpp` | 迭代最近点配准 | +| `cam_toolpath.h/cpp` | 基础CAM刀路(轮廓/型腔) | +| `cam_strategies.h/cpp` | 高级CAM(粗/精/钻+刀库+8后处理) | +| `cam_5axis.h/cpp` | 5轴加工(侧刃/3+2/机床运动学) | +| `cam_advanced.h/cpp` | 自适应/摆线/残料/清根/HSM | +| `cam_optimization.h/cpp` | 切屑减薄/恒接触/刀具寿命/进给优化 | +| `simd_vector.h` | SIMD向量(SSE/AVX/NEON自适应) | +| `concurrent_data.h/cpp` | 无锁数据结构(Queue/Stack/HashMap) | +| `transaction.h/cpp` | 事务/Command/UndoManager | +| `performance_tuning.h/cpp` | NUMA/缓存对齐/内存池集成 | +| `topology_compression.h/cpp` | B-Rep拓扑压缩/Edgebreaker | + +## curves — 曲线曲面 + +| 文件 | 功能 | +|------|------| +| `nurbs_curve.h/cpp` | NURBS曲线(求值/导数/节点操作) | +| `nurbs_surface.h/cpp` | NURBS曲面(ruled/revolve/tessellate) | +| `nurbs_operations.h/cpp` | 高级NURBS(trim/blend/offset/extrude) | +| `surface_continuity.h/cpp` | G0-G3连续性分析 | +| `surface_analysis.h/cpp` | 曲率图/斑马纹/高光线/反射线/等照度/拐点线/棋盘格 | +| `surface_extension.h/cpp` | 曲面延伸/N边填充/过渡 | +| `generative_surfaces.h/cpp` | Sweep(3模式)/Loft/Net Surface | +| `surface_editing.h/cpp` | Match Surface(G0-G3)/曲面编辑 | +| `control_point_edit.h/cpp` | 控制点编辑 | +| `curve_tools.h/cpp` | 投影/偏移/连接/螺旋线/等参线 | +| `class_a_surfacing.h/cpp` | A级曲面(G3过渡/能量最小化/曲率优化) | +| `advanced_intersection.h/cpp` | 鲁棒SSI(三阶段)/自交检测 | +| `surface_intersection.h/cpp` | 曲面-曲面/曲线-曲面求交 | +| `iga_prep.h/cpp` | IGA分析准备(节点插入/升阶/Bezier提取) | + +## mesh — 网格处理 + +| 文件 | 功能 | +|------|------| +| `halfedge_mesh.h/cpp` | 半边数据结构 | +| `delaunay_2d.h/cpp` | 2D Delaunay三角剖分 | +| `delaunay_3d.h/cpp` | 3D Delaunay四面体剖分 | +| `mesh_simplify.h/cpp` | QEM网格简化 | +| `mesh_smooth.h/cpp` | Laplacian/Taubin/HC/Bilateral平滑 | +| `mesh_boolean.h/cpp` | 网格布尔运算 | +| `mesh_quality.h/cpp` | 网格质量评估 | +| `marching_cubes.h/cpp` | Marching Cubes等值面提取 | +| `mesh_lod.h/cpp` | LOD网格生成 | +| `fea_mesh.h/cpp` | FEA网格(四面体/边界层/六面体) | +| `reverse_engineering.h/cpp` | 逆向工程(点云→网格→NURBS) | +| `point_cloud.h/cpp` | 点云处理(降采样/法线估计/滤波) | +| `visualization_quality.h/cpp` | AO/边高亮/法线可视化 | + +## spatial + boolean + collision — 空间索引与运算 + +| 文件 | 功能 | +|------|------| +| `bvh.h/cpp` | BVH (SAH构建) | +| `octree.h/cpp` | 八叉树 | +| `kd_tree.h/cpp` | KD-Tree (kNN/射线) | +| `r_tree.h/cpp` | R-Tree (STR bulk-loading) | +| `boolean_2d.h/cpp` | 2D布尔(Sutherland-Hodgman) | +| `boolean_mesh.h/cpp` | 3D网格布尔(并/交/差/对称差) | +| `gjk.h/cpp` | GJK/EPA碰撞检测 | +| `ray_intersect.h/cpp` | Möller-Trumbore射线-三角形 | + +## brep — B-Rep 核心 + +| 文件 | 功能 | +|------|------| +| `brep.h/cpp` | B-Rep数据结构(V/E/L/F/S/B + TrimmedSurface) | +| `modeling.h/cpp` | 高层建模(make_box/cylinder/sphere/extrude等) | +| `brep_boolean.h/cpp` | SSI布尔运算 | +| `brep_heal.h/cpp` | 拓扑修复(gaps/slivers/orientation/topology) | +| `brep_validate.h/cpp` | B-Rep验证 | +| `tolerant_modeling.h/cpp` | 容错建模 | +| `direct_modeling.h/cpp` | 直接建模(push_pull/tweak/move/replace/offset) | +| `ffd_deformation.h/cpp` | FFD自由变形 | +| `sheet_metal.h/cpp` | 钣金(展开/法兰/K-factor) | +| `advanced_blend.h/cpp` | 高级过渡(变半径/多面/滚动球) | +| `feature_recognition.h/cpp` | 特征识别(孔/槽/倒圆/凸台) | +| `defeature.h/cpp` | 去特征化 | +| `gdt.h/cpp` | GD&T 14种符号 | +| `auto_dimensioning.h/cpp` | 自动标注 | +| `pmi_mbd.h/cpp` | PMI/MBD 3D标注 | +| `drawing_standards.h/cpp` | ISO/ANSI/JIS制图标准 | +| `assembly.h/cpp` | 装配体 | +| `constraint_solver.h/cpp` | 3D约束求解(Newton-Raphson) | +| `interference_check.h/cpp` | 干涉检查 | +| `motion_simulation.h/cpp` | 运动仿真 | +| `explode_view.h/cpp` | 爆炸视图 | +| `assembly_lod.h/cpp` | 大装配LOD | +| `assembly_patterns.h/cpp` | 装配阵列 | +| `quality_feedback.h/cpp` | 设计规则检查/可制造性/成本/质量评分 | +| `euler_op.h/cpp` | 欧拉操作(6原语) | + +## sdf — 隐式建模 + +| 文件 | 功能 | +|------|------| +| `sdf_primitives.h/cpp` | 15+隐式图元 | +| `sdf_tree.h/cpp` | CSG树操作 | +| `sdf_to_mesh.h/cpp` | SDF→Mesh转换 | +| `sdf_optimize.h/cpp` | 梯度优化 | +| `sdf_torch.h/cpp` | Torch集成 | diff --git a/docs/dev-guide/testing.md b/docs/guides/testing.md similarity index 100% rename from docs/dev-guide/testing.md rename to docs/guides/testing.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..9a7bb27 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,59 @@ +# ViewDesignEngine 文档 + +> v1.0.0-beta.1 · C++17 B-Rep 几何引擎 · Apache 2.0 + +## 快速导航 + +| 你想做什么? | 去看 | +|-------------|------| +| 快速上手编译运行 | [快速入门](getting-started.md) | +| 了解每个模块能做什么 | [模块说明书](guides/module-manual.md) | +| 学习如何使用 API | [API 使用手册](guides/api-usage.md) | +| 查看代码示例 | [教程](guides/) + [examples/](../examples/) | +| 了解架构和贡献 | [架构概览](guides/architecture.md) · [贡献指南](guides/contributing.md) | +| 了解与竞品的差距 | [竞品分析](reference/27-竞品分析.md) · [严谨差距分析](reference/30-严谨差距分析.md) | +| 查看 API 详细定义 | [Doxygen API 文档](api/html/index.html) | +| 了解版本号规则 | [版本管理规范](reference/VERSIONING.md) | +| 查看更新历史 | [CHANGELOG](../CHANGELOG.md) | + +## 项目简介 + +ViewDesignEngine 是一个 C++17 全栈 B-Rep 几何引擎,对标 Parasolid/ACIS。 + +``` +11 模块 · 129 源文件 · 0 编译错误 · Apache 2.0 +``` + +### 核心能力 + +| 领域 | 能力 | +|------|------| +| **B-Rep** | 拓扑建模、SSI布尔、容错建模、直接建模、钣金、FFD | +| **曲面** | NURBS、G0-G3连续、Sweep/Loft/Net、曲面分析 | +| **网格** | Delaunay、QEM、MC、FEA网格、逆向工程 | +| **格式** | STEP/IGES/XT/SAT/JT/IFC/glTF/STL/OBJ/PLY/3MF | +| **CAM** | 3轴/5轴加工、HSM、刀库、8种后处理器 | +| **工程图** | 投影/剖视、HLR、自动标注、GD&T、PMI/MBD | +| **装配** | 约束求解、干涉检查、运动仿真、大装配LOD | + +### 目录结构 + +``` +docs/ +├── index.md ← 你在这里 +├── getting-started.md ← 5分钟快速上手 +├── api/ ← Doxygen 生成的 API 文档 +├── guides/ ← 开发者指南 +│ ├── module-manual.md ← 模块功能说明书 +│ ├── api-usage.md ← API 使用手册 +│ ├── architecture.md ← 架构概览 +│ ├── building.md ← 构建指南 +│ ├── testing.md ← 测试指南 +│ └── contributing.md ← 贡献指南 +├── reference/ ← 参考资料 +│ ├── 27-竞品分析.md +│ ├── 30-严谨差距分析.md +│ ├── API-REFERENCE.md +│ └── VERSIONING.md +└── archive/ ← 历史开发计划 +``` diff --git a/docs/27-竞品分析.md b/docs/reference/27-竞品分析.md similarity index 100% rename from docs/27-竞品分析.md rename to docs/reference/27-竞品分析.md diff --git a/docs/30-严谨差距分析.md b/docs/reference/30-严谨差距分析.md similarity index 100% rename from docs/30-严谨差距分析.md rename to docs/reference/30-严谨差距分析.md diff --git a/docs/API-REFERENCE.md b/docs/reference/API-REFERENCE.md similarity index 100% rename from docs/API-REFERENCE.md rename to docs/reference/API-REFERENCE.md diff --git a/docs/VERSIONING.md b/docs/reference/VERSIONING.md similarity index 100% rename from docs/VERSIONING.md rename to docs/reference/VERSIONING.md diff --git a/docs/benchmark-report.md b/docs/reference/benchmark-report.md similarity index 100% rename from docs/benchmark-report.md rename to docs/reference/benchmark-report.md