我是catia和vba编程的新手。
我试图从边缘开始结束端点,以计算拦截点。
RectilinearTriDimFeatEdge
很容易提供GetOrigin和GetDirection方法,其中端点可以由origin + length * direction
计算。
但是对于像BiDimFeatEdge
这样的其他类型我甚至都没有得到原点。
有没有办法从各种类型的边缘获取起点和终点? 感谢
答案 0 :(得分: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
或者你可以在所需的方向使用极值
这对于闭合曲线当然不会起作用,因为它们没有起点和终点,但是如果你需要解决方案,请问..
如果您只想获得物体的长度,那么测量方法就更简单了。