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

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

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

2.4 在几何元素上面创建2D约束

 

     // Constraints
     CATI2DConstraintFactory_var spConstraint2DFactory(spSketch);
     spConstraint2DFactory->CreateConstraint( spLine1, NULL, NULL, NULL, NULL, NULL, NULL,
         Cst2DType_Horizontal, 0, 0 );
     spConstraint2DFactory->CreateConstraint( spLine2, NULL, NULL, NULL, NULL, NULL, NULL,
         Cst2DType_Vertical, 0, 0 );
     spConstraint2DFactory->CreateConstraint( spLine3, NULL, NULL, NULL, NULL, NULL, NULL,
         Cst2DType_Horizontal, 0, 0 );
     spConstraint2DFactory->CreateConstraint( spLine4, NULL, NULL, NULL, NULL, NULL, NULL,
         Cst2DType_Vertical, 0, 0 );
     spConstraint2DFactory->CreateConstraint( spLine2, NULL, NULL, NULL, NULL, NULL, NULL,
         Cst2DType_Length, 0, 0 );
     spConstraint2DFactory->CreateConstraint( spLine2, NULL, spLine4, NULL, NULL, NULL, NULL,
         Cst2DType_Distance, 0, 0 );

约束工厂由草图直接实现。在得到2D约束工厂以后,我们创建4个约束(直线上的水平约束和垂直约束),然后我们创建两个尺寸约束(一条直线上的长度约束和其余两条直线之间的距离约束)。

2.5 修改第一个创建点的位置

 

     pt_bottom_left[0]  = 20.;
     pt_bottom_left[1]  = 20.;
     spPt_bottom_left->SetPointData(pt_bottom_left);

通过上面的方式我们更改了第一个创建点的坐标。

2.6 求解(评估)尺寸系统和几何

 

     CATLISTV(CATI2DWFGeometry_var) spSoftReferences(1);
     spSoftReferences.Append(spPt_bottom_left);
     spSketch->Evaluate(spSoftReferences);

我们求解尺寸系统。最后修改的点有最高优先级。几何评估与软参考元素(spPt_bottom_left),求解器视图保持固定那些元素(spPt_bottom_left有更高优先级)。如果我们没有给第一个点高的优先级,最后的修改(更改第一个点的位置)将会无效。在这个例子中,矩形进行整体移动。

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