SpecklePy:Python SDK 在AEC行业的革新实践
specklepyPython SDK 🐍项目地址:https://gitcode.com/gh_mirrors/sp/specklepy
项目介绍
SpecklePy 是专为建筑、工程和施工(AEC)行业设计的数据基础设施的Python实现。它颠覆了传统的文件交换方式,通过引入对象基础平台,实现了几何数据和BIM信息的版本控制与高效协作。利用Git类似的版本管理系统及Web为中心的协作理念,Speckle允许设计师在不同软件环境中无缝共享、查看和编辑3D模型,无需繁琐的导出导入过程。它支持实时更新通知,并提供强大的GraphQL API和Webhook功能,满足自动化工作流程的需求。此外,SpecklePy致力于服务开发者,提供了多种AEC行业常用软件的插件,如Revit、Rhino、Grasshopper等。
项目快速启动
要迅速体验SpecklePy的强大功能,请遵循以下步骤:
首先,确保已安装Python环境。推荐使用最新版的Python 3.x系列,并安装poetry
来管理依赖项。
pip install poetry
然后,克隆项目到本地:
git clone https://github.com/specklesystems/specklepy.git
cd specklepy
接下来,使用Poetry安装所有必要的依赖:
poetry install
创建一个账户或登录Speckle公共服务器以获取您的Access Token。
基本的发送数据至Speckle Server示例:
from specklepy.api.client import SpeckleClient
from specklepy.api.credentials import get_default_account
account = get_default_account()
client = SpeckleClient(host="https://speckle.cloud")
# 假设你有一个对象想要发送
object_to_send = {...}
# 发送对象
response = client.send(object=object_to_send, recipient="recipient_id")
print(response)
请注意,需要替换实际的recipient_id
并确保正确设置了访问令牌。
应用案例与最佳实践
在AEC行业中,SpecklePy经常被用于跨团队的设计协作场景,比如自动同步Revit中的修改到其他团队成员的Rhino或Grasshopper中。最佳实践包括利用Webhooks实现实时通知系统,或者通过GraphQL查询精准地从Server拉取所需的数据,减少带宽消耗。
典型生态项目
Speckle生态系统内有许多项目展示了其多软件间的互操作性。例如,结合Revit插件,工程师可以将复杂的建筑模型上传到Speckle,随后设计团队在Grasshopper或Rhino中进行参数化调整,这些变更又可以通过Speckle实时反馈给原始模型,从而促进了AEC项目中多专业之间的协同作业。此外,Unity或Unreal Engine内的可视化团队也可轻松接入,用于实时渲染或VR体验开发。
本指南仅触及SpecklePy的表面,更多高级特性和深度集成教程可参考官方文档和社区论坛,探索如何在你的AEC项目中充分利用这一强大工具。
specklepyPython SDK 🐍项目地址:https://gitcode.com/gh_mirrors/sp/specklepy