首页/BIM专题

Dynamo软件教程:如何使用Dynamo批量创建图纸?

发布于:2023-02-10
2736人 分享

本文源自公众号:互联网螃蟹化石

 

本文介绍dynamo批量创建图纸,目前暂时没有好的办法自动把视图放置到图纸空间中,创建完成之后自己手动拖动视图到图纸空间中,这介绍创建图纸的方法;

作用

可以根据给定的excel表,批量创建图纸;

所需工具

revit:2018

dynamo;2.0(安装revit2018后默认自带)

Ms excel或者WPS表格

创建一个图纸

打开revit,点击管理-可视化编程-dynamo启动dynamo;

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

点击新建,弹出dynamo工作空间:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

把自动运行调整为手动,写完程序再运行:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

展开Revit——Views——Sheet:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

单击ByNameNumberTitleBlockAndView,就会在工作空间中弹出创建图纸的节点:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

节点的左边是需要输入的数据,节点的右边是输出的结果,我们需要给左边每个接口“灌入”数据,首先看sheetName,sheetNumber,鼠标悬停在sheetName时,有个string的提示符,说明需要输入的是string类型的数据(sheetNumber同理)

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

双击空白的地方,出现codeBlock,在里面输入"01"“给排水平面图”之类的文字,要带双引号;

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

把输入连接到两个输入端:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

第三个titleBlockFamilyType,就是图框:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

输入类型是familyType:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

在搜索框搜索"familyType"(两个单词中间有空格),找到selection下的familyTypes,单击,然后选择图框,连接到titleBlockFamilyType:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

最后一个输入是view:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

同理,搜索框搜索view,选择selection下的views:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

随便选一个视图,连接到输入端的view:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

点击运行,回到revit空间,就可以看到图纸已经被成功创建;

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

批量创建多个图纸

了解怎么创建一个,创建多个的原理也是相同的,创建一个图纸需要一个数据,创建多个图纸只需一次输入多个数据就可以了;先用excel准备好多个数据,如下:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

用dynamo读取excel数据

点击Office——Excel——ReadFromFile:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

输入端需要file,sheetName,readAsString,file:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

要获取file,就要用File.FromPath,File.Frompath需要path这个输入参数,要获取path,需要用到File Path,然后点击浏览,选择创建好的excel文件即可;sheetName是excel的工作表名称:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

最后一个输入参数reasAsString默认为False,默认就可以;

先运行看看现在得到什么数据:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

从结果可知,dynamo先读取excel行,再读取列:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

我们不需要图纸编号,图纸名称这一行,而且需要第一列放一起,第二列一起:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

需要在dynamo里面对数据进行处理:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

List.Deconstruct可以生成第一行和除第一行以外的所有行:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

然后进行行列转置,List.Transpose可以进行行列转置,结果如下:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

接下来就是把之前单个数据替换成现在的多个数据:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

用List.GetItemAtIndex读取列表中的某一项:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

第0项是编号,第一项是图纸名称。注意看list前面的编号,把对应数据连接到输入端,点击运行:

腿腿教学网-Dynamo软件教程:如何使用Dynamo批量创建图纸?

批量生成图纸完成;(按我这个数据处理,处理出来的数据可能会有空值,运行会标黄报错,不过也可以生成,报错是报空值的错误,也就是说,你需要继续完善这个数据处理的过程,清除无用空值可以用list.clean,自行研究吧)

虽然是半自动,不能自动添加视图到图纸空间中,但半自动的程序,它也是个程序,好过没有程序,不一定非要写出很复杂、全自动、智能化等等,才敢拿出来用。剩下的优化完善,就交给各位大佬了,要是有办法批量放置视图到图纸空间中,求指点一下。

转载请注明来源本文地址:https://www.tuituisoft/bim/25545.html

上一篇:没有了 下一篇:没有了