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

Dynamo怎么放置楼板?Dynamo批量将墙附着到楼板

发布:中文网小编3号 浏览:1760人 分享
发布于:2021-05-28 17:02

    文章来源:IAmTheOne

image.png

    前不久做土建的模型,由于我一直做机电设备专业,土建专业涉猎较少,便出现了这个问题:先画墙体并没有在意墙体的底部偏移问题,默认值均为0。后画楼板的时候发现楼板偏移量并不是0,而是-150,还有多处降板。墙体悬浮在楼板上,要再逐个墙去修改它的底部偏移至楼板表面,工作量何其大!

image.png

    如此机械,枯燥,巨大而又有规律可循的工作还是交给计算机去完成比较靠谱,下面是基于Dynamo的解决方案:

    总体思路:找到墙体所要附着到的楼板,获取到楼板的底部偏移值并将其赋值到墙体的底部偏移即可。后面的步骤很容易,使用Element.GetParameterValueByName和Element.SetParameterByName

    即解决,问题的症结就在如何找到每面墙体所对应的楼板。

    获取到项目中所有的墙和楼板,并获取到他们的几何实体:

image.png

    墙体要附着的楼板在Z轴负方向上均可相交,利用这一规律找到与之对应的楼板。构造出墙体的几何体在Z轴与楼板集合体相交的几何体并做交集判断是否相交。由于墙体要逐一与所有楼板求交集,在做交集时连缀方式选择叉积:

image.png

    在做交集的时候墙体与其相邻的楼板侧面是共面的,其交集是线,并不是想要的结果,只需要得到的是相交的交集是实体的对象:

image.png

    一共有11面墙体,分别与三块楼板构造交集得到一个12*3的多维列表,并筛选出交集为实体的对象,获取到一系列的布尔值。

    再看其是否包含“true”,得到36个布尔值:

image.png

    由于12面墙体都与3块楼板做交集,那么只需将楼板重复墙体的次数,并结合上一步得到的布尔值就可筛选出墙体所对应的所要附着的楼板:

image.png

    找到对应的楼板后,获取楼板的底部偏移,并将此值赋值给墙体的底部偏移:

image.png

    来看一下运行效果:

01.gif

    可以发现,所有墙体均已附着到其对应的楼板。

    推而广之,此方法可解决将柱子附着到基础上;找到门,窗所对应的墙体等一系列问题,当然也会有更多的应用场景去值得探索发现。


    Revit中文网作为国内知名BIM软件培训交流平台,几十万Revit软件爱好者和你一起学习Revit,不仅仅为广大用户提供相关BIM软件下载与相关行业资讯,同时也有部分网络培训与在线培训,欢迎广大用户咨询。

    网校包含各类BIM课程320余套,各类学习资源270余种,是目前国内BIM类网校中课程最有深度、涵盖性最广、资源最为齐全的网校。网校课程包含Revit、Dynamo、Lumion、Navisworks、Civil 3D等几十种BIM相关软件的教学课程,专业涵盖土建、机电、装饰、市政、后期、开发等多个领域。

    需要更多BIM考试教程或BIM视频教程,可以咨询客服获得更多免费Revit教学视频

l  BIM培训网校课程目录

l  Revit零基础培训教程

l  BIM项目实战训练营

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