不可行的方法:
- 获取Segment所在Branch的引导线;
- 将引导线转到CATIGSMUseSpline接口,获取引导线的所有控制点;
- 获取Segment在Branch中的位置i,则引导线控制点中Pi、Pi+1两个点即为Segment端点特征。
该方法不可以的原因是,Segment的端点不一定是引导线样条线的控制点,有些端点是引导线确定之后的分割点。
其中,上述获取Segment引导线可以通过Body-->特征的方法,也可以使用以下方法:
- 1.1获取Branch几何布线Body1;
- 1.2遍历Segment所在Bundle的DirectBody,获取"柔性曲线"或"Flexible Curve";
- 1.3将曲线转到CATIMmiUseGeometricalElement接口,获取Body2,若Body1与Body2相同,则得到引导线。
可行的方法:
方法1
- 1.获取SegmentEnd 的数学点;
- 2.遍历Segment所在Bundle的AllBody(一般在“分支集”Body中,但有时候可能不在)找到与数学点重合的特征点,该点即为Segment的特征点之一;
- 3.当Segment连接在电气连接点时,Segment参考了其他零件的特征点,在Bundle中找不到对应特征点,此时获取Branch引导线,引导线的其中一个端点即为Segment的特征点。
方法2
获取SegmentEnd的Body,从Body获取Feature。