📌 项目:https://github.com/NVIDIA-Omniverse/usd-brep | 星数:1395 | 语言:C++ | 协议:Apache-2.0 | 更新:2026-10-15
USD BRep是NVIDIA Omniverse团队开源的NURBS边界表示(Boundary Representation)库,在GitHub上获得了1395颗星的关注。它提供了用C++和Python接口创建、修改和查询NURBS曲线和曲面的完整功能,是CAD、CAM和工业设计软件的核心几何引擎。NURBS(非均匀有理B样条)是工业标准的曲线曲面表示方法,USD BRep库让开发者可以在USD(Universal Scene Description)生态中直接操作精确的BRep几何体。项目采用Apache-2.0开源协议,核心引擎用C++编写并经过NVIDIA团队的性能优化,支持大规模几何体的高效处理和并行计算,同时提供完整的Python绑定方便快速原型开发。
在CAD和3D建模领域,我们还推荐CadCraft Rust CAD建模工具指南和SolidCraft纯Rust 3D CAD建模指南,了解更多CAD开发方案。
完整NURBS引擎实现了完整的NURBS曲线和曲面数据结构,支持任意阶数和节点向量配置。提供创建、修改、查询、分割、合并等完整操作集。引擎核心用C++编写,经过NVIDIA团队的性能优化,支持大规模几何体的高效处理和并行计算。数据结构设计紧凑,内存占用低,适合处理包含数万曲面的大型工业模型。
USD集成与互操作是USD BRep的核心价值。与Pixar的USD(Universal Scene Description)框架深度集成,BRep几何体可以作为USD场景中的原生数据类型存储和传输。支持与多边形网格、细分曲面等几何表示之间的转换,保证CAD数据在Omniverse平台中的无损流通。这让工业设计数据可以在渲染、仿真和协作工作流中无缝使用。
Python绑定与脚本提供完整的Python绑定(通过pybind11),支持用Python脚本进行几何体创建和操作。Python接口与C++接口功能对等,方便快速原型开发和自动化工作流。同时提供Jupyter Notebook交互式环境支持,可以实时可视化几何体操作结果,降低NURBS学习门槛。
| ✅ 优势 | ❌ 劣势 |
|---|---|
| NVIDIA官方维护质量高 | NURBS学习曲线较陡峭 |
| 完整NURBS功能实现 | 依赖USD框架较重 |
| USD生态无缝集成 | 编译配置较复杂 |
| C++和Python双接口 | 文档偏技术手册风格 |
| Apache-2.0开源协议友好 | 主要面向Omniverse生态 |
USD BRep专注于NURBS几何体与USD生态的集成,而OpenCASCADE是完整的CAD内核涵盖更广泛的功能。两者可以互补使用,USD BRep更适合Omniverse工作流,OpenCASCADE适合独立CAD应用开发。
不需要完整的Omniverse安装,但需要USD核心库作为依赖。可以独立编译使用USD BRep库,但完整功能需要配合USD运行时环境。具体编译和依赖配置请参考项目README。
Python绑定通过pybind11封装C++实现,计算密集型操作在C++层执行,Python只负责调用。批量操作时建议使用向量化接口减少跨语言调用开销,整体性能接近原生C++的80-90%。