目录

HEADER 段

什么是 HEADER 段

HEADER 段(标题段)存储与图形关联的系统变量设置。这些变量定义了图形的各种全局属性,如图形范围、尺寸标注样式、坐标系设置、捕捉栅格设置等。

每个系统变量由组码 9 指定变量名称(变量名以 $ 开头),其后是提供变量值的一个或多个组。

HEADER 段的结构如下:

 0
 SECTION
 2
 HEADER

 ; 每个变量的格式:
 9
 $变量名
 组码
 值

 0
 ENDSEC

常用系统变量

以下列出了 HEADER 段中最常用的系统变量及其组码:

图形范围变量

变量名 组码 说明
$ACADVER 1 AutoCAD 版本号(如 AC1027)
$DWGCODEPAGE 3 图形代码页
$EXTMIN 10,20,30 图形范围最小点
$EXTMAX 10,20,30 图形范围最大点
$LIMMIN 10,20,30 图形界限最小点
$LIMMAX 10,20,30 图形界限最大点

单位与精度变量

变量名 组码 说明
$INSBASE 10,20,30 插入基点
$INSUNITS 70 插入单位(0=无单位,1=英寸,2=英尺,3=毫米等)
$MEASUREMENT 70 测量单位(0=英制,1=公制)
$LUNITS 70 线性单位格式
$LUPREC 70 线性单位精度
$AUNITS 70 角度单位格式
$AUPREC 70 角度单位精度

捕捉与栅格变量

变量名 组码 说明
$SNAPMODE 70 捕捉模式(0=关闭,1=打开)
$SNAPUNIT 10,20 捕捉间距(X、Y)
$SNAPBASE 10,20 捕捉基点
$SNAPANG 50 捕捉旋转角度
$GRIDMODE 70 栅格模式(0=关闭,1=打开)
$GRIDUNIT 10,20 栅格间距(X、Y)

标注变量

变量名 组码 说明
$DIMSCALE 40 标注全局比例
$DIMASZ 40 箭头大小
$DIMTXT 40 标注文字高度
$DIMGAP 40 尺寸线间距
$DIMTIH 70 文字水平放置标志
$DIMTOH 70 尺寸线外部文字水平放置标志

图层与颜色变量

变量名 组码 说明
$CLAYER 8 当前图层名
$TEXTSTYLE 7 当前文字样式名
$CECOLOR 62 当前颜色号
$CELTYPE 6 当前线型名
$CELWEIGHT 370 当前线宽

视口变量

变量名 组码 说明
$VPORT_X 40 视口宽度
$VPORT_Y 41 视口高度
$VIEWCTR 10,20 视图中心点
$VIEWSIZE 40 视图高度

日期/时间变量

日期/时间变量使用特殊的日期格式存储,需要进行数值转换:

变量名 组码 说明
$TDCREATE 40 图形创建时间(修正的儒略日)
$TDUPDATE 40 图形更新时间(修正的儒略日)
$TDINDWG 40 累计编辑时间
$TDUSTRAER 40 用户耗时

修正的儒略日(Modified Julian Date)的计算方式为:将日期转换为 Julian 日期后减去 2,400,000.5。

其他常用变量

变量名 组码 说明
$FLATLAND 70 平面世界标志(用于旧版本兼容)
$MENU 1 菜单文件名
$HANDSEED 5 下一个可用句柄
$SPLFRAME 70 样条曲线控制多边形显示
$SPLINETYPE 70 样条曲线类型
$PLINEGEN 70 多段线线型生成标志
$TILEMODE 70 模型空间/图纸空间标志
$MAXACTVP 70 最大激活视口数

编程注意事项

1. **变量存在性**:并非所有变量都会出现在每个 DXF 文件中,只写入与默认值不同的变量。
2. **$ACADVER 版本对照**:
    * AC1015 = AutoCAD 2000
    * AC1018 = AutoCAD 2004
    * AC1021 = AutoCAD 2007
    * AC1024 = AutoCAD 2010
    * AC1027 = AutoCAD 2013
    * AC1032 = AutoCAD 2018
3. **$HANDSEED**:此变量表示下一个可用的句柄值,在写入自定义 DXF 文件时需要正确处理。
4. **$CLAYER**:确保指定的图层名在 TABLES 段中有对应的 LAYER 定义。

本章小结

HEADER 段定义了图形的全局属性。二次开发时,通过读取 HEADER 段可以获取图形的配置信息;写入 HEADER 段时,应根据需要设置正确的系统变量值。下一章将介绍 TABLES 段(符号表)的详细内容。