修改构件形状、高度、偏移量等信息是设计人员或者BIMER们经常遇见的问题。普通的修改做法是点击构件,一个个的修改参数。这对于一个只有几个构件的小房间模型来说是很方方便啦,但这种情况在现实工作中少之又少。
通常我们接手的项目要不就是层数贼拉高的住宅,要不就是结构形式很复杂的公共建筑或者基础设施,构件的数量是数不过来的。用传统的方法修改构件不仅速度慢还容易漏选、出错,每天大部分时间都在进行重复性工作,无聊又麻烦。
当模型高度参数化之后,我们就可以用excel来修改参数了,只需要改改excel里的数,模型就会跟着修改了!话不多说,来干货!
用excel来修改构件需要两个重要的东西:excel和模型,也就是说需要把excel和模型先引入在dynamo中。
- excel数据导入
>用到的核心的节点是:Data.ImportExcel(在搜索栏中输入excel就能找到了)
这个节点的输入端有四个,只需要在file/sheetName两个节点上引入东西,首先来说file:
file就是你要选择的excel文件,需要用文件路径引入进来,用下面三个节点File Path File From Path String
前两个节点就不多解释了,看一眼就懂得,String里的内容是你要获取数据的表格的名称
>就此就完成了excel数据的导入,导入的数据存储在一个list里
>下面要实现锁定excel中某行某列的数据,用到的核心节点是List.GetItemAtIndex
关于这个节点的原理我就不赘述了,直接上用法,假设我要选11E那个数字7000,首先要在Data.ImportExcel里B9在哪
找到后先选择行,也就是@L2那个数字,8,用Code Block输入,输入之后会形成一个新的列表,这个列表中就只有8 List这一行的数了
之后用同样的方法选到列,在Code Block里输入1,就能锁定excel中B9这个数字啦~
到此excel表数据导入,数据筛选就结束了,下面要做的是用选出来的这个数据控制Revit构件的参数。
2. Revit构件导入
>改变构件参数的核心节点是Element.SetParameterByName
element是你要修改的构件,parameterName是你要改的参数的名字,value是你要把参数改成什么。下面一个个说。
我们批量选element用节点Categories和All Elements of Category, 你要选择什么构件,直接在下拉框中选就可以了。
String里的内容是你要修改的参数,这就需要你建的模型是参数化的,才能最高程度的改你想改的参数。我在这里演示改构件高这个参数,所以我在string里输入的是“高”。
Value是你想要改成什么样,就是咱们上面说的从excel里挑选出来的数,直接把两个节点连接就可以了。
>>>>>到此我们就算是彻底实现这个小功能啦~下面我们来总结一下用过哪些节点
>>>>总共用到的节点有
>导入excel数据:
File Path
File From Path
Data.ImportExcel
List.GetItemAtIndex
>导入模型:
Categories
All Elements of Category
Element.SetParameterByName
>公用节点
String
Code Block
其中核心的节点是:Data.ImportExcel Element.SetParameterByName
整个实现过程如下所示
实现起来是这样的~
https://s31.aconvert.com/convert/p3r68-cdx67/rhz57-16kjk.gif
希望可以帮助到大家~~~~