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 ᐳ

Hide/unhide Annotations with Dynamo

批量隐藏标注

在实际工作中,我们给项目的不同阶段标注了不同的信息(大多是尺寸标注),在出图时,就遇到了问题:为了工作和绘图方便,两个阶段公用了一个视图,但是阶段1的图不需要阶段2的标注,反之亦然。所以在出图前夕,我们需要将多余的标注信息隐藏。的由于标注族(Annotation Families)不能用视图过滤器(view Filters)来进行隐藏/显示的操作,所以我做了一个小脚本来快速完成这项工作。

一个示例,橘色和蓝色分别代表不同的标注族,需要用脚本控制它们在某些视图的可见性。

这次我同样用到了来自DATA|SHAPES 的UI界面节点:

操作界面

使用过程:首先选择要改变可见性的族类别(Category),然后用一个关键词过滤出(Filter)需要被涵盖的族名称(Type Name),同时可选的给出要在哪些视图上进行操作(否则默认所有视图),最后选择要进行的操作(hide or unhide)。工作完成后,Dynamo会生成一个Excel表格作为结果报告。

CONTINUE ᐳ

Number elements by curve

用曲线给图元编号

工作中经常会碰到一个需求,就是将同一族的多个物件进行编号,例如方案中有n个停车位,我们需要将它们从1到n给某个属性变量赋值,以方便之后的标注。

为了方便使用者的操作,我有用到来自DATA|SHAPES 的UI界面节点:

通过Dynamo Player调出的UI

这个Dynamo脚本的使用方法是,在某个特定的平面视图上绘制一条曲线,它需要依次穿过被编号的物件。运行原理很简单,我们从去线上从头到尾每隔一定间距取一个点(在此我设定为500mm),然后判断每个点是否与某个物件相交,如果是,则将这个物件按顺序放到List中,全部的点判断完成后根据List的顺序对物件的Parameter进行赋值。

CONTINUE ᐳ