首页/BIM专题

Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

发布于:2023-02-10
5846人 分享

本文源自微信公众号:圆创BIM

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出? 

作为BIM从业者,我们或多或少地接触过Dynamo,它在工作中常以Revit+Dynamo工作流的形式存在。

Tips:那么Dynamo是什么?

用一句简洁明了的话来解释,Dynamo就是一款开源的三维可视化编程软件。

它能干什么?

 01 解决自动化机械的重复劳动;

 02 访问Revit API,实现参数化设计、快速建模、处理模型信息;

 03 定制与开发其他你想要的功能;

在房建类项目BIM模型应用中,Dynamo的主要应用场景是解决机械的重复劳动、数据信息的提取与处理等方面。

一个好的软件工具,它的价值体现在能为我们当下的工作产生提质增效、正向影响的作用。同时,软件应用深度也在于大家工作中得点滴积累,技艺不分高下,能够解决问题即是最好。

今天我们与大家分享的小知识是“如何基于Revit使用Dynamo进行数据提取与导出?”

我们的目的是通过Dynamo快速提取Revit中特定图元的相关参数信息汇总到Excel表格中。

01Revit中的图元参数类型

Revit软件中每个图元构件具备相应的尺寸、空间及属性等参数信息,这些参数信息分为实例参数和类型参数,它们的区别在于实例参数对应于单个构件,而类型参数对应的是该类型下的所有图元构件。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

图:实例参数

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

图:类型参数

02运行Dynamo程序

点击“管理”选项卡下的可视化编程栏“Dynamo”,运行Dynamo程序,新建文件进入程序运行界面,调整运行方式为“手动”。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

图:Dymano主界面

03Dynamo可视化编程

编程思路:提取参数-处理参数-写入表格

01提取参数

这一过程中用到的基础节点说明如下:

“String” 创建字符串;

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

“Category.ByName” 按名称获取Revit类别;

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

“All Elements of Category” 从模型获取指定类别的所有图元;

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

我们通过“String”+“Category.byname”节点,以名称来提取Revit的类别,再通过“All Elements of category”节点获取所指定的类别在模型中的所有图元。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

我们在Revit中绘制两面墙,通过“Element.name”、“Element.ID”两个节点编入到Dynamo程序来获取两面墙的名称和ID号。编写的程序如下图:

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

在Dynamo程序最左侧的“String”节点中输入“墙”,点击运行后即可成功提取墙的名字和ID信息。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

接下来我们进行墙体构件的实例参数和类型参数进行提取操作。

通过选中WQ-600墙图元,其属性框内显示有实例参数“长度”的尺寸标注信息。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

我们选择使用“Elmement.getparametervaluebyname”节点,这个节点可以提取图元中的一个参数信息。在它的前面接上一个“String”节点,并输入“长度”,点击运行,我们就得到了两面墙的长度参数信息。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

接下来是类型参数,我们选中WQ-600墙图元,点击“编辑类型”,在弹出的类型参数对话框中,有“厚度”类型参数。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

和前面提取实例参数不同的是需要在“Elmement.getparametervaluebyname”节点前添加“Element.elementType”节点,以此来获取刚刚选中的图元的族类型,通过这个节点再接入“Elmement.getparametervaluebyname”时即可提取图元的类型参数了。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

02处理参数

首先使用“List.create”节点把提取出的参数集合成一个列表,再使用“List.Transpose”节点进行转置;

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

处理好列表顺序为名称,ID,长度,厚度。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

03写入表格

写入到外部表格需要使用到“Excel.writetofile”节点,将刚刚处理好的表格连接“data”,新建一个工作表,使用“File path”节点选择该文件, 点击运行生成数据,成功将提取的信息导出到Excel中。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

ps: 对于提取材质属性的需注意,确定好图元材质是实例属性还是类型属性,比如楼板与梁。

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

腿腿教学网-Dynamo技术分享:如何基于Revit使用Dynamo进行数据提取与导出?

本期分享就到这里啦,我们下期再见 bye~

供稿 技术部

编辑 杨杨

转载请注明来源本文地址:https://www.tuituisoft/bim/25960.html

上一篇:没有了 下一篇:没有了