一键放置柱子护角,你get了吗?

今天写个番外篇,给柱子添加护角。

记得几年前刚开始做BIM的时候,有次做车库导视方案模型,记得好像是鼎伦设计的车库一体化方案,当时柱子护角就给了两种方案,而且基本上每颗柱子上都要放护角,然后甲方竟然要求把护角模型都放进去,当时只是刚入门,没有啥简便方法,就做了个护角的族,一个一个柱子的放,现在想想真是脑残啊当时,地下三层几千个柱子,挨个摆。。。。。。

当时好像是这样一个护角,几千个柱子,求心理阴影面积。。。。。

现在,有了Dynamo插件,情况就不一样了,可以解决很多重复性工作,于是,我就想写个小程序,一键放置柱子护角,说干就干:

第一步:将所有柱子变成Dynamo图元,然后获取柱子的BoundingBox。

第二步:我们主需要柱子的底部轮廓即可,这里用到Clockwork里的节点,获取BoudingBox在指定平面上的曲线。
 

由下图我们可以看出,我们得到的曲线是柱子的四条边线,然后我们获取曲线的起点或者终点,这里任选其一即可。这样我们就将四条边线转换成了四个顶点,当然这个点就是我们放置族所需的点。
 

第三步:接下来要分两步走,一个是在点的位置放置族,另一个是旋转族。
 

首先,放置族:
 

然后,我们思考下族的旋转角度,由于我之前选择的是曲线的终点,所以通过点击点的列表,我们得出护角族的顺序以及应该旋转多大的角度。


 

由上图我们可以看出,左下角的点是第一四个,那么我们的顺序就是由左下角开始,顺时针计数,分别是0-1-2-3,所以我简单做个护角族,对应旋转的角度是0-90-180-270度。

这样就很明了了,我们只需要创建对应数量的一个列表,分别是0-90-180-270度的循环即可。

于是,我们将点列表降低一个维度,然后获取项数,再用codeblock创建一个角度的列表,然后通过List.OfRepeateditem来匹配列表长度,这样就得到一个对应的角度列表:

第四步:将列表拍平,然后将放置的护角族旋转对应角度即可。

好了,今天的教程就到这里了~~,来看下效果:

有时候思考思考以前做过的项目,会发现当年用的方法是多么的低级,用好插件,让工作效率翻倍吧~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

九哥BIMer

予人玫瑰,手有余香

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

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

打赏作者

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

抵扣说明:

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

余额充值