我是 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
或者您可以在所需方向使用极值
这当然不适用于闭合曲线,因为它们没有起点和终点,但是如果您需要解决方案,请询问..
如果您只是想获得物体的长度,那么有更简单的测量方法。