2.0 KiB
2.0 KiB
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 集成体验的宏观评估。