VERTEX tempVertex;
SEQUENCE tempSequence;
typedef struct { float x,y,z,max; }MAX;
MAX max; HT=9;
objectNumber=getObjectNumber(); myData=new myVertex[objectNumber];
fp=fopen(FileName,\
i=0; j=0; k=0;
myNumber=-1;
strcpy(myName,\
while(! feof(fp) && ! ferror(fp)) {
fscanf(fp,\
if(strcmp(str,\ {
fscanf(fp,\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\ }
if(strcmp(str,\ {
fscanf(fp,\ fscanf(fp,\
fscanf(fp,\
fscanf(fp,\
fscanf(fp,\ fscanf(fp,\
max.x=max(abs(xMax),abs(xMin)); max.y=max(abs(yMax),abs(yMin)); max.z=max(abs(zMax),abs(zMin)); max.max=max(max.x,max.y); max.max=max(max.max,max.z);
}
if(strcmp(str,\ {
fscanf(fp,\ fscanf(fp,\
if(strcmp(myName,str1) != 0) {
myNumber++;
strcpy(myName,str1);
strcpy((myData+myNumber)->obName,myName); }
fscanf(fp,\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\
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); }
本文来自CSDN博客,转载请标明出http://blog.csdn.net/L_serein/archive/2010/03/23/5406376.aspx
处:
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尺寸线的间距