fscanf(fp,\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\
if(lab == 192) {
tempVertex.x=tempX / max.max; tempVertex.y=tempY / max.max; tempVertex.z=tempZ / max.max;
(myData+myNumber)->Vertex.Add(new CVertex(tempVertex));
}
if(lab == 128) {
fscanf(fp,\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\
tempSequence.a=abs(tempX); tempSequence.b=abs(tempY); tempSequence.c=abs(tempZ);
(myData+myNumber)->Sequence.Add(new CSequence(tempSequence));
}
} }
fclose(fp); }
HEADER 区域
本节中描述的组码仅适用于 DXF 文件。
DXF 文件的 HEADER 区域包括与图形相关联的变量的设置。其中的每一个变量都通过组码 9 给出变量名,并由其后的组码提供变量值。注意:AutoCAD
命令参考中的附录 B“系统变量”中的一些变量不出现在 DXF 文件中。 通过执行函数 getvar,应用程序可以检索这些变量的值。 下面是 DXF 文件的 HEADER 区域的样例: 0
2HEADER 区域的开始
9
$
0HEADER 区域的结束
下表列出了保存在 DXF 文件中的变量。
DXF 系统变量 变量组码说明
$ACADMAINTVER70
$ACADVER1AutoCAD 图形数据库版本号: AC1006=R10,AC1009=R11 和 R12, AC1012=R13,AC1014=R14 $ANGBASE500 角度的方向
$ANGDIR701=角为顺时针方向,0=逆时针方向 $ATTDIA70属性条目对话框:1=开,0=关
$ATTMODE70属性可见性:0=无,1=普通,2=全部 $ATTREQ70INSERT 期间的属性提示:1=开,0=关 $AUNITS70角的单位格式 $AUPREC70角的单位精度
$BLIPMODE70如果非零,则“点标记”模式打开
$CECOLOR62当前图元颜色代码:0=BYBLOCK,256=BYLAYER $CELTSCALE40当前图元线型比例
$CELTYPE6图元线型名称,也可为 BYBLOCK 或 BYLAYER $CHAMFERA40第一个倒角距离 $CHAMFERB40第二个倒角距离 $CHAMFERC40倒角长度 $CHAMFERD40倒角角度 $CLAYER8当前图层名
$CMLJUST70当前多线对正模式:0=顶端,1=中间,2=底端 $CMLSCALE40当前多线比例 $CMLSTYLE2当前多线样式名
$COORDS70坐标显示方式:
0=静态的,1=持续更新,2=\格式
$DELOBJ70控制是否删除对象:0=删除,1=保留 $DIMALT70如果非零,则标注中执行换算单位 $DIMALTD70换算单位小数位数 $DIMALTF40换算单位比例因子
$DIMALTTD70换算单位标注的公差值的十进制小数位数 $DIMALTTZ70控制替换公差值的消零: 0 = 清除零英尺并精确到零英寸 1 = 包括零英尺并精确到零英寸 2 = 包括零英尺并清除零英寸 3 = 包括零英寸并清除零英尺
$DIMALTU70所有标注样式族成员(不包括角度)换算单位的单位格式: 1 = 科学;2 = 十进制;3 = 工程; 4 = 建筑(堆叠);5 = 分数(堆叠); 6 = 建筑;7 = 分数
$DIMALTZ70控制换算单位标注值的消零: 0 = 清除零英尺并精确到零英寸 1 = 包括零英尺并精确到零英寸 2 = 包括零英尺并清除零英寸 3 = 包括零英寸并清除零英尺 $DIMAPOST1替换标注后缀
$DIMASO701 = 创建关联标注,0 = 绘制独立图元 $DIMASZ40标注箭头的尺寸
$DIMAUNIT70角度标注的单位格式:
0 = 十进制度数;1 = 度/分/秒;2 = 百分度;3 = 弧度; 4 = 勘测
$DIMBLK1箭头块名
$DIMBLK11第一箭头块名 $DIMBLK21第二箭头块名
$DIMCEN40中心标记/中心线的尺寸
$DIMCLRD70尺寸线颜色:范围为 0=BYBLOCK,256=BYLAYER $DIMCLRE70尺寸界线颜色:范围为 0=BYBLOCK,256=BYLAYER $DIMCLRT70标注文字颜色:范围为 0=BYBLOCK,256=BYLAYER $DIMDEC70主单位标注公差值的小数位数 $DIMDLE40尺寸线范围 $DIMDLI40尺寸线增量 $DIMEXE40尺寸界线范围 $DIMEXO40尺寸界线偏移
$DIMFIT70文本和箭头的放置;可能值:0 到 3(请参见 AutoCAD 命令参考中的附录 B“系统变量”)
$DIMGAP40尺寸线的间距
$DIMJUST70水平标注文字位置:
0 = 在尺寸线上方且与尺寸界线间中心对正;
1 = 在尺寸线上方且与第一尺寸界线相邻; 2 = 在尺寸线上方且与第二尺寸界线相邻; 3 = 在第一尺寸界线上方且与之中心对正; 4 = 在第二尺寸界线上方且与之中心对正; $DIMLFAC40线型测量比例因子
$DIMLIM70如果非零,则生成标注图形界限 $DIMPOST1基本标注后缀
$DIMRND40标注距离的舍入值
$DIMSAH70如果非零,则使用单独的箭头块 $DIMSCALE40全局标注比例因子
$DIMSD170控制是否清除第一尺寸线: 0 = 不清除;1 = 清除
$DIMSD270控制是否清除第二尺寸线: 0 = 不清除;1 = 清除
$DIMSE170如果非零,则清除第一尺寸界线 $DIMSE270如果非零,则清除第二尺寸界线 $DIMSHO701 = 拖动后重新计算标注; 0 = 拖动原图像
$DIMSOXD70如果非零,则清除外部尺寸尺寸线 $DIMSTYLE2标注样式名称
$DIMTAD70如果非零,则文字在尺寸线上方 $DIMTDEC70公差值的十进制数位数 $DIMTFAC40标注公差显示比例因子
$DIMTIH70如果非零,则文字在水平方向内 $DIMTIX70如果非零,则强制文字在尺寸线之间 $DIMTM40负公差
$DIMTOFL70如果非零,则当文字在范围外时,强制直线范围在尺寸界线之间 $DIMTOH70如果非零,则文字在水平方向之外 $DIMTOL70如果非零,则生成标注公差 $DIMTOLJ70公差值的垂直对正模式: 0=顶端;1=中间;2=底端 $DIMTP40正公差
$DIMTSZ40标注标记尺寸:0=无标记 $DIMTVP40文字垂直位置 $DIMTXSTY7标注文字样式 $DIMTXT40标注文字高度
$DIMTZIN70控制公差值的消零: 0 = 清除零英尺并精确到零英寸 1 = 包括零英尺并精确到零英寸 2 = 包括零英尺并清除零英寸 3 = 包括零英寸并清除零英尺
$DIMUNIT70所有的标注样式族成员(角度除外)的单位格式: 1 = 科学;2 = 十进制;3 = 工程; 4 = 建筑(堆叠);5 = 分数(堆叠);
6 = 建筑;7 = 分数
$DIMUPT70用户放置文字的光标功能: 0 = 只控制尺寸线位置:
1 = 同时控制尺寸线和文字位置 $DIMZIN70控制主单位值的消零: 0 = 清除零英尺并精确到零英寸 1 = 包括零英尺并精确到零英寸 2 = 包括零英尺并清除零英寸 3 = 包括零英寸并清除零英尺
$DISPSILH70控制线框图模式中体对象轮廓曲线的显示: 0=关;1=开
$DRAGMODE700=关;1=开;2=自动
$DWGCODEPAGE3图形代码页;当新图形创建时,设置为系统代码页,但 AutoCAD 不作另外的维护。
$ELEVATION40命令 ELEV 设置的当前标高
$EXTMAX10, 20, 30图形的 X、Y 和 Z 延伸到右上角(在 WCS 中) $EXTMIN10, 20, 30图形的 X、Y 和 Z 延伸到左下角(在 WCS 中) $FILLETRAD40圆角半径
$FILLMODE70如果非零,则“填充”模式打开 $HANDLING70下一个可用句柄 $HANDSEED5下一个可用句柄
$INSBASE10, 20, 30命令 BASE 设置的插入基点(在 WCS 中) $LIMCHECK70当检查图形界限时非零
$LIMMAX10, 20XY 图形界限延伸至右上角(在 WCS 中) $LIMMIN10, 20XY 图形界限延伸至左下角(在 WCS 中) $LTSCALE40全局线型比例
$LUNITS70坐标和距离的单位格式 $LUPREC70坐标和距离的单位精度
$MAXACTVP70设置要生成的视口数目的最大值
$MEASUREMENT70设置图形单位:0=英制;1=公制 $MENU1菜单文件名
$MIRRTEXT70如果非零,则镜像文字
$ORTHOMODE70如果非零,则打开“正交”模式 $OSMODE70运行对象捕捉模式 $DMODE70点显示模式 $DSIZE40点显示尺寸
$ELEVATION40当前图纸空间标高
$PEXTMAX10, 20, 30图纸空间的 X、Y 和 Z 延伸的最大值 $PEXTMIN10, 20, 30图纸空间的 X、Y 和 Z 延伸的最小值 $PICKSTYLE70控制编组选择集和关联填充选择集: 0 = 无编组选择集和关联填充选择集; 1 = 有编组选择集; 2 = 有关联填充选择集;
3 = 有编组选择集和关联填充选择集