打开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. 力扣题目汇总(反转字符串中的单词,EXCEL表列序号,旋置矩阵)

    反转字符串中的单词 III 1.题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode ...

  2. python中 “==”和"is"的区别

    python中 "=="是相等性比较,比较的是两个对象中的值是否相等,而“is”是一致性比较,比较的是两个对象中的内存地址 a = [1, 2, 3] b = a 此时, a == ...

  3. Python编程快速上手--实践项目11.11.1

    from selenium import webdriver from selenium.webdriver.common.keys import Keys import time def messa ...

  4. .NET:权限管理

    题外话: 临近大四,编写各种简历的时候发现,很多电子简历上是可以链上自己在各大论坛上留下的足迹.关于这点,学习网络,拥抱开源,具有互联网思维的博主很后悔,后悔当年只会在网上查资料,不会留资料,空有才能 ...

  5. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛

    02Train Seats Reservation 问答 只看题面 33.87% 1000ms 131072K You are given a list of train stations, say ...

  6. 【Luogu】P1119灾后重建(Floyd)

    题目链接 见题解: feilongz. 这里只放代码. #include<cstdio> #include<cstring> #include<cstdlib> # ...

  7. [无趣]bit reverse

    真不想承认啊,因为年轻而犯下的错误! inline void _BR(int* a,int r){ for(int i=0,j=1;i<r;++i,j<<=1){ for(int k ...

  8. Jackson工具类(各种转换)

    首先要在项目中引入jackson的jar包(在此不做说明) 下面直接上代码 public class JacksonUtils { private final static ObjectMapper ...

  9. K大数查询 BZOJ 3110

    K大数查询 [问题描述] 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位 ...

  10. flask-script插件

    首先在启动Flask项目时,我们可以传不同的参数作为运行参数.但是我们只能在入口app.run()传参.这样十分的不方便.Flask-Script 是一个 Flask 扩展,为 Flask 程序添加了 ...