上期介绍了根据坐标编号放置钢构件两种解决方案,方案优点:思路清晰,相对简单好理解,缺点是每个构件都要用播放器手动放置,工作量巨大且都是重复机械工作,以凡是有逻辑的、重复机械的工作Dynamo都能解决的宗旨。将以上脚本优化为根据钢构件数据标准,批量自动放置钢构件。【解决方案】
1、钢结构标准坐标数据如下,钢结构族类型、起点编号、终点编号如图1所示:

2、根据标准数据创建相应的自适应族类型,备注:族类型名称一定要与标准数据表中名称相对应。
3、通过节点DatalmportExcel/File.FromPath/File Path节点对读取钢构件数据,读取相应的坐标编号列表,并应用字典功能将坐标编号列表数据转化为对应的坐标数据。在应用For循环自动批量放置钢构件。脚本如图所示:

备注:
(1)由于DynaMo读取的数据时,默认都为“数字”类型,所有要通过 MathFloor/StringFrom Object节点对,将其转化为“字符串”类型。(2)于 AdaptiveComponent.ByPoints 节点输人 Points.com和type数据数量不相同,所以不能直接用AdaptiveComponent.ByPoints节点设置连缀的方式计算。(3) AdaptiveComponent.ByPoints 节点不在 DynamoRevitNodes 库中。PythonScript 不能调用AdaptiveComponent.ByPoints 节点。所以只能用 CodeBlock的for 循环调用AdaptiveComponent.ByPoints 节点,循环放置构件。
转载请注明来源本文地址:https://m.tuituisoft/bim/254233.html