在ObjectARX培训教程的这一部分中,我们将查看AutoCAD的符号表。 我们将创建一个新层; 创建一个块定义; 并探索如何使用Iterator逐步浏览“模型空间”块表记录中包含的实体。 在本节的本节中,将向您介绍打开对象以进行读写操作的过程。.

NOTE: 当您完成对所有为读取或写入操作打开的对象时,必须将其关闭。 无法关闭打开的对象将导致AutoCAD崩溃-您已被警告! 

目标:

在本练习中,我们将创建两个新的AutoCAD命令“ CREATE”和“ SETLAYER”。 在这些教程的过程中,如果遇到困难,可以在本节的最后一个主题中查看可下载的此步骤的已解决项目。.

当执行“创建”命令时,它将:

  • 创建一个名为“ USER”的新层,并创建一个名为“ EMPLOYEE”的新块定义。
    • 创建新层将AcDbLayerTableRecord添加到AcDbLayerTable.
    • 创建新的块定义会将AcDbBlockTableRecord添加到AcDbBlockTable。 为了实现块的定义,然后将构成块定义的实体添加到新创建的AcDbBlockTableRecord中。 使用AutoCAD的“ INSERT”命令创建块定义的实例。 块定义的实例称为AcDbBlockReference实体。 AcDbBlockReference实体被附加到模型空间或AutoCAD的图纸空间布局之一.

 

当执行“ SETLAYER”命令时,它将:
  • 在模型空间中搜索“ EMPLOYEE”块的实例(具有对“ EMPLOYEE” AcDbBlockTableRecord的引用的AcDbBlockReference实体)。 对于找到的每个“ EMPLOYEE”块,将“ EMPLOYEE”块的层更改为“ USER”层。 在模型空间中搜索“ EMPLOYEE”块的实例将利用块表迭代器-AcDbBlockTableRecordIterator.

 

如下图所示,“ EMPLOYEE”块定义将表示一个由3个圆(AcDbCircle-脸和两只眼睛)和一个圆弧(AcDbArc-嘴)组成的“笑脸”.

 

 

步骤3图1-EMPLOYEE块定义

通过使用ObjectARX向导创建名为Step03的新ObjectARX项目来开始本教程。.

 

NEXT: 实用功能

Introduction - Symbol Tables
Copyright ? 2013 Autodesk, Inc.