本章介绍的组码可以在 DXF™ 文件中找到,并且可以由应用程序使用。BLOCKS 段包含图形中每个块所参照的条目。
DXF 文件的 BLOCKS 区域包含所有的块定义,其中包括由 HATCH 命令和由关联标注生成的匿名块。每个块定义都包含在图形中使用该块时构成该块的图元。此段中的图元格式与 ENTITIES 段中的图元格式相同。BLOCKS 段中的所有图元都出现在 BLOCK 和 ENDBLK 图元之间。BLOCK 和 ENDBLK 图元仅出现在 BLOCKS 段。尽管块定义可以包含插入图元,但不允许嵌套块定义(即 BLOCK 和 ENDBLK 图元之间不允许出现另一对 BLOCK 和 ENDBLK 图元)。
外部参照被作为块定义写入 DXF 文件,除非外部参照还包含指定外部参照路径和文件名的字符串(组码 1)。
在每个块定义中,紧接着 BLOCK 记录后出现的是块表句柄和任何扩展数据以及永久反应器,BLOCK 记录包含块表记录存储的所有指定信息。
下列组码适用于块图元。关于此表中使用的缩写和格式方面的信息,请参见 本参考的格式惯例。
BLOCK 组码 |
---|
组码 | 说明 |
---|
0 | 图元类型 (BLOCK) |
5 | 句柄 |
102 | 应用程序定义的组的开始“{application_name”。例如,“{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始(可选) |
应用程序定义的代码 | 102 组中的代码和值由应用程序定义(可选) |
102 | 组的结束“}”(可选) |
330 | 所有者对象的软指针 ID/句柄 |
100 | 子类标记 (AcDbEntity) |
8 | 图层名 |
100 | 子类标记 (AcDbBlockBegin) |
2 | 块名 |
70 | 块类型标志(按位编码值,可以组合使用): 0 = 表示不应用下列任何标志 1 = 由图案填充、关联标注、其他内部操作或应用程序生成的匿名块 2 = 块具有非固定属性定义(如果块具有任何固定属性定义或根本没有属性定义,则不设定此位) 4 = 块是外部参照 (xref) 8 = 块是外部参照覆盖 16 = 块依赖外部参照 32 = 块是融入的外部参照,或者依赖外部参照(输入时被忽略) 64 = 定义是被引用的外部参照(输入时 被忽略) |
10 | 基点 DXF:X 值;APP:三维点 |
20, 30 | DXF:基点的 Y 值和 Y 值 |
3 | 块名 |
1 | 外部参照路径名 |
4 | 块说明(可选) |
创建块定义时使用的 UCS 成为块定义中所有图元的 WCS。移动这些图元的新原点以匹配为块定义而定义的基点。转换所有图元数据以适合新的 WCS。
模型空间和图纸空间块定义
BLOCKS 段中始终出现三个空定义。即 *Model_Space、*Paper_Space 和 *Paper_Space0。这些定义在内部将模型空间和图纸空间的表示显示为块定义。第一个图纸空间布局的内部名称是 *Paper_Space,第二个是 *Paper_Space0,第三个是 *Paper_Space1,依此类推。
模型空间和图纸空间图元分离
模型空间和图纸空间之间不会再出现交错现象。总是先输出所有图纸空间图元,再输出模型空间图元。区分这些图元的标志是组码 67。
下列组码适用于 ENDBLK 对象。关于此表中使用的缩写和格式方面的信息,请参见 本参考的格式惯例。
ENDBLK 组码 |
---|
组码 | 说明 |
---|
0 | 图元类型 (ENDBLK) |
5 | 句柄 |
102 | 应用程序定义的组的开始“{application_name”。例如,“{ACAD_REACTORS”表示 AutoCAD 永久反应器组的开始(可选) |
应用程序定义的代码 | 102 组中的代码和值由应用程序定义(可选) |
102 | 组的结束“}”(可选) |
330 | 所有者对象的软指针 ID/句柄 |
100 | 子类标记 (AcDbEntity) |
8 | 图层名 |
100 | 子类标记 (AcDbBlockEnd) |