Speckle Server:783⭐的 AEC 行业 3D 数据协作平台
在建筑设计、工程施工领域,不同软件之间的数据互通一直是痛点。Rhino 的模型怎么导入 Revit?SketchUp 的修改如何同步给整个团队?今天介绍的 Speckle Server 正是为解决这些问题而生——它是一个面向 AEC(Architecture, Engineering, Construction)行业的开源 3D 数据协作平台。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | specklesystems/speckle-server |
| Stars | 783 |
| 语言 | TypeScript |
| 特点 | 3D 数据版本控制、多软件连接器、实时协作 |
| 最后更新 | 4天前 |
它解决了什么问题
传统 AEC 工作流程中,设计师和工程师被困在各自软件孤岛里:
- 模型文件庞大,邮件传输困难
- 版本混乱,难以追踪修改历史
- 各专业之间协调成本高
- 软件格式互不支持,数据转换损失严重
Speckle 的思路很简单:把 3D 数据从本地文件解放出来,用类似 Git 的方式管理,同时提供 Web 端的 3D 查看器让所有人都能访问。
核心功能
1. 多软件连接器 支持 Rhino、Revit、SketchUp、Blender、AutoCAD、Civil 3D 等主流 AEC 软件。安装插件后,用户可以直接从软件内部将模型”推送”到 Speckle 服务器,其他软件的同事可以”拉取”并在本地继续编辑。
2. 版本控制与分支 借鉴 Git 的概念,Speckle 支持分支管理、提交历史、差异对比。这意味着你可以:
- 保留设计方案的完整演进历史
- 并行探索不同设计方向
- 精确回滚到任意版本
3. Web 端 3D 查看器 基于 Three.js 构建的查看器支持浏览器端流畅浏览大型 3D 模型,无需安装任何软件。支持测量、剖切、属性查看,甚至可以嵌入到 Notion 或网页中分享。
4. API 与自动化 提供 GraphQL API 和 Webhook,支持与 CI/CD 流程、参数化设计脚本、数据仪表盘集成。可以用 Grasshopper 或 Python 读取 Speckle 数据,实现自动化分析和报表生成。
快速开始
Speckle 提供官方托管服务(免费额度足够个人和小团队使用),也可以自托管:
# 使用 Docker Compose 自托管
git clone https://github.com/specklesystems/speckle-server.git
cd speckle-server
docker-compose up -d
安装对应软件的连接器后,登录你的 Speckle 账户即可开始推送和拉取模型。
同类工具对比
| 工具 | Stars | 定位 | 特点 |
|---|---|---|---|
| Autodesk Platform Services | - | 商业服务 | 与 Autodesk 生态深度绑定 |
| IFC.js | 1.2k | 开源库 | 专注 IFC 格式解析,Web 查看 |
| Speckle Server | 783 | 开源平台 | 多软件支持 + 版本控制 + 协作 |
相比商业方案,Speckle 的优势在于开放性和灵活性;相比纯解析库,它提供了完整的数据管理和协作能力。
适用场景
- 跨专业的大型建筑项目协调
- 需要版本控制的设计探索过程
- 需要与外部团队共享模型但不想发送庞大文件
- 参数化设计与自动化报表生成
- 将 3D 数据集成到 Web 应用或数据看板
需要注意什么
- 大型模型(百万级三角面以上)在 Web 查看器中的性能取决于客户端设备
- 某些高级材质和自定义数据在软件间传输可能有兼容性问题
- 自托管需要一定的服务器运维能力
- 相比成熟商业方案,社区规模较小,遇到问题可能需要自己排查
总结
Speckle Server 是 AEC 领域少有的、真正理解行业需求的开源协作工具。它不试图取代现有设计软件,而是在它们之间搭建桥梁,同时引入现代软件开发的版本控制理念。如果你是建筑师、工程师,或者正在开发与 3D 建筑数据相关的应用,这个项目值得关注。
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/specklesystems/speckle-server |
| 许可证 | Apache-2.0(核心组件) |
| 语言 | TypeScript / Vue.js |
| 维护者 | @specklesystems |
| 官网 | https://speckle.systems |