OBJECTS 段

OBJECTS 段(对象段)存储图形中的非图形对象,即没有直接图形表示的对象。这些对象包括词典、布局、材质、组、标注关联等。OBJECTS 段是 DXF 中结构最复杂的段之一。

OBJECTS 段的结构与 ENTITIES 段类似,每个对象以组码 0 后跟对象类型名开始。

以下组码适用于 OBJECTS 段中的所有对象:

组码 说明
0 对象类型名
5 句柄
8 图层名(某些对象)
100 子类标记
102 控制字符串
330 软所有者 ID
340 硬指针句柄
350 软所有者句柄
360 硬所有者句柄

词典是最重要的非图形对象之一,用于组织和管理其他对象。AutoCAD 使用根词典(Named Object Dictionary)来管理所有的词典。

组码 说明
100 AcDbDictionary
2 词典名称
281 硬标签标志(0=软,1=硬)
3 条目名称(可重复)
350 软所有者句柄(与条目对应)

预定义的根词典条目:

条目名 说明
ACAD_GROUP 组集合
ACAD_LAYOUT 布局集合
ACAD_MATERIAL 材质集合
ACAD_MLEADERSTYLE 多重引线样式
ACAD_MLINESTYLE 多线样式
ACAD_PLOTSETTINGS 打印设置
ACAD_TABLESTYLE 表格样式
ACAD_VBA_PROJECT VBA 项目
ACAD_VISUALSTYLE 视觉样式

示例:

 0
 DICTIONARY
 5
 F0
 100
 AcDbDictionary
 280
 1
 2
 ACAD_LAYOUT
 350
 F1
 2
 ACAD_MATERIAL
 350
 F2
组码 说明
100 AcDbDictionaryVar
1 变量值字符串

布局对象定义图纸空间中的布局设置:

组码 说明
100 AcDbLayout
1 布局名称
2 与该布局关联的块表记录名称
7 布局关联的块名
10,20,30 布局插入点(基点)
11,21,31 布局左上角延伸范围
12,22,32 布局右下角延伸范围
14,24,34 打印区域左上角
15,25,35 打印区域右下角
70 布局标志位
71 打印比例相关标志
72 打印图纸单位
73 打印比例因子
40 打印区域宽度
41 打印区域高度
42 打印比例分子
43 打印比例分母
44 打印偏移 X
45 打印偏移 Y
76 打印参数
331 块表记录句柄
组码 说明
100 AcDbPlotSettings
1 页面设置名称
2 打印设备
3 打印样式表
4 打印配置(.pc3 文件名)
6 打印范围
10,20 打印原点
11,21 图纸尺寸(宽、高)
12,22 打印区域
40 打印比例
41 单位
70 标志位
72 打印方向
组码 说明
100 AcDbMaterial
1 材质名称
2 材质类别
3 材质描述
40 环境色因子
41 漫射色因子
42 镜面色因子
43 发光色因子
44 不透明度
45 反射度
46 粗糙度
47 折射率
70 材质标志
140 贴图缩放 U
141 贴图缩放 V
142 贴图偏移 U
143 贴图偏移 V

组对象用于将多个图元组织在一起:

组码 说明
100 AcDbGroup
2 组名
300 组描述
70 组标志(0=未命名,1=命名)
340 成员图元句柄(可重复)
组码 说明
100 AcDbMLineStyle
2 多线样式名称
3 多线样式描述
40 默认偏移
41 元素数量
49 元素偏移(可重复)
62 元素颜色(可重复)
6 元素线型(可重复)
70 填充颜色(-1=无填充)
71 起点闭合标志
72 终点闭合标志
73 起点角度
74 终点角度
组码 说明
100 AcDbTableStyle
2 表格样式名称
3 描述
70 方向(0=向下,1=向上)
71 单元类型数量
40 水平单元间距
41 垂直单元间距
62 背景色(可选)
7 文字样式(可选)
140 文字高度
170 对齐方式
280 数据单元的标志位

XRECORD 用于存储任意应用程序定义的数据:

组码 说明
100 AcDbXrecord
280 复制记录标志
1+ 各种组码数据

XRECORD 可以包含各种标准组码(1-369 范围)来存储数据。

组码 说明
100 AcDbDimAssoc
1 关联路径数据
组码 说明
100 AcDbField
1 字段代码字符串
2 字段值
3 字段格式字符串
4 字段表达式
90 字段类型
91 求值标志
92 字段格式类型

用于光栅图像参照:

组码 说明
100 AcDbRasterImageDef
1 图像文件名
10,20 图像尺寸(像素)
11,21 默认图像尺寸(单位)
组码 说明
100 AcDbVbaProject
1 VBA 项目数据

OBJECTS 段中的对象之间存在所有权关系,由句柄引用表示:

  • 软所有权(组码 350-359):所有者可以删除被所有者,但不强制执行
  • 硬所有权(组码 360-369):所有者可以删除被所有者,强制执行
  • 软指针(组码 330-339):引用其他对象,但不拥有
  • 硬指针(组码 340-349):引用其他对象,视为强引用

典型的对象层次结构:

Named Object Dictionary (ACAD_LAYOUT)
  └── LAYOUT "Model" (模型空间布局)
  └── LAYOUT "Layout1" (图纸空间布局)
Named Object Dictionary (ACAD_MATERIAL)
  └── MATERIAL "ByLayer"
  └── MATERIAL "ByBlock"
Named Object Dictionary (ACAD_GROUP)
  └── GROUP "MyGroup"
Named Object Dictionary (ACAD_TABLESTYLE)
  └── TABLESTYLE "Standard"
1. **根词典**:OBJECTS 段通常以根词典(Named Object Dictionary)开始,该词典句柄通常固定为 "F0"。
2. **布局对象**:每个 DXF 文件至少应有一个 LAYOUT 对象(模型空间布局)。
3. **句柄一致性**:OBJECTS 段中的句柄引用必须与文件中其他地方的对象 ID 一致。
4. **对象可选性**:简单的 DXF 文件可以省略 OBJECTS 段,但包含复杂对象(如布局、填充图案)时必须包含。
5. **XRECORD 应用**:自定义应用程序数据通常存储在 XRECORD 对象中,通过词典组织。

OBJECTS 段虽然不如 ENTITIES 段常用,但在处理布局、材质、组等高级特性时必不可少。理解 OBJECTS 段的结构和对象间的关系有助于开发更完善的 DXF 应用程序。

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • dxf格式/07_dxf_objects.txt
  • 最后更改: 2026/06/17 09:44
  • 张叶安