CAA制图模型概述(Drafting Modeler Overview)

2014-07-29 19:38:22|?次阅读|上传:wustguangh【已有?条评论】发表评论

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

制图的2D组件(Component)对象

2D组件是一个几何和注释的可重用集合。该组件位于图纸页(sheet)中并可以像视图(view)一样进行编辑。这就是该组件被称之为详细(Detail)视图的原因。2D组件可以被多次实例化,每一个实例提供一个包含特定方向,位置和缩放比例的组件。详细视图可以作为CATDrawing在对应实例的同一个drawing中或者在另一个独立的CATDrawing中。

Catalog Browser命令允许从一个外部CATDrawing文档CATDrawing1在新的Drawing文档CATDrawing2中实例化一个副本(ditto)。为了实现该功能,会创建一个Detail Ref的特殊拷贝(Detail Ref2)和一个该拷贝的实例(Ditto Inst1)。Detail Ref2 Detail是一个无法访问并与参考详细(Detail Ref)对应的本地参考(查看图1)。

 

CAA制图模型概述(Drafting Modeler Overview)

Detail Ref2不能够直接修改。只有Detail Ref可以被修改。当你对副本(ditto)进行第二次实例化的时候(从Detail Ref),在新的CATDrawing CATDrawing2中,一个新“拷贝”详细(Detail Ref2)的实例被创建(Ditto Inst2)。

在副本(Ditto)实例中,除文字修改以外,其它对象都不可以被修改。

在实例中修改文字:

在实例中的可编辑文字是一个有特殊属性的文字,当一个副本(ditto)被实例化时该属性用以通知系统复制该文字。查看下面在实例中获取可修改对象的方式:

// GetModifiableObjects method allows to retrieve texts modifiable in ditto piDitto
CATIADrawingComponent * piMyDrawComp = NULL;
HRESULT rc = piMyDitto -> QueryInterface (IID_CATIADrawingComponent,(void**)&piMyDrawComp);
if ( SUCCEEDED(rc) )
{
  long Count = 0;
  piMyDrawComp -> GetModifiableObjectsCount (Count);
  for ( int Idx = 1; Idx<=Count; Idx++ )
  {
    CATVariant Variant;
    rc = BuildVariant ((long)Idx, Variant);
    if ( SUCCEEDED(rc) )
    {
      CATIABase * piABase = NULL;
      rc = piMyDrawComp -> GetModifiableObject (Variant, piABase);
      if ( SUCCEEDED(rc) )
     {

制图的2D几何(Geometry)对象

这些对象使用在SketcherInterface框架中的2D线框工厂(wire frame factory)创建。在视图(View)上使用QueryInterface可以获取CATI2DWFFactory接口的指针。

注意:

1).      必须激活视图(View) 以处理2D几何元素。当一个视图被激活时,关联的草图(sketch)就进入了编辑模式,因此可以在其中创建几何元素。

2).      如果一个交互式命令处理几何元素,在2D几何元素创建的最后一步,必须执行在CATISketchEditor接口定义的SaveEdition方法。CATISketch接口继承自CATISketchEditor,因此,SaveEdition可以通过CATISketch接口执行。

发表评论0条 】
网友评论(共?条评论)..
CAA制图模型概述(Drafting Modeler Overview)