下載app免費領取會員
這篇將介紹如何利用Dynamo自動生成結構柱類型【“T”字形柱】
● 思路
T形柱由8條邊組成,有且只有兩個頂點(8、3)兩側的頂點(1,7;2,4)的連線的中點(Point1、Point2)位于圖形外,且此兩點中間只隔兩個頂點(1、2)。如下圖:
首先,濾出具有八條線的PolyCurve
核心節點:PolyCurve.NumberOfCurves
拾取頂點
核心節點:Curve.StartPoint
頂點排序
核心節點:List.GetItemAtIndex、List.RemoveItemAtIndex
此處無圖
頂點隔點連線
核心節點:List.GetItemAtIndex、List.RemoveItemAtIndex
連線取中點
核心節點:Curve.PointAtParameter
以PolyCurve創建Surface
核心節點:Surface.ByPath
判別點是否與Surface相交
核心節點:Geometry.DoesIntersect
濾出有兩個點沒有與Surface相交的線且無交集
核心節點:List.FilterByBoolMask
值得注意的是:隔點頂點連線的中點在圖形外且連線不相交,只有T形。
最后我們就選出了T形的PolyCurve
根據PolyCurve的排序,選取該柱名稱,新建T形柱類型。(詳上一篇)
核心節點:FamilyType.Duplicate(Clockwork節點包)
T形參數特點
紅線未相交的線為寬度
與寬度線平行且最遠的線距為深度
寬度相交的線分別為a、a2
與a線相交的且排除寬度線的線為b
首先獲取寬度線,并寫入參數值【寬度】
核心節點:Geometry.DoesIntersect、Element.SetParameterByName
獲取與寬度線平行的線
核心節點:Vector.IsParallel
獲取與寬度線最遠的線的距離和線長,并寫入參數值【深度】【a1】
核心節點:Geometry.DistanceTo、Element.SetParameterByName
獲取與寬度線相交的線的長度,并寫入參數值【a】【a2】
核心節點:Element.SetParameterByName
取上一個步驟其中一根線【a】,獲取與其相交的線,并排除寬度線,將其長度寫入參數值【b】
核心節點:Geometry.DoesIntersect
來源:玖辰建筑科技。
作者:黎笑塵
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
上一篇:Dynamo教程 | Dynamo如何填色?用Dynamo給每個房間凈高填色
下一篇:Dynamo教程 | Dynamo基本要素有哪些?Dynamo基本要素和編程語言
推薦專題