美文网首页BIM的乐趣
Dynamo参数化尺寸标注+柱、梁、板、墙——超简单

Dynamo参数化尺寸标注+柱、梁、板、墙——超简单

作者: 九哥BIMer | 来源:发表于2020-03-16 09:19 被阅读0次

    本次教程,我接着上次的轴网做,一口气将柱、梁、板、墙都创建出来。

    开始前我们先给轴网添加尺寸标注,希望得到的效果如下图:

    image

    我们依然是先搜索尺寸标注的节点,可以得到Dimension.ByElements节点,所需要的输入端比较明确,分别是:标注所在视图,标注的图元,标注的位置,前缀和后缀,所以直接对应选择即可:

    image

    我们先不设置标注的位置,点击运行,我们可以看到,尺寸标注默认在轴网的中央,这不是我们想要的效果。

    这个时候,我们又需要简单的数学换算了,我们希望的位置是,两端延伸部分的中央位置,如下图:

    image

    我们可以看出,这个位置正好是标注线的端点,移动半个轴线延伸的长度(上一篇我们为了美观,让轴线延伸了一个长度),所以我们只需要找到两端的点连成线即可:

    image

    由上图可以看出,我们分别获得了点列表的第一个和最后一个,然后计算出了偏移值得一半,最后只要把点位置移动这个距离就行了:

    image

    最后把这条线给之前的尺寸标注节点,就好了,so easy~

    接下来,我们来生成柱:

    这部分功能都比较简单,所以就简单说明下了,下面我们在轴网交点处生成结构柱,同样很简单,找到StructuralFraming.ColumnByCurve节点,连入对应的节点即可:

    image

    这里我们重点讲下控制柱子中心线的曲线,因为这个曲线控制了柱的位置,高度,倾斜与否等,我们这里仅以垂直柱为例简单说明:
    第一步:搜索Geometry.Intersect节点,获取轴网的交点;

    第二步:将获得的点列表拍平,并向上偏移,以获得柱子的高度

    image

    第三步:将拍平的点列表和偏移的点列表连线,即可获得所需的参照线,连入生成结构柱的节点即可。

    image

    如上图,我们希望柱子高度是随层高的,所以这里,我们需要计算下层高,连入之前z值里。

    方法很简单,我们利用两个标高的高程,做一个减法,就得到了z值:

    image

    之后点击运行,就能得到轴网交点处的结构柱了。

    接下来,我们来生成梁:

    上一部分,我们通过Geometry.Intersect得到了柱子所在位置的点,接下来我们还需要这些点,因为垂直的点之间连线,就是梁所在位置。

    第一步:将Flatten节点复制一个,这次我们在list端,设置输入层级为@L3,这样,我们就将点按照列进行了分组,方便我们后续调用。

    image

    第二步:利用Geometry.Translate将交点,移动到柱顶位置。
    第三步:生成梁线,这一步比较重要,需要调整列表,来得到所需要的连线。

    利用List.ShiftIndices节点,将列表左移一位,然后两个列表进行连线,但是两个列表都多出一项,需要通过List.DropLastItem节点(需下载Clockwork节点包),删除末尾的一项。

    image

    之后利用List.Transpose节点,将列表转置,重复上一步,得到另一个方向的梁线,然后用List Create,将两个列表合并。

    第四部:最后将列表连入StructuralFraming.BeamByCurve生成梁。

    image

    点击运行后,就得到了结构梁。

    接下来,创建楼板:
    搜索楼板,我们找到Floor.ByOutlineTypeAndLevel节点,发现是通过轮廓线创建楼板,所以我们的目标是构建楼板轮廓。

    第一步:获取楼板的角点。

    通过List.FirstItem和List.LastItem获取两组线的端点,然后重复操作,在端点列表上再次获取起始点,最后按照一定的顺序,串联成线。

    image

    第二步:通过角点,创建Polygon,然后将轮廓向外偏移一个数值,作为楼板轮廓。

    第三步:最后生成楼板。

    image

    这样就得到了一块完整的楼板,这里就不在细化了,下次有时间在处理。

    接下来创建外围护:
    这步特别简单,我们找到生成墙的节点Wall.ByCurveAndLevels,实际上只需要定位线就可以了,这里我们可以直接选择上一步创建楼板的轮廓,连入以后发现报错,查看说明后,我们知道,墙是几段,不能通过一条闭合曲线创建,所以我们接入Geometry.Explode节点,将闭合曲线拆分,然后再连入创建墙节点,运行即可:

    image

    我们希望在楼板边缘再创建一圈护栏,如下图:

    image

    但是采用栏杆扶手并不方便,所以这里我们选择用幕墙代替。

    这里我们先将顶板复制到底部,需要重复上面楼板创建的步骤。然后我们将底部楼板轮廓向内偏移100,并且拆分,同样用生成墙的方式即可。这次我们选择根据底部标高和高度创建墙体,如下图:

    image

    好了,今天的教程就到这里了,因为这部分内容都比较简单,我就放在一篇文章里了,小伙伴们一定要自己多尝试练习哦~

    对了,方法并不唯一哦,我这里只是根据我所学的知识,怎么顺手就怎么来了。希望不会误导大家,有什么问题记得留言哦~

    相关文章

      网友评论

        本文标题:Dynamo参数化尺寸标注+柱、梁、板、墙——超简单

        本文链接:https://www.haomeiwen.com/subject/xxtqjhtx.html