Sr.Xu: 感谢博主,很有用
CATIA二次开发提取带孔面并更改其颜色wavelet_nubrs: 首先你的确保你的几何对象是标准的圆或椭圆,其次你获取CATEdge后不要直接使用GetCurve方法,根据你描述你的几何曲线类型的基类应该是CATPCurve,所以你的采用GetGeometryOnFace来获取CATPCurve,再通过通过强制指针转换就可以获得CATPEllipse或CATPCricle了。
CATIA二次开发提取带孔面并更改其颜色TW_S: 这个我用过了,CATEdge获得了edgecurve,然后GetGeometry(),然后用IsAtypeOf()获取不到,通过QueryInterface(IID_CATCylinder,..)查找能找到直线,也可以找到圆,就是不能找到椭圆。我又试了另一种方法,椭圆通过获得CATPCurve,可以在下面查询找到CATPEliipse,但是不对,椭圆有可能为CATPline,与查找直线会发生冲突。然后又用了其他方法,通过获得得PCurve Create3DCurve();直线圆的数据是对了,椭圆的起始角却不对,而且用复杂的模型时,Create3DCurve()会出错。实在是不明白了,求教大神答疑解惑!
CATIA二次开发提取带孔面并更改其颜色wavelet_nubrs: CATICGMUnkown接口的IsATypeOf()方法可以检验所获取的几何对象类型
CATIA二次开发提取带孔面并更改其颜色TW_S: 请问下,构建拓扑结构的时候,怎样获取边的属性,我现在遍历到边后,边的类型应该有直线、圆、椭圆、样条曲线,但是通过从edgecurve得到的CATCurve一直得不到椭圆和样条曲线,问下你有什么方法没。(模型中是有椭圆与样条曲线的)