|
在创建任何几何对象之前,必须在激活的函数命令中添加以下代码,: CATFrmEditor* pEditor = CATFrmEditor::GetCurrentEditor(); if(pEditor == NULL) { printf("error getting the FRMeditor"); } CATDocument *pDoc = pEditor->GetDocument(); CATIContainerOfDocument_var spConODocs = pDoc; CATIContainer* pSpecContainer = NULL; HRESULT hr =spConODocs->GetSpecContainer(pSpecContainer); if(spConODocs == NULL_var) { printf("error getting thecontainer of documents"); } 以上代码的主要功能是获取editor, the document and the container。 CATIGSMFactory_var spGSMFactory = NULL_var; CATIPrtFactory_var spPrtFactory = NULL_var; CATICkeParmFactory_var spParmFactory = NULL_var; spGSMFactory = pSpecContainer; spPrtFactory = pSpecContainer; spParmFactory = pSpecContainer; 以上代码设置工厂,在这基础上你才可以造型,GSMFactory用于创建底层的几何对象比如点、线等。PrtFactory包含创建孔特征、拉伸特征实体等函数。ParmFactory 包含设定参数的函数。 在以上的基础上可以创建点了,步骤如下: (1)创建一个三维数组(x,y,z)定义点坐标。 double Coords[3]; Coords[0] = 0; Coords[1] = 0; Coords[2] = 0; (2)创建一个CATIGSMPoint并将其转换为CATISpecObject CATIGSMPoint_var spPoint1 = spGSMFactory->CreatePoint(Coords);//Creates a point
# q6 B4 b9 R$ A% }3 `3 E) ]CATISpecObject_var spSpecPoint1 = spPoint1; //Casts thepoint as a CATISpecObject (3)为了在CATIA显示你创建的点,必须将其添加到视图中。 spSpecPoint1->Update(); CATIGSMProceduralView_var spPntObj = spSpecPoint1;
: m n1 ?7 e" |spPntObj->InsertInProceduralView();
X' t, ]1 g# r2 ^$ |' B( w3 x |