X
返回顶部
当前位置: 首页> BIM资讯> BIM技术

Revit图例教程:Dynamo for Revit自动生成门窗图例详图

发布:中文网小编3号 浏览:4432人 分享
发布于:2020-11-07 18:51

    本文先仅以生成窗的详图为例进行讲解,在文章最后会讲解如何修改节点,只需简单修改即可同时进行门窗详图的创建。

    为了方便,本文使用的Revit项目如下所示,模型中一共创建了9种类型的窗,从C1到C9。

image.png

    模型中9种类型的窗

    1.创建图例视图并绘制第一个窗大样图

    Dynamo中没有节点来创建图例视图,所以我们需要自己创建图例视图。在“视图”菜单中的“创建”面板找到“图例”进行新建,设置好视图名称和比例。

    我们也无法通过Dynamo在一个新建好的空白图例视图中创建元素,所以我们需要手动创建好第一个图例,第一个窗图例是什么族类型并不重要,不过一定要是模型中有的族类型。如下图所示,我们可以在“注释”菜单中找到放置图例的选项。也可以在项目浏览器中找到相应的族类型按住鼠标左键拖到视图中进行放置。

image.png

    通过“图例构件”放置第一个图例

    需要注意,放置图例的时候要设置好图例的视图方向,以便后面标注宽度和高度两个方向的尺寸,如下图红框所示两个位置可以设置视图方向为“立面:前”或“立面:后”。

image.png

    放置完成以后,我们通过“详图线”给它绘制图框,通过“文字”给图框中的单元格填入文字,如下图所示。

image.png

    绘制第一个窗大样

    接着我们在Dynamo中所有的操作都是基于第一个窗大样完成的。

    2.获取模型中所有的窗族类型

    获取模型中所有的窗族类型的操作比较简单,在Dynamo中选择项目中所有的窗,然后获取窗的类型。因为项目中同一个族类型下可能有好几个族实例,所以我们用“List.UniqueItems”节点过滤掉重复的族类型,得到9种族类型,与项目实际一致,具体节点如下图所示。

image.png

    获取所有窗类型

    3.复制出所有的图框

    在第1步中,我们绘制好了第一个图例的图框,其他图例的图框都是基于第一个图框进行复制。对Revit中元素进行复制的节点在Dynamo的原生节点库里面并没有,因此我们需要安装第三方的库。著名的第三方库“Clockwork”中有复制元素的节点,我们可以选择安装这个库。关于这个库,我在另一篇文章中有介绍:Revit+Dynamo实现梁自动剪切墙。

    在复制图框之前,我们需要考虑怎么排列图框,其实我们只需要考虑每行最多排几个图框即可。在这里我选择每行排列4个图框,那么一共有9种类型的窗,需要排列几行?这个问题我们可以通过Dynamo来解决,让软件自动计算排列的行数,我们只需要输入每行最多排几个图框即可,具体的节点如下:

image.png

    计算图框的排列

    有了排列的行数和列数以后我们可以对图框进行复制,在对图框进行复制之前,我们可以在Revit中先将图例和图框下面三行中右侧单元格中的文本框进行隐藏,方便我们框选需要复制的元素,对暂时不需要复制的图元进行隐藏后如下图所示:

image.png

    保留图框进行复制

    对元素进行复制的节点是“Clockwork”中的“Element.CopyByVector”,选择元素后给它一个向量确定复制元素的移动方向和距离。

    3.1确定移动方向

    方向很好确定,同一行的图框进行复制,只需要向X轴的正方向偏移;复制完成第一行以后,再向Y轴的负方向复制出第2到第(n-1)行;因为第n行的图框数量只可能小于或等于第一行的图框数量,因此我们只需要计算出第n行有几个图框,然后从第一行中从左到右选择与第n行图框数量对应的图框个数再向Y轴负方向复制即可。

    3.2确定移动距离

    在同一行中,下一个图框与当前图框的移动距离就是图框的宽度,只需要在Revit中测量一下第一个图框的宽度即可;

    在相邻两行中,下一行图框与当前行图框的移动距离就是图框的高度,同理,只需要在Revit中测量一下第一个图框的高度即可。这里需要注意列表的层级和连缀方式,复制图框的节点及完成效果如下图所示:

image.png

    创建所有图框

image.png

    图框创建完成

    4.创建所有图例

    创建图例的方式和第3步类似,只需要将第一个图例进行相应的复制即可。但是,需要注意,图例和图框不一样,我们在进行与行之间的复制时,如果某一行的元素需要复制到多行,通常是先将该行第1个元素都复制完成以后,再进行第2个元素的复制,因此,得到的结果会出现顺序上的混乱,如下图所示,需要通过“List.Transpose”节点进行转置。

image.png

    转置列表

image.png

    创建所有图例

image.png

    完成所有图例创建

    5.创建所有须填数据的文本框

    创建须填数据文本框的方式和创建图例一样,首先选择第一个大样图中下面三行中右边的须填数据的3个文本框,如果不好选中,可以在Revit中对它们使用隔离图元,方便在Dynamo中框选。然后将它们复制,同样需要注意列表的转置,如下图所示。

image.png

    所有须填数据文本框

image.png

    完成所有须填数据文本框创建

    所有需要的元素都创建完成了,接下来只要修改元素的属性,在文本框中编辑数据即可。

    6.对族类型进行排序

    我们发现,选中到Dynamo中的所有族类型并不是按照C1-C9所对应的族类型进行排序的,因此,在将族类型赋值给图例之前,需要先将族类型进行排序,具体如下图所示:

image.png

    7.修改图例的类型和须填文本框的编辑

    控制图例类型的参数是“构件类型”这个实例参数。文本框的值我们可以对族类型查询族参数获取各项参数的参数值,并做相应的编辑,然后通过“TextNote.SetText”节点改变文本框的值。具体如下图所示:

image.png

    完成图例类型设置和文本框编辑

image.png

    设置完成

    8.节点扩展及后续改进

    正如前文所说,只需对“获取所有窗类型”这部分的节点进行修改,获取到项目中所有的门和窗的类型即可完成门和窗所有图例的自动创建。这部分留给读者自行研究。


BIM技术是未来的趋势,学习、了解掌握更多BIM前言技术是大势所趋,欢迎更多BIMer加入BIM中文网大家庭(http://www.wanbim.com),一起共同探讨学习BIM技术,了解BIM应用!