
【问题】上一篇每日一技中,同时需要对定位点构建 X、Y、Z、和编号参数赋值,每赋一个参数值都需调用一次“Element.SetParameterByName”节点,如果给 N 个参数赋值就得调用N 次,如图1所示:

【解决方案】在 Dynamo 中应用循环语句可选择DesignScript语法和 PythonScript语法。本篇介绍DesignScript语法,即用 CodeBlock 节点调用 for 循环。-、“CodeBlock”节点调用 for 循环需用“命令式”语句,命令式语句语法为:[lmperative]{ };大括号中编写相应的 for 语句,如图2所示:

二、“CodeBlock”调用“Element.SetParameterByName节点语法为:变量 1.SetParameterByName(变量2,变量3)其中变量1对应 element;变量2对应 ParameterName;变量3 对应 Value。如图 3 所示:
三、数据处理同每日-技《Dynamo 赋能之双曲屋面出图解决方案一 》内容进行数据处理,需要将所赋值的 X、丫、2、编号参数组成一个一维列表,对应的参数值需要组成一个工维列表。如图 4所示

四、DesignScript 语法 for 循环调用调用脚本如图 5 所示:其中
“ele”变量指需要赋值的族构件一维列表;“names”变量指参数一维列表;values变量指参数值二维列表;

【备注】该脚本可对任意个构件的任意个参数一次性赋值。
转载请注明来源本文地址:https://m.tuituisoft/bim/253630.html