下載app免費(fèi)領(lǐng)取會員
1、之前有一篇類似的技術(shù)文章:http://photo.tuituisoft.com/blog/4097.html。該文章只介紹了旋轉(zhuǎn)圖元的相關(guān)節(jié)點(diǎn),但是沒有考慮旋轉(zhuǎn)過程中的角度計(jì)算。
2、放置圖元。
2.1 通過節(jié)點(diǎn) Select Model Element 選擇項(xiàng)目文件中的定位線,圖中是選擇了一條弧線。
2.2 通過節(jié)點(diǎn) Element.Geometry 獲取所拾取對象的幾何圖形。
2.3 通過節(jié)點(diǎn) Curve.PointAtParameter 獲取指定參數(shù)處的點(diǎn),參數(shù)的起始值為 0,終止值為 1,間距為 0.02。
2.4 通過節(jié)點(diǎn) FamilyInstance.ByPoint 將族文件放置在點(diǎn)上,輸入端 familyType 需要輸入族類型,圖中通過節(jié)點(diǎn) Family Types 選擇一個(gè)族類型。輸入端 point 需要輸入定位點(diǎn),即曲線上的點(diǎn)。
3、旋轉(zhuǎn)圖元
3.1 旋轉(zhuǎn)的關(guān)鍵是如何計(jì)算角度。圖中是樣條曲線,因此不能用曲線的切向量和法向量作為基準(zhǔn)。而是把曲線上某點(diǎn)位置的平面法向量作為基準(zhǔn)。
3.2 通過節(jié)點(diǎn) Curve.PlaneAtParameter 獲取曲線指定參數(shù)位置的平面,這個(gè)參數(shù)與步驟 1.3 中的參數(shù)保持一致。節(jié)點(diǎn) Plane.Normal 能夠獲取剛剛生成的所有平面的法向量。
3.3 通過節(jié)點(diǎn) Vector.AngleAboutAxis 獲取兩個(gè)向量之間的角度。輸入端 vector 需要第一個(gè)向量,即平面的法向量。輸入端 otherVector 需要第二個(gè)向量,即世界坐標(biāo)系的 X 軸正方向。輸入端 rotationAxis 需要第三個(gè)向量,即世界坐標(biāo)系的 Z 軸正方向,作用是當(dāng)作旋轉(zhuǎn)軸以確定角度方向。
3.4 通過節(jié)點(diǎn) FamilyInstance.SetRotation 將圖元旋轉(zhuǎn)。輸入端 familyInstance 需要輸入即將被旋轉(zhuǎn)的圖元,輸入端 degree 需要輸入旋轉(zhuǎn)的角度。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
下一篇:Revit如何創(chuàng)建屬于自己的樣板文件
推薦專題