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

BIM过梁怎么画?BIM技术中用Dynamo 门窗过梁添加制作讲解

发布:中文网小编3号 浏览:4486人 分享
发布于:2020-07-03 17:05

    经过一段时间的Dynamo学习,决定测试一下自己的学习成果,从土建建模个人觉得比较麻烦的过梁添加进行制作,下面就是应用到的节点详解,希望大家能够对整个布置提出建议,进行优化。

image.png

    一.数据处理

image.png

    在这里先对整体项目进行选中,从中对墙,门,窗进行划分,方便后面进行划分整理,由于墙体需要特殊的节点进行读取,所以对整个构件的族进行处理,同时应用String.AllIndicesOf,String.IndexOf节点进行选取选取。

image.png

    采用FamilyInstance.GetType节点,对窗体,门数据进行读取

image.png

    判断宽度,将规范宽度填入,与整个门宽数据进行判断,再利用List.AllIndicesOf与IF语句进行区分,整个逻辑顺序分为上图中进行梁高度H与梁宽度B的判断

image.png

    将门型号,门宽度和门高度提取,对门宽度和门高度进行数据处理,完成梁线,过梁型号选取的前期准备。

    二、、采用数学公式对之前提取的数据进行处理,这一步骤的目的是为了获取梁中心线X,Y坐标与梁顶高度值。

image.png

image.png

    使用Element.GetLocation节点,获取门类型的中心点位置,利用宽度进行两边拓展,利用高度加上过梁高度进行梁高度最终确认,中间使用Point.Add节点进行两侧点计算,之后使用Line.ByStartPointEndPoint进行连接,确定最终梁线。

    三、过梁型号与梁线匹配

image.png

    使用FamilyInstance.GetHost节点进行门归属墙选取,之后通过FamilyType.Name与WallType.ByName节点进行墙体选取和进入能够读取数据状态,通过Element.GetParamaterValueByName与List.AllIndicesOf节点进行分类,将不同墙体厚度进行区分。

image.png

    这里对墙线向量进行选取是通过将数组拍平,通过List.AllIndicesOf节点进行重新排序,通过固定的排序将所有数据进行重新组织。

image.png

    通过前面获取的梁线与墙线通过Vector.IsParallel进行判断是否需要进行旋转;

image.png

    对处于不平行状态的梁线与墙位置进行选取,并通过Vector.angleAboutAxis节点对角度进行读取

image.png

    再次使用索引命令,将梁线选取,在使用180-角度的方式计算改旋转角度,保证墙体再倾斜状态下能够与墙体保证平行。通过Geometry.Rotate节点进行旋转应用得到与墙体平行位置的梁线,到这一步所有的梁线处理完毕,下一步进行构件的匹配。

    四、构件名称匹配

    对墙体厚度进行读取按照之前确定的排序顺序,并进行字符串转化,并通过之前根据门宽度确定的梁高度进行归属

image.png

image.png

    通过字符串的处理,得到构件名称(此处构件名称处理太过冗长,希望大家指正),得到构件名称之后,根据前面筛选的平行判断条件选出的梁线进行分别对应。

image.png

    再次使用List,GetItemIndex节点进行排序选取,使梁线对应的构件名称能够正确对应,标高通过Levels进行选择,最后通过StructuralFraming.BeamByCurve节点进行过梁的创建和放置。本次的讲解针对的其中一组数据,剩余的三组数据采用相同的方式进行归类整理,就可以通过Dynamo创建整个项目的门窗过梁。

image.png

    使用上面方式创建的门过梁,能够在不使用插件的起提下提高自己的工作效率。


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