打开DXF參考手冊,在DXF參考手冊中,点击“索引”-->输入“HEADER”,在ACADVER字段有acd的版本号信息:

以下是用C语言,写的推断dxf文件的版本号的代码:

/*--------------------------------------------------
*读取DXF文件里,HEADER段中DXF文件版本的小程序。
*----------------------------------------------------*/ #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h> #define STRLEN 30 int main(int argc, char *argv[])
{
int code; /*存储组码*/
char codevalue[STRLEN]; /*存储组码相应的值*/
FILE *dxf; /*文件指针*/
char filename[STRLEN]; /*文件名称*/
char suffix[6] = ".dxf"; /*仅仅输入文件名称打开DXF文件。不用输后缀.*/ printf("请输入文件名称:");
gets(filename);
strcat(filename,suffix); dxf = fopen(filename,"r"); /*打开文件进行读操作*/
if(!dxf) {
printf("打开文件出错!/n按随意键退出...");
getch();
exit(0);
}
else {
printf("文件已经打开.\n正在读取.../n");
} while(!feof(dxf)) {
fscanf(dxf,"%d",&code);
fscanf(dxf,"%s",codevalue); if(code == 2 && strcmp(codevalue,"HEADER")==0) {
fscanf(dxf,"%d",&code);
fscanf(dxf,"%s",codevalue);
if(strcmp(codevalue,"$ACADVER")==0) {
fscanf(dxf,"%d",&code);
fscanf(dxf,"%s",codevalue); if(strcmp(codevalue,"AC1006")==0) {
printf("AutoCAD版本号为R10.");
}
else
if(strcmp(codevalue,"AC1009")==0) {
printf("AutoCAD版本号为R11和R12.");
}
else
if(strcmp(codevalue,"AC1012")==0) {
printf("AutoCAD版本号为R13.");
}
else
if(strcmp(codevalue,"AC1014")==0) {
printf("AutoCAD版本号为R14.");
}
else
if(strcmp(codevalue,"AC1015")==0) {
printf("AutoCAD版本号为AutoCAD 2000.");
}
else
if(strcmp(codevalue,"AC1018")==0) {
printf("AutoCAD版本号为AutoCAD 2004.");
}
else {
printf("不能识别的AutoCAD版本号!");
break;
}
}
}
} fclose(dxf); /*关闭文件*/
printf("\n文件已经关闭.");
printf("\nPress any key to halt...");
getch();
return 0; }

效果例如以下:

注意:要把.dxf文件和代码放到同一个文件夹下。

dxf參考手冊(中文版):http://download.csdn.net/detail/sanqima/7629929

推断dxf文件的版本号的更多相关文章

  1. Allegro 导入DXF文件,保留布好的线路信息

    最近智能钥匙产品开发过程中,由于结构装配尺寸的偏差,需要对电路PCB外框OUTLINE进行缩小调整,并且USB插座定位孔改变. Allegro软件在线性绘制方面是有严重缺陷的,想绘制一个异形的板框比较 ...

  2. DWG2SHP DXF2SHP 如何把AutoCAD的DWG,DXF文件转换为Esri ArcGIS的Shape文件

    dwg是AutoCAD创立的一种图纸保存格式,已经成为二维CAD的标准格式,很多其他CAD为了兼容AutoCAD,也直接使用dwg作为默认工作文件. 地图shape文件由ESRI开发,一个ESRI的s ...

  3. 导入DXF文件

    1.选择菜单“File-Import-DXF”. 2.设置DXF文件参数.DXF file:选择DXF结构文件,单位,要和DXF源文件的单位一致.在DXF file中选择文件后,下方的Layer co ...

  4. Altium Designer 从导入DXF文件,并转换成板框

    大多数人都知道,PADS中导入DXF文件,然后转换成板框,是很方便的.AD也同样可以做到. PADS导入DXF见:http://www.cnblogs.com/craftor/archive/2012 ...

  5. PLT文件 和 DXF文件

    PLT: CAM/CAD类似软件处理的图像文件的文件格式 DXF: AutoCAD(Drawing Interchange Format或者Drawing Exchange Format) 绘图交换文 ...

  6. 一分钟了解Allegro导入DXF文件

    Allegro, pads,PCB线路板设计,小北PCB 很高兴与大家分享一分钟了解Allegro导入DXF文件的方法,请问您们,刚学习这个软件时,您是否遇到过同样的问题呢?应该我们每一个刚学习者都会 ...

  7. PADS Layout VX.2.3 制作PCB封装(Decal)时,导入DXF文件

    操作系统:Windows 10 x64 工具1:PADS Layout VX.2.3 进入PCB封装编辑器(Decal Editor),点击Drafting Toolbar > Import D ...

  8. Allegro PCB Design GXL (legacy) 从dxf文件中导入板框

    Allegro PCB Design GXL (legacy) version 16.6-2015 新建brd文件,并设置好相应的参数之后,点击菜单:File > Import > DXF ...

  9. proe工程图输出dwg/dxf文件设置

    网上看到不少人分享proe转转dxf/dwg配置文件的,但是看了一圈,几乎都没有涉及到转化线型的,所以自己整理自己的配置文件,写在这里分享出来. 以Pro/engineer WF5.0为例: 1.复制 ...

随机推荐

  1. Python中threading的join和setDaemon的区别[带例子]

    python的进程和线程经常用到,之前一直不明白threading的join和setDaemon的区别和用法,今天特地研究了一下.multiprocessing中也有这两个方法,同样适用,这里以thr ...

  2. c++ 整数读入优化

    这个函数!!!! 它真的巨好用!!! 改了两天 换了两个版本的代码 都TLE了 然后尝试着在文件头加了这个替换了cin和scanf 结果意外地发现两个文件都突然能过了??? 太神奇了叭! 强烈安利! ...

  3. 并查集--poj 2492

    Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...

  4. [android 开发篇] 易白教程网址

    http://www.yiibai.com/android/android_bluetooth.html

  5. “玲珑杯”ACM比赛 Round #18

    “玲珑杯”ACM比赛 Round #18 Start Time:2017-07-15 12:00:00 End Time:2017-07-15 15:46:00 A -- 计算几何你瞎暴力 Time ...

  6. POJ 1745 Divisibility

    Divisibility Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9476   Accepted: 3300 Desc ...

  7. 【Luogu】P2762太空飞行计划(最大权闭合图)

    题目链接 woc这题目的输入格式和输出格式真的恶心 首先我们就着样例讲一下闭合图 如图所示,第一层是两个实验节点,带来正收益:第二层是三个仪器节点,带来负收益:问讲道理到终点可以获得多大收益. 闭合图 ...

  8. jQuery事件委托之Safari失效的解决办法--摘抄

    什么是事件委托 事件委托是Jquery中一种事件绑定的方式,不同于常见的事件绑定方式将事件绑定在目标元素上,而是将事件绑定在父级元素上通过事件冒泡来执行绑定函数. //常见的事件绑定(Jquery) ...

  9. Android 网络通信之Socket

    Android 网络通信之Socket 应用软件的网络通信无非就是Socket和HTTP,其中Socket又可以用TCP和UDP,HTTP的话就衍生出很多方式,基础的HTTP GET和POST请求,然 ...

  10. ftrace用法

    ftrace官方文档在kernel/Documentation/trace/ftrace.txt文件中. 使用ftrace接口之前,如果系统没有自动挂载debugfs文件系统,则要先手动挂载. # m ...