sql 实现批量修改_参数化+Dynamo实现通过修改excel自动批量修改构件信息

本文介绍了如何通过Dynamo结合Excel和SQL实现批量修改Revit构件参数,包括导入Excel数据、筛选特定行和列,以及使用Element.SetParameterByName节点更改构件属性,提高工作效率。
摘要由CSDN通过智能技术生成

bd3f966cc2d41c4ec282f94118ae8a81.png

修改构件形状、高度、偏移量等信息是设计人员或者BIMER们经常遇见的问题。普通的修改做法是点击构件,一个个的修改参数。这对于一个只有几个构件的小房间模型来说是很方方便啦,但这种情况在现实工作中少之又少。

通常我们接手的项目要不就是层数贼拉高的住宅,要不就是结构形式很复杂的公共建筑或者基础设施,构件的数量是数不过来的。用传统的方法修改构件不仅速度慢还容易漏选、出错,每天大部分时间都在进行重复性工作,无聊又麻烦。

当模型高度参数化之后,我们就可以用excel来修改参数了,只需要改改excel里的数,模型就会跟着修改了!话不多说,来干货!


用excel来修改构件需要两个重要的东西:excel和模型,也就是说需要把excel和模型先引入在dynamo中。

  1. excel数据导入

>用到的核心的节点是:Data.ImportExcel(在搜索栏中输入excel就能找到了)

c37b3ad2da93daa04b6aa01fd2ed1127.png

这个节点的输入端有四个,只需要在file/sheetName两个节点上引入东西,首先来说file:

file就是你要选择的excel文件,需要用文件路径引入进来,用下面三个节点File Path File From Path String

524a7c92294a66438bf68ee91695fb9a.png

前两个节点就不多解释了,看一眼就懂得,String里的内容是你要获取数据的表格的名称

27b917fd9668794bafa836d5512cbbbc.png

>就此就完成了excel数据的导入,导入的数据存储在一个list里

55c460f1dbb3503188b9431529f7cd8d.png

959c616c40d2fb3466af2df721981e7b.png

>下面要实现锁定excel中某行某列的数据,用到的核心节点是List.GetItemAtIndex

cccebaafa42d02359f44401cf2b01839.png

关于这个节点的原理我就不赘述了,直接上用法,假设我要选11E那个数字7000,首先要在Data.ImportExcel里B9在哪

8e2e4fc560308b2ec59add7f2be53a59.png

找到后先选择行,也就是@L2那个数字,8,用Code Block输入,输入之后会形成一个新的列表,这个列表中就只有8 List这一行的数了

4ee2901d042870262a6cf69406b8c239.png

之后用同样的方法选到列,在Code Block里输入1,就能锁定excel中B9这个数字啦~

7fde9c4763b29acc39e7e55680257492.png

到此excel表数据导入,数据筛选就结束了,下面要做的是用选出来的这个数据控制Revit构件的参数。

2. Revit构件导入

>改变构件参数的核心节点是Element.SetParameterByName

98659912c10d8a5405efc4de4dfa2fb1.png

element是你要修改的构件,parameterName是你要改的参数的名字,value是你要把参数改成什么。下面一个个说。

我们批量选element用节点CategoriesAll Elements of Category, 你要选择什么构件,直接在下拉框中选就可以了。

32a5bd2f07b5ee170940a361e936fd6c.png

String里的内容是你要修改的参数,这就需要你建的模型是参数化的,才能最高程度的改你想改的参数。我在这里演示改构件高这个参数,所以我在string里输入的是“高”。

bc644c26588909e753cdb5a51f24bbe3.png

Value是你想要改成什么样,就是咱们上面说的从excel里挑选出来的数,直接把两个节点连接就可以了。

25e57ef30c59a8341e7bdbf5de1b6e56.png

>>>>>到此我们就算是彻底实现这个小功能啦~下面我们来总结一下用过哪些节点

>>>>总共用到的节点有

>导入excel数据:

File Path

File From Path

Data.ImportExcel

List.GetItemAtIndex

>导入模型:

Categories

All Elements of Category

Element.SetParameterByName

>公用节点

String

Code Block

其中核心的节点是:Data.ImportExcel Element.SetParameterByName

整个实现过程如下所示

dd4c47c52845e8d0403069cfa4822e9d.png

实现起来是这样的~

https://s31.aconvert.com/convert/p3r68-cdx67/rhz57-16kjk.gif


希望可以帮助到大家~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值