2016-03-24 76 views
1

我是catia和vba編程的新手。vba catia v5 R24開始和邊緣端點

我試圖從邊緣獲取起始端點來計算攔截點。

它很容易爲RectilinearTriDimFeatEdge它提供了一個GetOrigin和GetDirection方法,其中端點可以通過origin + length * direction來計算。 但對於其他類型,如BiDimFeatEdge我甚至沒有得到原點。

有沒有辦法從每種類型的邊緣獲取起點和終點? 謝謝

回答

2

對於打開的曲線,您可以簡單地用這樣的函數將曲線的每一側放在曲線的每一側,其中iCurve是您的輸入,而iBeginEnd是從您希望的那一側進行切換。

Private Function endPoint(iCurve As Reference, Optional iBeginEnd As Boolean = False) As HybridShapePointOnCurve 
    Set endPoint = CATIA.ActiveDocument.Part.HybridShapeFactory.AddNewPointOnCurveFromDistance(iCurve, 0#, iBeginEnd) 
End Function 

,或者你可以按所需方向上使用極值

當然這不會工作,爲封閉曲線,因爲他們沒有起點和終點,但如果你需要爲這些解決方案,請..

如果你只是想獲得一個物體的長度,那麼測量方法就更簡單了。