element 表格某一列可点击_分享 | dynamo读取Revit构件信息并写入Excel表格

本文介绍了如何使用Dynamo从Revit项目中选取构件,读取其参数值,并直接写入Excel表格,简化了从明细表导出到Excel的过程。详细步骤包括选择模型元素、获取参数值、创建Excel文件以及数据写入。强调了Dynamo在自动化数据处理中的作用,以及族参数设置对于后期BIM应用的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   创建Revit模型时,为了更好的服务后期BIM应用,创建族时会添加好多共享参数。通常情况,当族载入项目,模型创建完成后,都会通过明细表通过选择明细表字段,得到想要得到明细表。

   举一个例子,大型乔木移植是绿化工程中一项非常重要的工作,为后期工程结算的需要,小编创建了这么一个族《一种可服务编制预算的植物族》

13f0b9a6415f3ea7425ebc0a301c7259.png

      载入项目,通过明细表统计出项目大型苗木移植的工程结算清单。

3bfd679266c5f57c69640c9a013bf582.png

     但这里有个问题,该明细表需要导出TXT文件,再转化为Excel表格。应用起来还是不太方便

     今天,小编介绍一种通过dynamo直接在项目中获取参数值并写入表格的方法。

    1、在Revit项目文件中框选需要统计的图元,并读取相关参数的值。

718bdc172d19cf93181299d097eb3497.png

     (1)Selct  Model Elements节点,选择所有拟统计的构件。该节点统计出选择的构件的数量、类型名称及ID,如上图左边节点所示。

    (2)Element.GetParameterValueByName,通过参数名称获取图元参数值。该节点提供了两个输入(parameterName和element)和一个输出。如上图右边节点所示,参数名可以通过两种方式创建:

      a、code Block创建参数名list。格式为{"N1","N2","N3".......},这里即输入各个想提取值的参数名(ParameterName),直接形成列表。

      b、通过通过List.Create节点创建。如下图所示。

b2b8aff9bf54b3acf9fb0f9952463aa6.png

 (3)多次尝试发现,dynamo是无法实现实例参数和类型参数同步读取。因此在读取类型参数时,需添加一个Element.Eelement Tpye节点。而读取实例参数时,则不需要该节点。

     如此就将结果读取,并存入一个list。

2、创建一个空Excel表格。采用Excel.writeToFile节点,将读取的值写入表格。分别给输入端赋值filepath(文件路径)、sheetName(工作表名称)、startRow(初始行)、startCol(初始列)、date( 拟写入的数据)、overWrite(是否写入)。

4d4d995f50650818ff62d2950b5aafb2.png

3、data是由两个list组成:item作为表头,即由Code Block或List.creat创建的参数名称,而参数值(value)则是第1步节点读取到的参数值。

4、通过filepath节点选择目标Excel文件,点击运行,则表格自动生成。

790e7000b88c91a53ecb33fcd9770cae.png

    读取完数据后,可以再通过其他数据加工,形成成果文件,以供业务应用。重新选择构件或者变更Code Block 的“字段”,重新运行,Excel相关数据自动更新。

    这个过程需要注意如下两点:

    1、该流程可以阶段输入自动创建Excel文件及表格名称。

    2、在这个节点需要采用“叉积”才能将每种类型的每参数的值读出。

7806e969cda11c23a47a0dca19d8ce2b.png

    3、回到起初,在创建族的时候,族参数的设置,对后期的业务至关重要。

    这也算是小编的第一个简单的dynamo应用,希望以后在应用过程中更多的dynamo应用分享给大家。

以下是一个简单的Dynamo程序,可以框选Revit结构梁,选择结构梁最低的构件将其颜色标注出来: 1. 首先,在Dynamo中打开一个新的空白文件。 2. 在节点库中搜索“Element.IntersectsRectangle”,然后将其拖动到空白图纸中。 3. 连接一个Revit文档节点到“Element.IntersectsRectangle”的输入端口。 4. 点击Element.IntersectsRectangle”节点,然后在“Properties”选项卡中设置一个矩形框选区域。 5. 在节点库中搜索“Element.Type”节点,然后将其拖动到空白图纸中。 6. 连接“Element.IntersectsRectangle”的输出端口到“Element.Type”的输入端口。 7. 在“Element.Type”节点中选择“StructuralFraming”类型。 8. 在节点库中搜索“List.SortByValue”节点,然后将其拖动到空白图纸中。 9. 连接“Element.Type”的输出端口到“List.SortByValue”的输入端口。 10. 在节点库中搜索“Element.Level”节点,然后将其拖动到空白图纸中。 11. 连接“Element.Type”的输出端口到“Element.Level”的输入端口。 12. 在“List.SortByValue”节点中选择“Minimum”选项。 13. 在节点库中搜索“Element.OverrideColorInView”节点,然后将其拖动到空白图纸中。 14. 连接“List.SortByValue”的输出端口到“Element.OverrideColorInView”的输入端口。 15. 在“Element.OverrideColorInView”节点中选择一个颜色。 16. 点击运行按钮,程序将会框选结构梁,选择最低的构件将其颜色标注出来。 请注意,这只是一个简单的程序示例,您需要根据具体情况进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值