Dynamo参数化尺寸标注+柱、梁、板、墙

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

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

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

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

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

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

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

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


接下来,我们来生成柱:

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

这里我们重点讲下控制柱子中心线的曲线,因为这个曲线控制了柱的位置,高度,倾斜与否等,我们这里仅以垂直柱为例简单说明:

第一步:搜索 Geometry.Intersect 节点,获取轴网的交点;

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

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

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

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

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


接下来,我们来生成梁:

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

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

第二步:利用 Geometry.Translate 将交点,移动到柱顶位置。

第三步:生成梁线,这一步比较重要,需要调整列表,来得到所需要的连线。

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

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

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

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


接下来,创建楼板:

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

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

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

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

第三步:最后生成楼板。

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


接下来创建外围护:

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

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

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

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

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

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

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九哥BIMer

予人玫瑰,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值