下载app免费领取会员
本文源自微信公众号:圆创BIM
作为BIM从业者,我们或多或少地接触过Dynamo,它在工作中常以Revit+Dynamo工作流的形式存在。
Tips:那么Dynamo是什么?
用一句简洁明了的话来解释,Dynamo就是一款开源的三维可视化编程软件。
它能干什么?
01 解决自动化机械的重复劳动;
02 访问Revit API,实现参数化设计、快速建模、处理模型信息;
03 定制与开发其他你想要的功能;
在房建类项目BIM模型应用中,Dynamo的主要应用场景是解决机械的重复劳动、数据信息的提取与处理等方面。
一个好的软件工具,它的价值体现在能为我们当下的工作产生提质增效、正向影响的作用。同时,软件应用深度也在于大家工作中得点滴积累,技艺不分高下,能够解决问题即是最好。
今天我们与大家分享的小知识是“如何基于Revit使用Dynamo进行数据提取与导出?”
我们的目的是通过Dynamo快速提取Revit中特定图元的相关参数信息汇总到Excel表格中。
Revit软件中每个图元构件具备相应的尺寸、空间及属性等参数信息,这些参数信息分为实例参数和类型参数,它们的区别在于实例参数对应于单个构件,而类型参数对应的是该类型下的所有图元构件。
图:实例参数
图:类型参数
点击“管理”选项卡下的可视化编程栏“Dynamo”,运行Dynamo程序,新建文件进入程序运行界面,调整运行方式为“手动”。
图:Dymano主界面
编程思路:提取参数-处理参数-写入表格
01提取参数
这一过程中用到的基础节点说明如下:
“String” 创建字符串;
“Category.ByName” 按名称获取Revit类别;
“All Elements of Category” 从模型获取指定类别的所有图元;
我们通过“String”+“Category.byname”节点,以名称来提取Revit的类别,再通过“All Elements of category”节点获取所指定的类别在模型中的所有图元。
我们在Revit中绘制两面墙,通过“Element.name”、“Element.ID”两个节点编入到Dynamo程序来获取两面墙的名称和ID号。编写的程序如下图:
在Dynamo程序最左侧的“String”节点中输入“墙”,点击运行后即可成功提取墙的名字和ID信息。
接下来我们进行墙体构件的实例参数和类型参数进行提取操作。
通过选中WQ-600墙图元,其属性框内显示有实例参数“长度”的尺寸标注信息。
我们选择使用“Elmement.getparametervaluebyname”节点,这个节点可以提取图元中的一个参数信息。在它的前面接上一个“String”节点,并输入“长度”,点击运行,我们就得到了两面墙的长度参数信息。
接下来是类型参数,我们选中WQ-600墙图元,点击“编辑类型”,在弹出的类型参数对话框中,有“厚度”类型参数。
和前面提取实例参数不同的是需要在“Elmement.getparametervaluebyname”节点前添加“Element.elementType”节点,以此来获取刚刚选中的图元的族类型,通过这个节点再接入“Elmement.getparametervaluebyname”时即可提取图元的类型参数了。
02处理参数
首先使用“List.create”节点把提取出的参数集合成一个列表,再使用“List.Transpose”节点进行转置;
处理好列表顺序为名称,ID,长度,厚度。
03写入表格
写入到外部表格需要使用到“Excel.writetofile”节点,将刚刚处理好的表格连接“data”,新建一个工作表,使用“File path”节点选择该文件, 点击运行生成数据,成功将提取的信息导出到Excel中。
ps: 对于提取材质属性的需注意,确定好图元材质是实例属性还是类型属性,比如楼板与梁。
本期分享就到这里啦,我们下期再见 bye~
供稿 技术部
编辑 杨杨
转载请注明来源本文地址:https://www.tuituisoft/bim/25960.html
上一篇:没有了
下一篇:没有了