下載app免費領取會員
1、首先明確 PolyCurve 和 NurbsCurve 的概念。PolyCurve 一般是指多段線或者多重曲線,是由多條曲線拼接而成的。NurbsCurve 一般是指非均勻有理B樣條,是一整段連續的。
2、本篇技術文章主要介紹如何處理從 Civil 3D 導入 Revit 后的多重曲線。
2.1 首先通過節點 Select Model Element 將導入 Revit 的后綴為 dwg 的圖形拾取進Dynamo中。然后通過節點 Element.Geometry 獲取圖元的幾何圖形。
2.2 從獲取的結果發現,這條 PolyCurve 一共由 637 條小曲線組成,如果直接使用這條曲線執行放樣等操作將會生成大量圖形。轉換的思路很簡單,就是先獲取 PolyCurve 上的點,然后用這些點重新生成 NurbsCurve。
3、獲取 PolyCurve 上的點。
3.1 通過 Civil 3D 生成的三維曲線有一個特點,這些三維曲線是由多段長度大致相同的小曲線組合而成。
3.2 因此通過節點 Curve.PointsAtEqualChordLength 獲取曲線上均分之后的各個點,具體點的數量由輸入端 int 控制,一共由 637 個分段,因此輸入 637 - 1 = 636 個點。
4、第 4 步的分段點不包含起點和終點,因此需要通過節點 Curve.StartPoint 獲取起點,通過節點 Curve.EndPoint 獲取終點。
5、重新生成 NurbsCurve。
5.1 將起點放進列表的第一項,將分段點放進列表的第二項,將終點放進列表的第三項。
5.2 通過節點 Flatten 將列表鋪平,鋪平之后就是一個列表存放著所有的定位點。
5.3 通過節點 NurbsCurve.ByPoints 生成經過這些定位點的樣條曲線。
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
下一篇:Dynamo如何旋轉放置的族文件
推薦專題