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