OpenGeometry将工业级B-rep实体建模能力搬进浏览器,使用Rust编写核心并编译为WebAssembly,通过TypeScript SDK与Three.js无缝集成。它提供布尔运算、拉伸/扫描/旋转、STEP导出等完整功能,面向Web CAD、参数化配置器及AI智能体,让几何操作像调用API一样简单。
适用人群:1. 需要在网页中实现三维参数化建模的前端工程师;2. 正在开发在线CAD、配置器或工程工具的产品团队;3. 为AI智能体寻找可控、可解释几何内核的研究人员。
适用场景:1. 构建纯浏览器端的机械零件参数化建模器;2. 为电商平台打造实时三维产品配置器;3. 通过AI Agent自动生成并验证三维工程模型。
推荐理由:若你希望在浏览器中拥有SolidWorks级别的实体建模能力,又不想依赖云端内核,OpenGeometry是当前最成熟的选择。它利用Rust保障性能与安全,借助WebAssembly实现跨平台,并通过TypeScript SDK让Three.js集成几行代码即可完成。开源且活跃维护,值得深入尝试。
项目定位与背景
OpenGeometry的目标是让浏览器成为工业级CAD的运行平台。传统三维建模软件通常依赖本地C++内核或云端服务,而OpenGeometry将B-rep实体建模核心完全迁移到Web环境。项目由Rust编写,编译为WebAssembly,再通过TypeScript SDK与Three.js对接,使任何现代浏览器都能直接进行复杂的实体建模,无需安装插件或依赖服务器端几何引擎。
核心功能与技术架构
OpenGeometry的核心是一个完整的CAD内核,支持B-rep实体、布尔运算(并集、差集、交集)、拉伸、扫描与旋转建模,并能导出STEP文件。整条技术链路为:Rust实现内核逻辑→WebAssembly保证跨平台高性能→TypeScript SDK提供面向Three.js的友好API→Three.js负责渲染。这种分层设计让开发者无需理解底层几何算法,即可在网页中创建、编辑和导出实体模型。
创新点与亮点
首先是浏览器原生。OpenGeometry不需要依赖云端CAD服务,所有几何运算都在客户端完成,天然适合离线和隐私敏感场景。其次是面向AI Agent的设计。项目在宣传中多次提到Humans and AI Agents,表明其API和操作流程考虑了机器可读与自动化需求。第三是性能与安全的平衡。Rust语言提供了与C++同级的执行效率,同时避免了大量内存安全漏洞,这对复杂的几何计算尤为重要。
与同类项目对比
在浏览器CAD领域,常见的选择包括FreeCAD(基于Python,主要是桌面端应用)、OpenSCAD(脚本式,实时渲染但非B-rep内核)、以及一些云端几何内核(如Parasolid在线服务)。相比之下,OpenGeometry的优势在于完全本地化、轻量级、与Web技术栈深度整合,且核心代码开源。而对比Three.js原生的几何操作,OpenGeometry提供了真正的实体建模能力,而非仅仅三角网格处理。
上手指南或快速开始
安装只需一行npm命令:npm i opengeometry。随后在TypeScript中导入核心模块,创建几何体,进行布尔运算,最后将结果添加到Three.js场景中。示例代码展示了如何通过链式API完成实体创建与变换。官方还提供了在线Demo和文档,便于快速验证功能。需要注意的是,当前文档仍在更新,API在2.0与3.0版本之间可能存在差异,使用前请确认安装的版本线。
总结与展望
OpenGeometry为Web三维开发打开了新的大门,让浏览器真正具备了工业级实体建模能力。随着AI Agent对三维几何的需求增加,这种开源、轻量且AI友好的内核将具有广阔前景。尽管仍面临文档滞后、复杂形状性能优化等挑战,但其活跃的社区和清晰的版本规划表明项目正在快速成熟。如果你正计划在Web端构建下一代CAD工具或智能三维应用,OpenGeometry值得纳入技术选型清单。
项目信息
| 项目名称 | OpenGeometry-io/OpenGeometry |
| 编程语言 | Rust |
| Star 数 | 539 |
| Fork 数 | 59 |
| 主题标签 | agents, architecture, cad, computer-graphics, draft, draw, engineering, graphics, mechanical-engineering, rocket, sketch, web |