使用 Revit Python Shell 来创建团队脚本(1)

为什么要用RPS而不是Dynamo Player?

在之前的工作中,我曾大量运用Dynamo脚本来创建一些自动化的脚本,为了让团队也能够使用,我也做了一些努力,比如:

  1. 所有的dynamo脚本都存放在服务器上,这样团队能否保持最新版本的脚本共享。
  2. 所有dynamo脚本我都接入了基于Data Shapes插件的操作界面,这样能让团队成员更无障碍地使用脚本。
  3. 一整套各个脚本及其功能解释的使用说明和档案,方便团队随时查阅。
我给团队所做的一套Dynamo Player脚本库
部分的脚本界面,以及自认为还可以的Logo

尽管如此,实际工作中这套基于Dynamo Player的脚本体系还是没能得到太充分的应用,究其原因主要有两点,一个是要想编辑功能强大的脚本,则不可避免地需要安插许多插件包,这让Dynamo的运行愈发臃肿,往往运行一个脚本可能需要先等待几分钟的加载。二是团队成员的电脑配置和操作系统设置参差不齐,同一个Dynamo脚本在我的电脑上能运行,在其他成员的电脑上则总会有点岔子,例如一个批量打印的脚本,涉及到windows打印机的配置问题,团队成员想要运用这个脚本就首先得进行冗长的设置,尤其在大型团队之中,这种配置工作是个噩梦。

所以,我打算将团队BIM自动化脚本这一块用别的方法来实现,能够让人愿意用而且觉得好用,同时也需要方便BIM Manager的配置和管理工作。

CONTINUE ᐳ

Purge Scope Boxes

批量清理未使用的范围框

由于Revit中并没有自带的范围框清理功能,所以我用Dynamo脚本简单的实现了一个。

UI Node from DATA|SHAPES
CONTINUE ᐳ

Archive central models with Dynamo

自动备份中心模型

多人协作的Revit项目都是基于工作共享(Worksharing)的模式,运用中心模型(Central model)来进行协作工作。

一个正确的中心文件的备份程序应该是这样的:

  1. 以从中心分离的方式打开一个中心文件 (open one central file as Detached)
  2. 将打开的文件另存为一个中心文件 (save the file as a detached central file)
  3. 放弃所有工作集并关闭 (relinquish all worksets and close)

在大型多人协作的Revit项目中,一般会将项目分割成多个中心文件,这给周期性的备份工作带来了一定的时间成本。当然,我们可以粗暴地拷贝粘贴中心文件到某个备份文件夹。但风险是,这个备份文件并不是与中心文件分离的(detached),所以有可能一段时间后有人用备份文件将中心文件错误地同步了(我也不幸经历过)。所以,我做了一个Dynamo脚本来自动化这项工作。

同样,这里我使用到了 DATA|SAHAPES 的UI Node:

CONTINUE ᐳ