CATIACAA二次开发详细教程(5)添加一个点在创建任何几何对象之前,必须在激活的函数命令中添加以下代码,:CATFrmEditor*pEditor=CATFrmEditor::GetCurrentEditor();if(pEditor==NULL){printf("errorgettingtheFRMeditor");}CATDocument*pDoc=pEditor->GetDocument();CATIContainerOfDocument_varspConODocs=pDoc;CATIContainer*pSpecContainer=NULL;HRESULThr=spConODocs->GetSpecContainer(pSpecContainer);if(spConODocs==NULL_var){printf("errorgettingthecontainerofdocuments");}以上代码的主要功能是获取editor,thedocumentandthecontainer。
CATIGSMFactory_varspGSMFactory=NULL_var;CATIPrtFactory_varspPrtFactory=NULL_var;CATICkeParmFactory_varspParmFactory=NULL_var;spGSMFactory=pSpecContainer;spPrtFactory=pSpecContainer;spParmFactory=pSpecContainer;以上代码设置工厂,在这基础上你才可以造型,GSMFactory用于创建底层的几何对象比如点、线等。
PrtFactory包含创建孔特征、拉伸特征实体等函数。
ParmFactory包含设定参数的函数。
在以上的基础上可以创建点了,步骤如下:(1)创建一个三维数组(x,y,z)定义点坐标。
doubleCoords[3];Coords[0]=0;Coords[1]=0;Coords[2]=0;(2)创建一个CATIGSMPoint并将其转换为CATISpecObjectCATIGSMPoint_varspPoint1=spGSMFactory->CreatePoint(Coords);//CreatesapointCATISpecObject_varspSpecPoint1=spPoint1;//CaststhepointasaCATISpecObject(3)为了在CATIA显示你创建的点,必须将其添加到视图中。
在此基础上,创建线的步骤如下:1)创建两个点并将其转换为CATISpecObjects。
doubleCoords[3];Coords[0]=0;Coords[1]=0;Coords[2]=0;CATIGSMPoint_varspPoint1=spGSMFactory->CreatePoint(Coords);CATISpecObject_varspSpecPoint1=spPoint1;Coords[0]=8;Coords[1]=6;Coords[2]=7;CATIGSMPoint_varspPoint2=spGSMFactory->CreatePoint(Coords);CATISpecObject_varspSpecPoint2=spPoint2;2)利用创建的点创建一条线,并将其转换为CATISpecObjectCATISpecObject_varspSupport=NULL_var;CATIGSMLinePtPt_varspLine1=spGSMFactory->CreateLine(spSpecPoint1,spSpecPoint2,spSupport);CATISpecObject_varspSpecLine1=spLine1;3)更新创建的线,并将其添加到视图中。
spSpecLine1->Update();CATIGSMProceduralView_varspCurObj=spLine1;spCurObj->InsertInProceduralView();CATIACAA二次开发详细教程(7)创建草图Sketch有两种方式可以创建草图:1)通过参考平面创建首先获取一个CATIPrtPart变量:CATIPrtPart_varspPart(pIPrtContOnDocument->GetPart());pIPrtContOnDocument->Release();有了CATIPrtPart变量就可以利用其方法GetReferencePlanes(),获取参考平面CATLISTV(CATISpecObject_var)spRefPlanes=spPart->GetReferencePlanes();然后创建XYplane(spRefPlanes[1])CATISketchFactory_varspSketchFactory(pSpecContainer);if(NULL_var==spSketchFactory)return(CATStatusChangeRCCompleted);CATISketch_varspSketch(spSketchFactory->CreateSketch(spRefPlanes[1]));if(NULL_var==spSketch)return(CATStatusChangeRCCompleted);spSketch->OpenEdition();2)通过原点和两个矢量方向该方法是通过定义一个原点和两个方向pH、pV进行创建。
定义原点和方向:doubleorigin[3]={0.0,0.0,10.0};doublex_dir[3]={1.0,0.0,0.0};doubley_dir[3]={0.0,1.0,0.0};CATISketchFactory_varspSketchFactory(pSpecContainer);if(NULL_var==spSketchFactory)return(CATStatusChangeRCCompleted);CATISketch_varspSketch(spSketchFactory->CreateSketch(origin,x_dir,y_dir));if(NULL_var==spSketch)return(CATStatusChangeRCCompleted);spSketch->OpenEdition();到这里,你已经创建了一个Sketch,你可以在上面创建任意的草图了。
创建好记住要将其关闭:spSketch->CloseEdition();CATIACAA二次开发详细教程(8)草图上创建几何图形在上一节的基础上,开始创建草图。
CAA代码成果物“intel_a”文件中的所有文件。
1.发布方法:2.将“intel_a”文件存放在要发布机器上,存放“intel_a”文件的路径最好不要有中文字符和空格。
(例:E:\VCINewFromExisting\intel_a)3.点击”开始”–>”所有程序”–>“CATIAP3”–>“Tools”–>”EnvironmentEditorV5R18”1.点击“确定”。
1.选择”Environment”–>“New”1.“Name”栏为将要创建的桌面快捷方式的名称;在”InstallPath”栏中,CATIA的安装路径后输入”;E:\VCINewFromExisting\intel_a”,这是要发布的intel_a的存放路径;其他如图所选,采取默认设置。
完成后点击”OK”。
1.至此发布完成,在桌面上会生成一个名为”NewFromExisting”的CATIA类型图标。
双击该图标,会启动CATIA,用户便可使用CATIA原所有功能和新发布的功能。
1.与原CATIA图标集成发布方法:设:Catia的工作目录是D:\DS\B18\intel_a;已开发插件的工作目录是D:\MyAddin\intel_a;将D:\MyAddin\intel_a下这些文件复制到D:\DS\B18\intel_a对应的位置,即可在运行Catia时候自动加载插件:code\bin\*.dll;\code\dictionary\*.dico;\code\productIC\*.script;\code\productIC\*.xml;\resources\graphic\icons\normal\*.bmp;\resources\msgcatalog\*.CATNls;\resources\msgcatalog\*.CATRsc;。