|
扩展数据是由 AutoLISP 或 ObjectARX应用程序创建的。如果图元包括扩展数据,则扩展数据将跟在普通定义数据之后。从 1000 到 1071 的组码用来描述扩展数据。下面是一个包含扩展数据的图元的例子,此图元出现在 DXF 文件格式中。
普通图元定义数据:
0
INSERT
5
F11
100
AcDbEntity
8
TOP
100
AcDbBlockReference
2
BLOCK_A
10
0.0
20
0.0
30
0.0
扩展图元定义数据:
1001
AME_SOL
1002
{
1070
0
1071
1.95059E+06
1070
519
1010
2.54717
1020
2.122642
1030
2.049201
1005
ECD
1005
EE9
1005
0
1040
0.0
1040
1.0
1000
MILD_STEEL
组码 1001 表示扩展数据的开始。与普通图元组码相比,在扩展数据中相同的组码可以出现多次,而且次序非常重要。
扩展数据按照已注册的应用程序名称编组。每一个注册应用程序的组都从组码 1001 开始,其组值为表示应用程序名称的字符串。注册应用程序名称符合 APPID 符号表条目。
如果需要,应用程序可以使用多个 APPID 名称。APPID 名称是永久性的,尽管那些在图形中非当前使用的 APPID 名称将被清理。每个 APPID 名称可以拥有一个附着到每个对象上的数据组。在应用程序的组码中,扩展数据组的序列及其含意由应用程序定义。
扩展数据组码的说明如下表:
扩展数据组码及其说明
图元名
组码
说明
字符串
1000
扩展数据中的字符串最长为 255 个字节(第 256 个字符将被保存为空字符)。
应用程序名称
1001
也是字符串值
字符串名称最长为 31 个字节(第 32 个字符将被保存为空字符)。 注意:请不要向您的扩展数据中添加组码 1001,因为 AutoCAD 认为组码 1001 是新的应用程序扩展数据组的开始。
控制字符串
1002
一个扩展数据控制字符串即可以是 "{" 也可以是 "}"。这些大括号可以使应用程序通过把数据细分为表来组织它们的数据。左大括号开始表,右大括号结束最近的表。表可以被嵌套。
当 AutoCAD 为应用程序读取扩展数据时,它首先检查大括号是否配对。
图层名称
1003
与扩展数据相联系的图层的名称。
二进制数据
1004
二进制数据被组织到可变长度的数据组 中。每个数据组最长为 127 个字节。在 ASCII DXF 文件中,二进制数据被表示为十六进制数字字符串,每个二进制字节两个字符。
数据库句柄
1005
图形数据库中的图元句柄。
注意: 当使用 INSERT、INSERT *、XREF 绑定、XBIND 或部分 DXFIN 将拥有句柄和扩展数据句柄的图形输入另一个图形时,扩展数据句柄将以某种方式转换成它们相对应的图元句柄,以此来维护它们的绑定。在 EXPLODE 块操作或其他任何 AutoCAD 操作中也如此进行。当 AUDIT 检测到扩展数据句柄与图形文件中的图元句柄不匹配时,它认为这是一个错误。如果 AUDIT 修复图元,它将设置句柄为 0。
3 个实数
1010, 1020, 1030
三个实数值的次序为 X、Y 和 Z。它们可被用于表示点或矢量记录。AutoCAD 不改变它们的值。
世界空间位置
1011, 1021, 1031
与简单的三维点不同,世界空间坐标可被移动、缩放、旋转和连同属于扩展数据的上级图元一起产生镜像。当命令 STRETCH 被用于上级图元且此点位于所选窗口中时,世界空间位置也可被拉伸。
世界空间位移
1012, 1022, 1032
同样三维点也可被缩放,旋转和连同上级图元一起产生镜像(但不能被移动或拉伸)。
世界方向
1013, 1023, 1033
同样三维点也可被旋转和连同上级图元一起产生镜像(但不能被移动、缩放或拉伸)。
实数
1040
一个实数值
距离
1041
一个可连同上级图元一起被缩放的实数值。
缩放比例
1042
同样是一个可连同上级图元一起被缩放的实数值。与距离的区别在于此图元为应用程序定义的。
整数
1070
一个 16 位整数(有符号的或无符号的)。
长整数
1071
一个 32 位符号(长型)整数。 |
|