基于Dynamo的图纸深化设计

(整期优先)网络出版时间:2023-09-23
/ 2

基于Dynamo的图纸深化设计

刘华 杨晓南 杨震宇 贾雁凯 江占明

中建八局科技建设有限公司

摘要:日益成熟的BIM技术为装配式建筑的深化设计提供了便利,但对于一些特殊构件的图纸深化设计还存在不足。若遇到大体量特殊构件的装配式项目时,图纸深化设计的工作量可想而知。为提高特殊构件图纸深化效率,现将Dynamo技术融入到图纸深化设计当中,进一步提高工作效率。本文将以EPSC格构式墙体为例,详细阐述Dynamo技术在图纸深化设计中的应用。

关键词:BIM、参数化、深化设计、可视化编程

1引言

近几年,以数字化和信息化集成的BIM技术在国内外得到了大力推广,并很快得到了建筑设计行业的认可。BIM技术的逐渐普及使装配式建筑设计人员,突破了传统的逻辑思维,学会了利用BIM软件提高工作效率,例如利用BeePC插件快速实现了常规预制构件图纸的深化设计。但对于一些特殊预制墙体的深化设计,BIM软件还存在一些不足。因此,将Dynamo可视化编程引入深化设计当中,为复杂结构模型的深化设计提供了新思路。本文将以EPSC格构式一体化墙体为例,详细阐述如何借助Dynamo可视化编程,使用Excel表格数据实现参数驱动图纸进行深化设计,进一步提高构件深化设计出图效率从而降低设计工作者的工作量,为特殊预制构件的深化设计奠定技术基础。

2参数化模型创建

2.1 EPSC格构式墙体参数化设计

EPSC格构式墙体主要采用拆分的参数化设计,采用Revit族对水泥聚苯模壳、混凝土格构柱、螺旋钢筋和纵筋进行参数化设计,基于函数公式和逻辑关系建立参数之间的联系,通过嵌套族的方法创建EPSC格构式墙体的参数化构件。EPSC格构式墙体完整的参数如下图2.1所示。

2.1 EPSC格构式墙体参数表

Fig. 2.1 Parameter list of EPSC lattice wall

2.2 图纸样板的参数化设计

参数化图纸的创建主要包含参数化图框、参数化构件的剖面图以及参数化的信息明细表。通过共享参数创建注释族参数,并进行明细表参数的设置,同时设置图纸参数共享参数组,实现图框与信息明细表之间参数的关联,最终在样板中通过全局参数创建构件剖面族参数与图框信息参数的关联,完成参数化图纸样板设计。尺寸标注作为图纸样板创建的一个难点,主要将Revit的原生功能与共享注释族相结合,借助共享参数和注释族来实现,完整的参数化图纸样板如下图2.2所示。

2.2 EPSC参数化图纸

Fig. 2.2 Parametric drawing of EPSC

3 Dynamo在图纸深化设计中的应用

3.1 深化设计思路

主要借助于Dynamo可视化编程中的树状架构,以节点(Node)作为最小单位,按照一定逻辑顺序连接层层节点,建立一个完整的脚本。本文中图纸深化设计主要利用Dynamo进行模型参数的读取,将参数保存在对应的Excel表格中,接着利用关键节点包将参数赋予参数化图框,从而实现参数驱动图纸深化设计的目的。

3.2 参数读取

在Revit中,构件参数的读取主要有两种方式,一种是通过创建明细表的方式,但此方式在参数读取时还需要借助文本文档作为媒介,才可以保存数据至指定Excel表格,过程相对比较繁琐;另一种则是通过Dynamo节点直接读取,第一种方式较为便捷。本文中主要利用Element.SetParameterByName和Element.GetParameterValueByName进行EPSC墙体参数的读取,EPSC墙体参数数值的提取如图3.1所示

3.1 EPSC墙体参数的提取

Fig. 3.1 Extraction of EPSC wall parameters

参数读取完成后,利用Date.ExportExcel节点将Excel列表中提取的参数数值导出至Excel,filePath作为Excel文件的接收路径,需要在指定文件中新建Excel表格用于EPSC格构式墙体参数的存储;sheetName进行Excel表格工作簿命名。按照一定的逻辑关系将EPSC墙体参数导出所需的节点连接起来,完成了Revit数据提取与导出的节点程序创建,获取整体EPSC墙体构件参数的程序和导出Excel表格数据样式如下图3.2所示。

3.2 EPSC墙体参数导出

Fig. 3.2 Export of EPSC wall parameters

3.2 Excel驱动图纸参数化

如何快速利用Excel表格数据驱动参数化图纸是深化设计中的关键一步。通过File Path、Date.ImportExcel和Date.ImportExcel等节点读取Excel表格数据。如下图3.3所示

3.3 Excel表格参数读取

Fig. 3.3 Reading excel table parameters

表格数据读取后利用Element.SetParameterByName节点进行参数的修改,从而实现参数驱动图纸变化。在读取Excel表格数据时为避免程序读取参数失败,利用逻辑公式确定参数数值读取的顺序,同时也实现了指定EPSC墙体构件深化设计出图。如图3.4所示,通过图右侧可视化程序的运行即可通过参数的方式驱动左侧参数化图纸的生成,实现了通过参数完成指定EPSC格构式墙体图纸的深化设计。最后,通过Sheet.ByNameNumberTitleBlockAndView节点,在项目浏览器图纸分类下生成图纸并进行图纸的命名,以便后期批量导出至指定文件夹,为图纸后期的图审提供便利[60]。

3.4 EPSC墙体图纸深化设计部分程序

Fig. 3.4 EPSC wall drawings deepen part of the design process

3.3 二维图纸与三维模型联动修改

随着设计变更次数的增多,模型信息的修改增多,容易发生二维图纸的重复修改与漏改现象,造成图纸设计的失误。Dynamo技术给二维深化图纸与三维模型联动修改提供了一种解决方案。

3.5 二维图纸与三维模型的联动

Fig. 3.5 The linkage of the 2D drawings and 3D model modification

如图3.5所示,在传统图纸设计工作中,EPSC格构式墙体的几何参数数值发生改变时,还需要在CAD中重新绘制,修改信息参数。但在Revit中,基于Dynamo的可视化编程能够实现当构件模型的参数化修改时,一处修改处处修改,避免了传统设计中修改不及时的问题,大大提高了图纸深化设计的效率。二维深化设计图与三维模型联动修改充分发挥了BIM三维模型优势和体现了Dynamo可视化编程的价值,提高了工程项目的经济效益。

4 深化设计图纸批量导出

随着时代发展的步伐,项目的体量日益增大,深化设计图纸也随之增多。当设计深化完成后,图纸以DWG形式导出至指定文件夹也成了一个难题。恰好,Dynamo可视化编程与Python语言的巧妙结合,解决了这一难题。在Python Script节点直接调用RevitAPI,实现图纸的批量导出。节点功能开发时主要涉及元素的选择、文件保存的指定路径和DWG形式的转换三个部分。首先进行的是图纸元素选择功能节点开发,主要程序语句是

import clr

clr.AddReference ('RevitAPI')
from Autodesk.Revit.DB import *
import Autodesk

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

TransactionManager.Instance.EnsureInTransaction(doc)

filter= FilteredElementCollector(doc).OfCategory

(BuiltInCategory.OST_Sheets).ToElements()
TransactionManager.Instance.TransactionTaskDone()
OUT = filter

元素选择之后,需要将挑选的元素进行组合,将含有相同ID的元素放入同一个视图中作为图纸导出的视图样式,同时还需要设置图纸输出路径的输入端以及图纸DWG格式的转换设置,设置完成后使用定义功能def函数进行程序是否运行并输出结果的设定。

核心节点程序编写完成后,通过合理的逻辑顺序将其与其他节点进行连接,图纸批量导出的运行程序主要如图4.1所示,

4.1 图纸批量导出程序

Fig.4.1 Batch export of drawings

5 结语

本文借助参数化理念,通过Revit族研究特殊构件参数化设计的思路,并对参数化图纸样板的建立方式进行研究。探究了利用Dynamo设计构件参数导出,使用表格数据驱动构件深化设计的新思路,借助Python语言自主开发功能节点实现图纸以DWG形式的批量导出。虽然研究方法提高了装配式构件深化设计的效率,但是还存在一定的局限性,后期还需要对图纸样板和节点功能进行一步研究优化。