Files
ViewDesignEngine/CHANGELOG.md
T
茂之钳 2c59c55c6b
CI / Build & Test (push) Failing after 1m32s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
docs: complete documentation polish — CHANGELOG v3.1-v3.5, README update, plan cleanup, v3.6 ideas
2026-07-24 14:13:26 +00:00

7.4 KiB
Raw Blame History

更新日志

[3.5.0] — 2026-07-24

性能+实战

  • 布尔运算缓存加速(mesh_cache + AABB 预检)
  • 测量工具:distance / surface_area / volume / centroid
  • 实战零件示例:法兰(flange)+ 齿轮(gear
  • 参数特征树:FeatureNode 递归求值 + FeatureHistory undo/redo
  • 装配约束:Coincident / Concentric / Tangent / Distance / Parallel / Perpendicular / Angle

[3.4.0] — 2026-07-24

制造就绪

  • B-Rep 布尔集成面分割(质量大幅提升)
  • CAM 刀具路径:offset_contour + contour_toolpath + pocket_toolpath + G-code 导出
  • NURBS 曲面-曲面求交(递归细分 + Newton 精化)

[3.3.0] — 2026-07-24

工业强化

  • B-Rep face splittingsplit_face_by_plane
  • WebGL 3D 查看器(viewer/index.html,拖放 GLB/STL
  • 教程文档 3 篇(快速开始 / SDF / B-Rep
  • 模糊测试(SDF / Boolean / Format round-trip
  • DEB 打包(packaging/build-deb.sh

[3.2.0] — 2026-07-24

CI/CD + 3MF + 装配体

  • CI/CD 配置(.gitea/workflows/build.yml
  • Python 绑定(pyproject.toml + setup.py
  • 3MF 格式导入/导出(零外部依赖 ZIP 实现)
  • B-Rep 装配体树(Assembly + AssemblyNode
  • 性能基准修复 + 基线报告

[3.1.0] — 2026-07-24

文档 + 示例 + NURBS 操作

  • Doxygen API 文档(76 头文件,483 页 HTML)
  • Gitea Wiki12 页在线 API 参考)
  • Markdown API 参考手册(6942 行)
  • 3D 打印示例(08_3d_print
  • B-Rep 制造示例(09_brep_fab
  • Python SDF 优化示例
  • NURBS 高级操作(offset / trim / blend / ruled / coons / extrude
  • Marching Cubes SEGFAULT 修复

[3.0.0] — 2026-07-24

全线测试通过(476+ / 476+

S13 — IGES 导入/导出

  • 导入:22 种实体类型(弧、线、B-Spline、圆环、球面等)→ B-Rep
  • 导出:B-Rep → 80 列卡片式文件

S12 — 可微分几何

  • 自动微分引擎 + 梯度驱动优化 + Torch 桥 + Python API

S11 — SDF 隐式建模

  • 15+ 图元 + CSG 树 + SDF→Mesh + Python bindings

全线 bugfix41→0

  • SDF NaN/边界 + 操作符号 + B-Rep 顶点ID + Parser + 布尔 ON-边界分类

Phase A — GLTF/GLB + 管线示例

[2.0.0] — 2026-07-24

Sprint 10 — B-Rep 完善 + STEP 导入导出 + 工程健壮性

  • B-Rep 建模补齐:fillet(恒定半径滚动球倒圆)、chamfer(等距倒角)、shell(抽壳,含侧壁连接面)完整实现
  • STEP 导入 (import_step)ISO 10303-21 解析器,支持 AP203/AP214 标准几何与拓扑实体
  • STEP 导出 (export_step)BrepModel → STEP AP214 字符串/文件,含曲线/曲面类型自动检测
  • B-Rep 布尔运算brep_union / brep_intersection / brep_difference,基于面面求交 + 内/外分类 + 缝合
  • B-Rep 验证 (validate):水密性、悬边、自相交、方向一致性、欧拉示性数检查
  • 测试:新增 5 个测试文件(fillet/chamfer/shell、STEP 导入/导出、B-Rep 布尔、B-Rep 验证),共 47 项测试

[1.0.0] — 2026-07-24

首个稳定版本

所有 9 个 Sprint 完成,全部模块实现并通过测试。

指标: 7,800+ 行源码,2,300+ 行头文件,143 测试 100% 通过

M3 性能基准(本轮完成)

  • BVH/Delaunay/Curves/Spatial/Boolean 5 套 benchmark 全部通过
  • 性能报告: docs/benchmark-report.md

M3 修复(本轮完成)

  • Delaunay3D: circumcenter Eigen QR 求解,空外接球验证
  • B-Rep: is_valid ID 查找,add_surface/add_edge 返回下标
  • BooleanMesh: ray-tri 交点容差 + 面上偏移

[0.9.0] — 2026-07-23

M3 里程碑起步 — 性能基准测试套件

  • 新增 bench/ 目录Google Benchmark 驱动的性能基准测试套件
  • bench_bvhN=1K/10K/100K 随机三角形 SAH 构建 + 1K 射线最近命中查询
  • bench_delaunayN=100/1K/10K 随机点 2D Bowyer-Watson 三角剖分
  • bench_boolean:两个球体 (N=100/500 面) 3D union/intersection 运算
  • bench_curvesN=10K/100K 次 Bezier/BSpline evaluate 吞吐量
  • bench_spatialN=1K/10K/100K 点 R-Tree STR 构建 + KD-Tree 构建;kNN(n=10) 查询
  • 构建集成BUILD_BENCHMARKS 选项 (默认 OFF)Google Benchmark 通过 FetchContent 自动下载
  • CTest 集成ctest -R bench_ 一键运行全部基准

Sprint 9 — 3D Delaunay/B-Rep/Boolean 测试补全

  • 测试新增test_delaunay_3d6 个用例)、test_boolean_mesh22 个用例)、test_brep17 个用例)
  • 3D Delaunay 测试:空输入、正四面体、Delaunay 空外接球性质验证、退化点(共面/共线)
  • 3D 网格布尔测试:相交/不相交/包含场景的 union/intersection/difference/sym_diff、空网格边界、点分类、invert/merge 辅助函数
  • B-Rep 测试make_box/make_sphere/make_cylinder 实体创建、拓扑查询(face_edges/edge_faces/vertex_edges)、to_mesh 离散化、有效性验证、空模型边缘情况
  • 构建更新tests/CMakeLists.txt 添加 brep 子目录,mesh/boolean CMakeLists 添加新测试
  • 文档更新:开发计划 S9 状态更新为进行中

[0.8.0] — 2026-07-23

Sprint 8 收尾 — spatial + mesh

  • KD-Tree 完善priority-queue kNN、ray query、remove 支持
  • Octree 完善ray query 补充
  • mesh_simplifyQEM 简化实现验证

[0.7.0] — 2026-07-23

模块补全

  • 3D 网格布尔运算mesh_union/intersection/difference/sym_diff + BVH 射线投射
  • 网格平滑扩展HC Laplacian(体积保持)、双边滤波(特征保留)
  • 网格质量评估:三角形/四面体质量、质量报告(A-F 分级)
  • R-Tree 完整实现STR bulk-loading、分层查询、kNN priority-queue
  • 碰撞检测扩展ray-aabb/sphere/mesh/plane、tri-tri 交线
  • 曲线曲面补全Bezier/BSpline 解析导数、自适应细分
  • core 补全distance6 种扩展)、polygon(三角剖分、凸包、简化)
  • foundation 补全OBJ 纹理坐标、STL ASCII/Binary 双格式

测试覆盖扩展

  • 新增 7 个测试文件:polygon、distance、r_tree、ray、quality、smooth
  • 测试从 11 文件/25 用例 → 17 文件/92 用例(100% 通过)

修复

  • exact_predicates 匿名 namespace 泄漏
  • RTree insert/remove 自赋值 bug
  • mesh_quality 纵横比公式归一化

文档

  • 开发计划 S8 状态更新

[0.1.0] — 2026-07-23

新增

  • 基础设施层(foundation):数学类型、公差系统、精确谓词、OBJ/STL 读写
  • 几何核心层(core):点、线、面、三角形、AABB、几何变换、距离计算、凸包
  • 曲线曲面层(curves):Bezier/B-Spline/NURBS 曲线与曲面、离散化
  • 网格处理层(mesh):半边数据结构、Delaunay 2D 三角剖分
  • 空间索引层(spatial):BVHSAH 构建)
  • 碰撞检测层(collision):GJK 算法、Möller-Trumbore 射线-三角形相交
  • 布尔运算层(boolean):2D 多边形 Sutherland-Hodgman 裁剪
  • 构建系统:CMake + FetchContentEigen, GTest 自动下载)
  • 测试框架:Google Test11 个测试文件
  • 示例程序:6 个可运行示例

v0.8.0 时已全部完成

(以下为初始规划时的待完成清单,现已全部实现)

  • 网格简化(QEM
  • 网格平滑(Laplacian/Taubin/HC/Bilateral
  • 3D 网格布尔运算
  • Octree、KD-Tree、R-Tree 完整实现
  • 3D Delaunay 剖分
  • B-Rep 支持
  • Python 绑定