一种Revit族参数值批量添加的方法、装置、设备及介质与流程

文档序号:37214193发布日期:2024-03-05 15:01阅读:13来源:国知局
一种Revit族参数值批量添加的方法、装置、设备及介质与流程

本发明属于bim,尤其涉及一种revit族参数值批量添加的方法、装置、设备及介质。


背景技术:

1、bim(building information modeling)技术是一种以图形为载体同时可以加载或关联上众多相关工程信息等模型的构建与应用技术。dynamo是一款开源的三维可视化编程软件,能够让用户直观地编写脚本,操控程序的各种行为。

2、在传统的revit族参数值添加工作中,通常是采用一下两种方法:

3、1)手动打开需要添加参数值的族,找到对应需要添加的参数,将参数值手动录入在族参数内,但由于常规情况下需要添加的参数数量多且,工作反复,导致消耗的时间非常多,且因为反复的工作容易产生,参数录入错误,以及后期参数值发生改变的情况下,为修改参数值及其浪费时间。

4、2)通过网络找到市面上主流的revit插件,通过注册账号获得一段时间内的免费试用时间,通过二次开发后的插件来实现批量添加族参数值。但是由于该方是通过第三方插件实现,可能存在信息泄露、试用时间过期后无法更新后续信息内容,以及需要通过购买使用权来实现信息添加功能的情况。

5、所以,采用传统的手动添加参数值方法,很难快速、准确录入对应的参数值。


技术实现思路

1、为解决手工反复添加参数或试用第三方插件的低效问题,本发明提供一种revit族参数值批量添加的方法、装置、设备及介质,可以将大量的数据快速、批量且准确无误的输入到族对应的参数名内。

2、一种revit族参数值批量添加的方法,步骤顺序包括:

3、s1、为revit环境中当前运行的revit项目设定对应的族模板;所述族由多个族参数名以及各族参数名对应的族参数值构成;

4、s2、通过excel表格收集待添加入所述族的数据;

5、s3、采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入指定族中。

6、进一步地,所述采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入所述族模板的指定族中包括:

7、在插件dynamo的工作空间中创建filepath节点ⅰ、file.frompath节点、excel.readfromfile节点、list.transpose节点、string节点ⅰ、string节点ⅱ、boolean节点、selectmodelelements节点、count节点、codeblock节点ⅰ、element.elementtype节点、element.setparameterbyname节点;

8、其中,filepath节点ⅰ的输出端连接file.frompath节点的输入端path,file.frompath节点的输出端file连接excel.readfromfile节点的输入端file,string节点ⅰ的输出端连接excel.readfromfile节点的输入端sheetname,boolean节点的输出端连接excel.readfromfile节点的输入端readasstrings,excel.readfromfile节点的输出端data连接list.transpose节点的输入端lists,list.transpose节点的输出端lists连接codeblock节点ⅰ的输入端list,selectmodelelements节点的输出端elements连接count节点的输入端list,count节点的输出端int连接codeblock节点的输入端x,codeblock节点ⅰ的输出端连接element.setparameterbyname节点的输入端value;string节点ⅱ的输出端连接element.setparameterbyname节点的输入端parametername;同时,selectmodelelements节点的输出端elements还连element.elementtype节点的输入端element,element.elementtype节点的输出端elementtype连接element.setparameterbyname节点的输入端element;

9、其中,待添加入所述族的数据记录在excel表格的工作表sheet2中,并根据工作表sheet2获取工作表sheet1:

10、将excel表格的各行分别表征一个族,在工作表sheet2中选中感兴趣的x个族,并将感兴趣的族在工作表sheet2中的所在行的第一列单元格中的族参数值分别作为工作表sheet1第2行至第x+1行的第2列单元格的族参数值,同时根据microsoft excel中自带的表格内置函数,将感兴趣的族在工作表sheet2中的所在行的第一列单元格关联的另一列单元格存储的族参数值提取出来,作为工作表sheet1第2行至第x+1行的第3列单元格存储的族参数值;

11、然后,将excel表格的工作表sheet2的存储路径写入filepath节点ⅰ中,以此通过filepath节点ⅰ向file.frompath节点调用工作表sheet2时提供调用路径;string节点ⅰ写入excel表格的工作表sheet1的名称并将其以字符串的形式输入excel.readfromfile节点的输入端sheetname;同时,将boolean节点设置为true,使得excel.readfromfile节点的输入端readasstrings以字符串的形式读取工作表sheet1的名称;excel.readfromfile节点将工作表sheet1第2列的第2行至第x+1行的内容通过list.transpose节点转发给codeblock节点ⅰ的输入端list,codeblock节点ⅰ将工作表sheet1第2列的第2行至第x+1行的单元格中的族参数值发送给element.setparameterbyname节点的输入端value;string节点ⅱ写入工作表sheet1第2列的第2行至第x+1行的单元格的定位信息以及工作表sheet1第2列的第2行至第x+1行的单元格在excel表格中所表征的族参数名称,并将其以字符串的形式输入element.setparameterbyname节点的输入端parametername;

12、将工作表sheet1中的各感兴趣行的id写入selectmodelelements节点,其中,每一行的单元格代表将要写入族模板中的指定族的所需族参数值;

13、element.elementtype节点用于获取selectmodelelements节点所选中的感兴趣行对应的族参数值在revit项目中对应的族参数名,并将族参数名发送给element.setparameterbyname节点。

14、进一步地,一种revit族参数值批量添加的方法,还包括:

15、第x行中的x的确定方法为:采用count节点用于对所选中的行的id进行计数,将行数作为x输入codeblock节点ⅰ输入端x。

16、进一步地,一种revit族参数值批量添加的方法,还包括filepath节点ⅱ、string节点ⅲ、codeblock节点ⅱ、excel.writetofile节点;

17、selectmodelelements节点的输出端elements还连接excel.writetofile节点的输入端data,filepath节点ⅱ的输出端连接excel.writetofile节点的输入端filepath,string节点ⅲ的输出端连接excel.writetofile节点的输入端sheetname,codeblock节点ⅱ的输出端连接excel.writetofile节点的输入端startrow和startcol;

18、待添加入所述族模板的数据记录在excel表格的工作表sheet2中,将excel表格的工作表sheet2的存储路径写入filepath节点ⅱ中,以此通过filepath节点ⅱ向excel.writetofile节点调用工作表sheet2时提供调用路径;string节点ⅲ写入excel表格的工作表sheet3的名称并将其以字符串的形式输入excel.writetofile节点的输入端sheetname;codeblock节点ⅱ写入0,表示将工作表sheet2的第1行和第1列分别作为起始行startrow和起始列startcol;点击插件dynamo的运行按钮后,selectmodelelements节点所选中的感兴趣族参数值对应的族参数名以及族参数名排列顺序将以工作表sheet3第1行第1列为存储起点依次写入工作表sheet3中。

19、进一步地,在插件dynamo的工作空间下,各节点的操作顺序如下:

20、第一步、创建好各个节点并按照设定规则连接各个节点之间的输入端和输出端;

21、第二步、利用selectmodelelements节点在工作表sheet1中选择感兴趣的族;

22、第三步、通过filepath节点ⅰ选择收集好待添加入所述族模板的数据的excel表格的工作表sheet2;

23、第四步、在string节点ⅲ中写入revit项目中需要添加的族参数值对应的族参数名以及需要添加族参数值的族参数名排列顺序的存储地址,且存储地址为excel工作表sheet3;

24、第五步、在codeblock节点ⅱ写入0,将工作表sheet3第1行第1列的单元格作为存储起点;

25、第六步、基于excel表格内置函数,将感兴趣的族在工作表sheet2中的所在行的第一列单元格关联的另一列单元格存储的族参数值提取出来;

26、第七步、通过filepath节点ⅱ选择收集好待添加入所述族模板的数据的excel表格的工作表sheet2;

27、第八步、在string节点ⅰ中写入工作表sheet1;

28、第九步、在string节点ⅱ写入工作表sheet1第2列的第2行至第x+1行的单元格的定位信息以及工作表sheet1第2列的第2行至第x+1行的单元格在excel表格中所表征的族参数名;

29、第十步、点击插件dynamo的运行按钮。

30、进一步地,一种revit族参数值批量添加的方法,还包括:

31、步骤六中所述的excel表格内置函数为:

32、(if(or(a2="",countif(c:c,a2)=0),"",vlookup(a2,c:d,2,0))))

33、其中,该内置函数的作用为:在excel表格的工作表sheet2中查找a2单元格中的值,并返回与该值对应的另一个单元格中的值,如果找不到对应的值,则返回空值。

34、进一步地,一种revit族参数值批量添加的方法,还包括:

35、将已经完成节点设置的dynamo参数另存为dynamo工作空间,通过分享dynamo工作空间来实现跨revit项目的使用;同时,通过dynamo自带的播放器功能,将已经创建好的需要输入信息的节点设置为输入/输出按钮,再将dynamo工作空间保存为一个dynamo播放器。

36、一种revit族参数值批量添加的装置,所述装置包括:

37、第一模块,用于为revit环境中当前运行的revit项目设定对应的族模板;

38、第二模块,用于通过excel表格收集待添加入所述族模板的数据;

39、第三模块,用于采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入所述族模板中。

40、一种电子设备,所述设备包括一组或者多组处理器和存储器,所述存储器用于存储一组或多组程序;

41、当所述一组或多组程序被所述处理器执行时,使得所述处理器实现如权利要求1至6中任意一个项所述的方法。

42、一种存储有计算机程序的计算机可读存储介质,该计算机程序被执行时实现如权利要求1至6中任意一个项所述的方法。

43、有益效果:

44、1、本发明提供一种revit族参数值批量添加的方法,采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入所述族模板的指定族中,可以将大量的数据,准确无误的输入到族对应的族参数名内,该赋值的过程当中不会出错,与手动输入相比,工作时间上缩短了近乎90%的时间,并且即使出现数据错误、数据更新、需要赋值的族的数量增加的情况下,都可以通过直接修改excel表格的方式重新赋值,缩短了工作时间的同时,也避免了错误,有利于房建项目平台信息质量的精细控制,促进了房建项目智能建造技术的发展。

45、2、本发明提供一种revit族参数值批量添加的方法,主要通过添加element.setparameterbyname节点对应的输入输出端来实现与revit的族的元素的交互;同时,本发明可以在string节点的输入框内直接输入想要添加族参数值的参数名,比起挑选更加方便,同时在族参数较多时可以做到关键字搜索,也可以重复使用,缩短了整体流程的节点数量,是脚本运行速度更快。

46、3、本发明提供一种revit族参数值批量添加的方法,可以将已经完成的dynamo参数通过另存为dynamo工作空间通过分享dynamo工作空间来实现在跨项目的使用,可以通过dynamo自带的播放器功能,将已经创建好的需要输入新的节点设置为输入/输出按钮,来保存一个dynamo播放器。该播放器为:一个省略过程仅保留输入输出按钮的窗口,通过窗口可以使不懂得dynamo编程的用户实现改批量添加族参数的功能;该方法为dynamo自带功能,即使在低版本dynamo没有播放器功能也可通过共享工作空间文件来实现该方法的实施,本发明全过程免费,且与第三方插件的不同在于,完全自定义,还可在本方法的基础上进行功能迭代,实现更全面更广泛的应用。

47、4、本发明提供一种revit族参数值批量添加的方法,将revit项目中需要添加族参数值的族名称以及需要添加参数值的族名称排列顺序通过dynamo导出到microsoft excel中,并通过microsoft excel中自带的表格内置函数通过对比族名称来返还对应的族参数,能够避免出现需要添加族参数值的族的数量与表格中参数值的族的数量不一致的情况。

48、5、本发明提供一种revit族参数值批量添加的装置,采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入所述族模板的指定族中,可以将大量的数据,准确无误的输入到族对应的族参数名内,该赋值的过程当中不会出错,与手动输入相比,工作时间上缩短了近乎90%的时间,并且即使出现数据错误、数据更新、需要赋值的族的数量增加的情况下,都可以通过直接修改excel表格的方式重新赋值,缩短了工作时间的同时,也避免了错误,有利于房建项目平台信息质量的精细控制,促进了房建项目智能建造技术的发展。

49、6、本发明提供一种revit族参数值批量添加的电子设备,采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入所述族模板的指定族中,可以将大量的数据,准确无误的输入到族对应的族参数名内,该赋值的过程当中不会出错,与手动输入相比,工作时间上缩短了近乎90%的时间,并且即使出现数据错误、数据更新、需要赋值的族的数量增加的情况下,都可以通过直接修改excel表格的方式重新赋值,缩短了工作时间的同时,也避免了错误,有利于房建项目平台信息质量的精细控制,促进了房建项目智能建造技术的发展。

50、7、本发明提供一种revit族参数值批量添加的存储介质,采用revit环境中自带的插件dynamo将excel表格收集的数据批量导入所述族模板的指定族中,可以将大量的数据,准确无误的输入到族对应的族参数名内,该赋值的过程当中不会出错,与手动输入相比,工作时间上缩短了近乎90%的时间,并且即使出现数据错误、数据更新、需要赋值的族的数量增加的情况下,都可以通过直接修改excel表格的方式重新赋值,缩短了工作时间的同时,也避免了错误,有利于房建项目平台信息质量的精细控制,促进了房建项目智能建造技术的发展。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1