Files
ViewDesignEngine/docs/feedback/00-overview.md
T

2.0 KiB
Raw Blame History

id, status, severity, category, date, reporter
id status severity category date reporter
OVERVIEW open medium analysis 2026-07-27 ViewDesign

ViewDesignEngine 集成综合评估

基于 VDE v1.0.1 在 ViewDesign 工程中的集成经验,从多个维度评估 VDE 的优势与不足。

VDE vs OCCT 对比

维度 OCCT VDE 结论
代码体积 ~1GB+,构建 30min+ 轻量,构建秒级 VDE 胜
数学库 自研 gp_*API 陈旧 Eigen3,现代 C++ VDE 胜
API 风格 重型,Handle<> 到处飞 简洁值语义 VDE 胜
B-rep 完整、成熟 brep 模块 GCC 编译不过 OCCT 胜
STL I/O 无便捷函数 read_stl() / write_stl() VDE 胜
跨平台 全通过 主要 MSVC OCCT 胜
文档 丰富 几乎为零 OCCT 胜
许可证 LGPL-like,商用需谨慎 AGPL v3 VDE 胜
集成门槛 需要 SDK 安装 submodule + Eigen3 VDE 胜

VDE 优点

  • 轻量、模块化设计方向正确
  • Eigen3 选型正确(现代 C++ 数学库标准)
  • API 直觉好:Transform3D.translate()、write_stl() 一行搞定
  • 许可干净(AGPL v3,与 ViewDesign 一致)

VDE 不足

  • B-rep 是核心短板(几何引擎最有价值的部分不可用)
  • 移植意识弱(为 MSVC 开发,无跨平台 CI)
  • 文档基建缺失(无 doxygen,无示例,无 CI)
  • 模块有循环依赖(vde_mesh ↔ vde_brep
  • CMake 集成不友好(无模块开关,无 find_package

阻塞优先级

优先级 问题 影响
P0 两阶段名称查找 (VDE-001/005/010) brep/mesh/boolean 全部不可用
P0 include 路径不兼容子模块 (VDE-002) 无法开箱即用
P0 无模块级构建开关 (VDE-013) 被迫 EXCLUDE_FROM_ALL hack

ViewDesign 的战略路径

当前:  网格路径→VDE / B-rep→OCCT 兜底
P0后:  B-rep→VDE / OCCT 降级为可选
远期:  全面 VDE / OCCT 移除

此文件由 ViewDesign 工程生成,提供 VDE 集成体验的宏观评估。