Dynamo_导入图纸信息

=======================修正=========================

修正1(临时图纸编号)


=======================原文=========================

想用Excel先把图纸信息编辑好,然后导入Revit对图纸进行修改。

看到一些插件其实也有类似功能了,这次使用Dynamo做一个简单的尝试。

实现的逻辑其实相对简单,首先获取Revit中所有图纸的图纸名称,然后将获得的图纸名称与Excel中记录的图纸名称比对,查找出Excel中图纸名称对应的数据,再将数据赋回Revit的对应图元的参数上。

而通过Dynamo实现这个过程的要点主要有两个:

1、比对图纸名称,获得对应的索引

我的方法是通过List.FirstIndexOf节点将两个数据做一个对应的查找,这样出来后的数据会出现很多-1,去掉-1后就是我们要拿到的索引,处理的方法比较多,我这里直接用GroupByFunction取出来,取得索引后面就可以获得对应的数据了。

2、要注意输出的列表结构

设置Revit元素的参数节点是Element.SetParameterByName,这个节点需要输入element,parameterName,value。要注意输入的每个element都要对应一组parameterName和value,也就是说一般输入应该对应的输入的列表结构分别是二级列表,三级列表,三级列表。value的值从Excel获取后保持三级列表是没问题的,parameterName可能先要通过List.OfRepeatedItem才能获得对应的列表。

这次只是简单的尝试,很多东西暂没有考虑,比如从逻辑上来说,我认为还可以先对Revit中的图纸信息先进行一次识别,如果与Excel中数据不一致再进行对应的修改,或者是否还应该对图纸中的视图进行一定的控制等等,期待后面有机会在这个方面进行深化。


以下为Excel格式:

图纸名称<图纸信息1><图纸信息2>···
<图名1>   
···   
以下为核心节点:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值