这个项目能做什么
vCAD 是一个开源、跨平台的参数化计算机辅助设计(CAD)应用程序,采用“内核优先”架构设计。该项目旨在提供一个健壮的核心,能够支持多种前端,包括面向 Windows、macOS 和 Linux 的全功能桌面应用,以及专注于 3D 打印的 iPadOS 专用客户端。
该软件利用 OpenCASCADE Technology(OCCT)作为其几何内核,并使用 bgfx 进行渲染。桌面版的用户界面基于 Qt 6.8 LTS 构建。一个关键的架构特性是由构建脚本强制执行的严格分层系统,确保核心内核独立于 Qt 或 SwiftUI 等 UI 框架。这种设计使得同一核心可以针对不同平台编译,而不会出现兼容性问题。
主要能力包括:
- **参数化建模**:支持草图、特征和参数化约束。
- **拓扑命名**:实现先进的拓扑命名策略,以在编辑过程中保持模型完整性。
- **文档管理**:具备持久化文档结构,支持自由撤销/重做历史以及重计算引擎。
- **数据缓存**:在 assetlib 的文档数据缓存(DDC)之上使用两级缓存,以实现高效的数据管理。
- **文件交换**:支持行业标准格式,包括 STEP、IGES 和 STL。
- **可扩展性**:提供稳定的 C 应用程序二进制接口(ABI)和 Python 绑定,用于脚本编写和插件开发。
该项目目前处于积极开发中,里程碑 M1(内核封装与拓扑命名)和 M2(文档管理、DDC 与文件 I/O)已标记为完成。专注于渲染器和 Qt 外壳的里程碑 M3 正在进行中。代码库包含跨五个层级的全面测试,包括 C++ 单元测试、通过 C ABI 的 Rust 验收测试以及 Python 绑定测试。
构建 vCAD 需要 CMake 3.24+、用于依赖项的 vcpkg 检出,以及可选的用于 Python 绑定的 pybind11。该项目强调严格的依赖管理和版本固定,以确保在不同操作系统上的稳定性。
评论
0 评分人数达到10人后显示
登录后参与讨论。