一般的なシナリオでは、新しいリンクそれぞれに直前のリンクをリンクするので、ここでも、その動作を実装します。親デザインに lastLink ルールを追加することからはじめます。
Design Chain : DynamicRuleReactorExampleRoot IvAssemblyDocument Parameter Rule linkHoleDia As Number = 0.375 Parameter Rule linkThickness As Number = 0.250 Parameter Rule lastLink As Part = NoValue End Design
Method preCreateSelf() As List Dim result As List result = {{:action, :createDynamicPart, _ :Part, Parent, _ :Name, uniqueName("smartPin"), _ :design, "smartPin", _ :link1, (If lastLink = NoValue Then "NoValue" Else MakeString(lastLink.partName)), _ :link2, MakeString(partName), _ :onRight?, stringValue(odd?(countPartsOfType(:link)))}, _ {:action, :createDynamicRule, _ :Part, Parent, _ :Name, :lastLink, _ :formula, MakeString(partName)}_ } Return result End Method
ここでリンクを追加すると、リンクは自動的に接続され、側面が変換されます。
lastLink は動的ルールであるため、セッション間で保持されていることに注目してください。