CATIA使用CAA二次开发:创建草图

2014-07-18 19:06:53|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C/C++, CAA, CATIA|来源:唯设编程网

2.7 在草图中放置矩形

 

     CATI2DAxis_var spSupport;
     spSketch->GetAbsolute2DAxis(spSupport);
     spConstraint2DFactory->CreateConstraint( spPt_bottom_left, NULL, spSupport->GetHDirection(), NULL, NULL, NULL, NULL,
         Cst2DType_Distance, 0, 0 );
     spConstraint2DFactory->CreateConstraint( spPt_bottom_left, NULL, spSupport->GetVDirection(), NULL, NULL, NULL, NULL,
         Cst2DType_Distance, 0, 0 );

在这个例子中,草图被ISO约束,因为矩形是刚性的。我们将它放置在草图支持面上(创建了第一个点距离H方向和V方向的两个约束)。矩形现在就被固定了,并且在草图中被全约束。

2.8 创建一个圆角

 

     double radius = 10.;
     double pt_center[2]  = {70., 40.};
     CATI2DCurve_var spCurve5 = sketch2DFactory->CreateCorner(spCurve3, spCurve4, pt_center, &radius);
     CATI2DTopologicalOperators_var spOperateur = spSketch;
     // specifies relimitations
     spOperateur->InsertCorner(spCurve5,spLine3,1,spLine4,1);
     spConstraint2DFactory->CreateConstraint( spLine3, NULL, spCurve5, NULL, NULL, NULL, NULL,
         Cst2DType_Tangent, 0, 0);
     spConstraint2DFactory->CreateConstraint( spCurve5, NULL, spLine4, NULL, NULL, NULL, NULL,
         Cst2DType_Tangent, 0, 0);
     spConstraint2DFactory->CreateConstraint( spCurve5, NULL, NULL, NULL, NULL, NULL, NULL,
         Cst2DType_Radius, 0, 1);

我们在几何工厂上面创建一个操作。这个操作对应于矩形两条直线之间的圆角,然后我们重新定义了限制条件(修剪所有元素)。为了创建一个与之相相切的圆角我们创建两个相切约束,然后我们为圆角定义了半径。注意CreateConstraint方法的最后一个参数是“1”,因为我们希望最后一次解算尺寸系统。

2.9 关闭草图编辑

     spSketch->CloseEdition();

调用CloseEdition方法关闭草图编辑。

2.10 保存文档并退出

     CATDocumentServices::SaveAs(*pDocument,pFileName);
     if (NULL != pSession)
         pSession->Delete_Session(pSessionIdent);

     // Memory cleaning
     piContainer->Release();

     return 0;

这部分展示了保存一个文档的常用步骤。

到此,CATIA使用CAA二次开发实现草图文件的创建和保存工作就完成了,在其中我们还介绍了如何创建CATIA的草图元素、约束等内容的方法。

发表评论0条 】
网友评论(共?条评论)..
CATIA使用CAA二次开发:创建草图