我要做的是通过选择一条直线(作为圆弧的中心轴线),再选择一点(作为圆弧起点),当然这时圆弧只要给个起始角就可以了。 所以我选择用
CATICkeParm_var iLength1 = spParmFactory ->CreateLength ("L",0.3);//以米为单位CATICkeParm_var iAng1 = spParmFactory ->CreateAngle("Angle1",-3.1415926*88/180);//以弧度为单位A区
CATICkeParm_var iAng2 = spParmFactory ->CreateAngle("Angle1",3.1415926*20/180);//以弧度为单位
CATIGSMCircleCenterAxis_var spGSMWiperSPtAxisCircle = spGSMFactory->CreateCircle(spSpecObject1,spOWiperSPt,iLength1,TRUE);
这种方式创建圆。
最后我了解到可以用 CATIGSMCircle 的 SetLimitation(CATIGSMCircleLimitation) 来设定圆弧的起始与结束角度,于是我又用如下方式创建这个圆弧:
CATICkeParm_var iLength1 = spParmFactory ->CreateLength ("L",0.3);//以米为单位
CATICkeParm_var iAng1 = spParmFactory ->CreateAngle("Angle1",-3.1415926*88/180);//以弧度为单位A区
CATICkeParm_var iAng2 = spParmFactory ->CreateAngle("Angle1",3.1415926*20/180);//以弧度为单位
CATIGSMCircleCenterAxis_var spGSMWiperSPtAxisCircle = spGSMFactory->CreateCircle(spSpecObject1,spOWiperSPt,iLength1,TRUE);
CATIGSMCircle_var spGSMWiperSPTCircle=spGSMWiperSPtAxisCircle;
CATIGSMCircleLimitation circleLimitation=Angles;
spGSMWiperSPtCircle->SetLimitation(circleLimitation);
spGSMWiperSPtCircle->SetAngles(iAng1,iAng2);
CATISpecObject_var spOWiperSPtCircle = spGSMWiperSPtCircle;
spOWiperSPtCircle->Update();
CATIGSMProceduralView_var spWiperSPtCircleView = spOWiperSPtCircle;
spWiperSPtCircleView->InsertInProceduralView();
我以为CATIGSMCircle 为CATIGSMCircleCenterAxis的基类,调用SetLimitation函数应该没问题的。
但是最后报两个错:error C2065: “CATIGSMCircleLimitation”: 未声明的标识符 error C2065: “Angles”: 未声明的标识符
这里,我的头文件是加了的#include "CATIGSMCircleCenterAxis.h"//为了通过轴与点,角度创建圆#include "CATIGSMCircle.h"//为了通过轴与点,角度创建圆
不知道为何?谢谢,帮助!
该贴已经同步到 zsong22的微博 |