完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

5cdd2dc095060.jpg

Dynamo软件教程:给结构柱赋轴网的标记位置信息

发布于:2023-02-10
首页/BIM专题
2462
分享

本文源自微信公众号:华筑建筑科学研究院 作者Bruce

 

之前有人提出过这样的需求,由于结构柱数量较多,可不可以给模型快速的添加上轴网的定位信息,而且必须在标记参数里面添加定位信息,比如:在轴网1和轴网A附近的柱子标记上“1-A”就行。这个问题用Dynamo可以很快实现!主要分为以下八步:

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

01获取所有轴网

将横向轴网和纵向轴网分别利用Select Model Elements拾取,再利用Grid.Curve读为Dynamo中的line。分开读取方便利用横纵轴网求取交点。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

02求取轴网交点

利用Geometry.Intersect直接求取交点,一定要将连缀改为叉积,然后再用Flatten拍平列表层级,简化列表。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

03获取结构柱的点数据

需要把所有结构柱都赋上轴网位置信息,所以直接通过类别选择就可以了,在根据类别把所有结构柱的族实例都读进Dynamo,可以直接通过Categories和All Elements of Category实现。再通过GetLocation把点位数读取出来。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

04依据结构柱的点数据和轴网交点,分别找到最近的对应点位

此步骤为整个程序脚本的核心计算。给结构柱赋轴网的标记位置信息无非就是给标记参数添加信息而已,但是一定要添加上对应的信息,所以数据的对应是重中之重。依据结构柱的点数据和轴网交点,要计算出距离最近的一组点,这样才可以将结构柱点位在列表中重新排序。此步骤需要用带外部的节点包Clockwork。(用内置Geometry.ClosestPointTo也可以,个人习惯)

将外部节点包直接复制到图片中的路径中即可。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

选用Geometry.ClosestTo直接阶段最近点。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

05结构柱族实例依据最近点数据重新排序

上一步求出了结构柱点位到轴网交点最近位置的排序,再根据这个顺序,利用索引值,排列结构柱族实例的顺序。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

06获取轴网名称参数

利用Element.GetParameterValueByName获取轴网的名称参数信息。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

07依据轴网名称参数字符串组合成轴网定位信息

获取轴网的名称参数信息为字符串,利用Code Block中的Design Script语言直接组合成轴网定位信息。要注意的是Code Block中是用Replication代替的连缀,可以分别在竖轴名称和横轴名称后面加上“<1>”,得到想要结果。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

08结构柱赋轴网的标记位置信息

最后一步就很简单了,直接通过Element.SetParameterByName就完成定位信息赋值了。

腿腿教学网-Dynamo软件教程:给结构柱赋轴网的标记位置信息

转载请注明来源本文地址:https://www.tuituisoft/bim/26153.html

未标题-1.jpg

上一篇:没有了

下一篇:没有了

QQ咨询 电话咨询
咨询电话:

15359439502

APP下载
扫码关注
关注微信公众号
返回顶部