vbcad 发表于 2014-2-20 12:56:27

DXF组码分享(学习选择集时搜索到的)

下表列出了组码或组码范围以及组码值的解释。在此表中,“固定”表明组码始终具有相同的用途。如果组码不固定,则其用途取决于上下文。关于此表中使用的缩写和格式方面的信息,请参见本参考的格式惯例。
按数字次序排列的组码
组码说明
-5APP:永久反应器链
-4APP:条件运算符(仅与 ssget 一起使用)
-3APP:扩展数据 (XDATA) 标记(固定)
-2APP:图元名参照(固定)
-1APP:图元名。每次打开图形时,图元名都会发生变化,从不保存(固定)
0表示图元类型的字符串(固定)
1图元的主文字值
2名称(属性标记、块名等)
3-4其他文字或名称值
5图元句柄;最多 16 个十六进制数字的字符串(固定)
6线型名(固定)
7文字样式名(固定)
8图层名(固定)
9DXF:变量名称标识符(仅在 DXF 文件的 HEADER 段中使用)
10主要点;直线或文字图元的起点、圆的圆心,等等DXF:主要点的 X 值(后跟 Y 和 Z 值代码 20 和 30)APP:三维点(三个实数的列表)
11-18其他点DXF:其他点的 X 值(后跟 Y 值代码 21-28 和 Z 值代码 31-38)APP:三维点(三个实数的列表)
20, 30DXF:主要点的 Y 值和 Z 值
21-28, 31-37DXF:其他点的 Y 值和 Z 值
38DXF:如果非零,则为图元的标高
39如果非零,则为图元的厚度(固定)
40-48双精度浮点值(文字高度、缩放比例等)
48线型比例;双精度浮点标量值;默认值适用于所有图元类型
49重复的双精度浮点值。一个图元的可变长度表(例如,LTYPE 表中的虚线长度)中可能会出现多个 49 组。7x 组始终出现在第一个 49 组之前,用以指定表的长度
50-58角度(在 DXF 文件中以度为单位,在 AutoLISP 和 ObjectARX 应用程序中以弧度为单位)
60图元可见性;整数值;未赋值或值为 0 时表示可见;值为 1 时表示不可见
62颜色号(固定)
66“图元跟随”标志(固定)
67空间 — 模型空间或图纸空间(固定)
68APP:指示视口是处于打开状态但在屏幕上完全不可见,还是未激活或处于关闭状态
69APP:视口标识号
70-78整数值,例如重复计数、标志位或模式
90-9932 位整数值
100子类数据标记(将派生类名作为字符串)从其他具体类派生的所有对象和图元类必须具有此标记。子类数据标记用于分离由同一对象的继承链中的不同类定义的数据。对于从 ObjectARX 派生的每个不同的具体类的 DXF 名称来说,这是必须满足的额外要求(参见子类标记)
102控制字符串,后跟“{<任意名称>”或“}”。与扩展数据 1002 组码类似,不同之处在于当字符串以“{”开始时,其后可跟任意字符串,字符串的解释取决于应用程序。唯一允许的另外一个控制字符串是作为组结束符的“}”。除了执行图形核查操作期间外,AutoCAD 不会解释这些字符串。它们供应用程序使用
105DIMVAR 符号表条目的对象句柄
110UCS 原点(仅当将代码 72 设置为 1 时才显示)DXF:X 值;APP:三维点
111UCS X 轴(仅当将代码 72 设置为 1 时才显示)DXF:X 值;APP:三维矢量
112UCS Y 轴(仅当将代码 72 设置为 1 时才显示)DXF:X 值;APP:三维矢量
120-122DXF:UCS 原点的 Y 值,UCS X 轴和 UCS Y 轴
130-132DXF:UCS 原点的 Z 值,UCS X 轴和 UCS Y 轴
140-149双精度浮点值(例如点、标高和 DIMSTYLE 设置)
170-17916 位整数值,例如表示 DIMSTYLE 设置的标志位
210拉伸方向(固定)DXF:拉伸方向的 X 值APP:三维拉伸方向矢量
220, 230DXF:拉伸方向的 Y 值和 Z 值
270-27916 位整数值
280-28916 位整数值
290-299布尔标志值
300-309任意字符串
310-319具有相同表示和 1004 组码限制的任意二进制块:用最大长度为 254 个字符的十六进制字符串表示最大长度为 127 个字节的数据块
320-329任意对象句柄;“按原样”获取的句柄值。它们在 INSERT 和 XREF 操作期间不进行转换
330-339软指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意软指针。在 INSERT 和 XREF 操作期间进行转换
340-349硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。在 INSERT 和 XREF 操作期间进行转换
350-359软所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意软所有者指针。在 INSERT 和 XREF 操作期间进行转换
360-369硬所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬所有者指针。在 INSERT 和 XREF 操作期间进行转换
370-379线宽枚举值 (AcDb::LineWeight)。作为 16 位整数存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 371-379 DXF 组码,因为 AutoCAD 和 AutoLISP 都始终假定 370 组码是图元的线宽。这使 370 组码与其他“通用”图元字段具有相同的行为
380-389PlotStyleName 类型枚举 (AcDb::PlotStyleNameType)。作为 16 位整数存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 381-389 DXF 组码,原因与上述线宽范围相同
390-399表示 PlotStyleName 对象的句柄值的字符串,本质上是硬指针,但范围不同,更容易处理向后兼容。作为对象 ID(在 DXF 文件中为句柄)和 AutoLISP 中的特殊类型存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 391-399 DXF 组码,原因与上述线宽范围相同
400-40916 位整数
410-419字符串
420-42732 位整数值。与真彩色一同使用时,表示 24 位颜色值的 32 位整数。高阶字节(8 位)为 0;低阶字节为包含“蓝色”值 (0-255)、然后是“绿色”值的无符号字符;次高阶字节是“红色”值。将此整数值转换为十六进制值将得到以下位掩码:0x00RRGGBB。例如,红色==200、绿色==100 和蓝色==50 的真彩色为 0x00C86432,而在 DXF 中以十进制表示则为 13132850
430-437字符串;用于真彩色时,则为表示颜色名称的字符串
440-44732 位整数值。用于真彩色时,表示透明度值
450-459长整数
460-469双精度浮点值
470-479字符串
480-481硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。在 INSERT 和 XREF 操作期间进行转换
999DXF:999 组码指示后面的行是注释字符串。SAVEAS 不会在 DXF 输出文件中包含这样的组,但 OPEN 则包括这些组并忽略注释。可以使用 999 组在您编辑的 DXF 文件中包含注释
1000扩展数据中的 ASCII 字符串(最多可以包含 255 个字节)
1001扩展数据的注册应用程序名(最多可以包含 31 个字节的 ASCII 字符串)
1002扩展数据控制字符串(“{”或“}”)
1003 扩展数据图层名
1004扩展数据中的字节数据块(最多可以包含 127 个字节)
1005扩展数据中的图元句柄;最多可以包含 16 个十六进制数字的字符串
1010扩展数据中的点 DXF:X 值(后跟 1020 和 1030 组)APP:三维点
1020, 1030DXF:点的 Y 值和 Z 值
1011扩展数据中的三维世界空间位置 DXF:X 值(后跟 1021 和 1031 组)APP:三维点
1021, 1031DXF:世界空间位置的 Y 值和 Z 值
1012扩展数据中的三维世界空间位移DXF:X 值(后跟 1022 和 1032 组)APP:三维矢量
1022, 1032DXF:世界空间位移的 Y 值和 Z 值
1013扩展数据中的三维空间方向DXF:X 值(后跟 1022 和 1032 组)APP:三维矢量
1023, 1033DXF:世界空间方向的 Y 和 Z 值
1040扩展数据双精度浮点值
1041扩展数据距离值
1042扩展数据缩放比例
1070扩展数据 16 位有符号整数
1071扩展数据 32 位有符号长整数


TEXT (DXF)
以下组码适用于文字图元。
TEXT 组码
组码 说明
100 子类标记 (AcDbText)
39 厚度(可选;默认值 = 0)
10 第一对齐点(在 OCS 中) DXF:X 值;APP:三维点
20, 30 DXF:第一对齐点的 Y 值和 Z 值(在 OCS 中)
40 文字高度
1 默认值(字符串本身)
50 文字旋转角度(可选;默认值 = 0)
41 相对 X 比例因子 — 宽度(可选;默认值 = 1) 使用拟合类型的文字时,该值也将进行调整。
51 倾斜角(可选;默认值 = 0)
7 文字样式名(可选;默认值 = 标准)
71 文字生成标志(可选;默认值 = 0): 2 = 文字反向(在 X 轴方向镜像) 4 = 文字倒置(在 Y 轴方向镜像)
72 文字水平对正类型(可选;默认值 = 0)整数代码(非按位编码) 0 = 左对正;1 = 居中对正;2 = 右对正 3 = 对齐(如果垂直对齐 = 0) 4 = 中间(如果垂直对齐 = 0) 5 = 拟合(如果垂直对齐 = 0) 详细信息请参见组 72 和 73 整数代码表
11 第二对齐点(在 OCS 中)(可选) DXF:X 值;APP:三维点 只有当 72 或 73 组的值非零时,该值才有意义(如果对正不是基线对正/左对正)
21, 31 DXF:第二对齐点的 Y 值和 Z 值(在 OCS 中)(可选)
210 拉伸方向(可选;默认值 = 0, 0, 1) DXF:X 值;APP:三维矢量
220, 230 DXF:拉伸方向的 Y 值和 Z 值(可选)
100 子类标记 (AcDbText)
73 文字垂直对正类型(可选;默认值 = 0)整数代码(不是按位编码) 0 = 基线对正;1 = 底端对正;2 = 居中对正;3 = 顶端对正 详细信息请参见组 72 和 73 整数代码表
下表详细说明了组码 72(水平对齐)和组码 73(垂直对齐)。
组 72 和 73 整数代码
组 73 组 72 0 1 2 3 4 5
3(顶端对正) 左上 中上 右上
2(居中对正) 左中 正中 右中
1(底端对正) 左下 中下 右下
0(基线对正) 左 中心 右 对齐 中间 拟合
如果组 72 和/或 73 的值非零,则第一对齐点的值将被忽略,AutoCAD 将根据第二对齐点和文字字符串的长度和高度(应用文字样式之后)计算新值。如果组 72 和 73 的值为零或缺失,第二对齐点将没有意义。

yzg_208 发表于 2014-9-4 21:35:02

VB或者VBA中如何读写这些组码?

zzyong00 发表于 2014-9-5 10:43:21

如何查适用于各种图元的组码?

fei 发表于 2014-10-15 10:50:26

同问VBA如何查询对象的组码?求大神们回复!

zzyong00 发表于 2014-10-16 19:47:57

DXF 参考手册可以查询各对象组码的意思

浪迹天涯追月 发表于 2014-10-21 18:25:33

0 表示图元类型的字符串(固定) 像这种图元类型CAD帮助就不能给个链接说明下种类么 text、 mtext 、insert什么的 简直坑

flowedcloud 发表于 2014-11-2 22:24:38

在下有一疑问 -1图元名和5图元句柄 是出于什么目的   需要通过handent进行转换。
二者同时有着唯一性。何必多次一举呢?

我来看MM的 发表于 2015-10-29 23:02:38

赞一个

YueFeng 发表于 2016-4-13 14:59:34

flowedcloud 发表于 2014-11-2 22:24 static/image/common/back.gif
在下有一疑问 -1图元名和5图元句柄 是出于什么目的   需要通过handent进行转换。
二者同时有着唯一性。何 ...

句柄具有唯一下,下一次打开DWG文件还是此句柄。图元名,不具有唯一性,下次打开不一样,或是此图形中删除此对象后,再经过多次操作手,此图元名会被其他对象占据。
应用句柄要用到转换成当前图元名,才能进行具体操作。

yideng621 发表于 2017-11-14 22:50:49

学习学习,紫薯布丁
页: [1]
查看完整版本: DXF组码分享(学习选择集时搜索到的)