Dynamo python调用revitAPI系列

作者:听风

第一篇

Dynamo通过Python取得Revit的Document

Dynamo作为Revit的可视化编程工具,具有简单、直观、高效等特点,通过一系列Dynamo节点的排列组合,我们可以实现更多想要的功能,实现Revit自身无法实现的功能,不仅能提升工作效率,也为Revit拓展了应用领域。

Revit拥有一个全面开放的API(应用程序接口),允许第三方开发者创建自定义工具,但API接口相对复杂,基于文本的脚本开发并不适合所有人。Dynamo通过一种大众化的图形化算法来访问Revit的数据,实现了人人都是程序员的目的。通过Dynamo for Revit自带的节点库,已经能实现很多操作,但是目前已有的节点相对RevitAPI来说还只是冰山一角,想要实现Dynamo中未包含的Revit节点的功能,我们可以用Dynamo的PythonScript节点调用RevitAPI,下面首先介绍一下Python如何取得Revit中的Document。

在Revit中Docement用于表示打开的Revit工程。Revit可以同时有多个工程打开,即同时拥有多个Document对象,但是在Dynamo中,每次打开Dynamo只对应相应的一个Document,即在打开Dynamo之前Revit中正在使用的项目,在调用RevitAPI时,要先明确当前的Document。

在Dynamo的安装目录下有RevitServices.dll的类库,如下图1

图1

在RevitServices.dll中有一个CurrentDBDocument的属性,如下图2

图2

在Dynamo中我们用PythonScript节点可直接调用RevitServices.dll类,如下图3

图3

其中doc就是Revit的当前文档,如下图4

图4

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180619A1QCXK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券