autocad dxf2014“另存为”一个打开的dxf文件报错,(注意)该文件是手工精简了大部分键值对后的文件。

当前位置: >
& 修复auto cad2014 AUTO CAD2014我卸载了为何还在
修复auto cad2014 AUTO CAD2014我卸载了为何还在
收集整理:/ 时间:
AUTO CAD2014我卸载了为何还在 杀毒软件卸载不干净,要去安装目录手动删除,可能还要进入运行栏,输入命令符找到CAD的注册表,然后清算注册表,可以试试
是甚么系统下,最好使用程序自带的卸载程序
使用360强力卸载
CAD在系统中卸载了还存在有残留文件!在360软件管家里就能够完全卸载
你试1下360强力卸载。Auto cad 2014 卸载后没法重装求救 卸载不干净所导致。系统还存留cad的注册表。你去下载一个windows优化大师,清理注册表。 或者你安装其他的版本。CAD2014目前用的人比较少了,很多公司都还在用08,10版的。或者电脑还原,重装系统是最后的办法。(不建议)
Autocad2014卸载后没法重装,注册表也清算了,在win8上的有搜索AUTOCAD2014也搜索到有关文件了,但也没法安装,。。.求救!!
卸载后重启过电脑么?Auto cad 2014 安装移动位置后不能使用,怎么办?最佳答案1:把你移动的还原到原位置,再卸载掉,找重装。Auto cad安装很罗嗦的,一个系统只能装一个。你现在要想办法把机子上的Auto cad卸掉,否则就没希望了,丐注册表更麻烦。 最佳答案2:AutoCAD不同与其它软件,它是在Net构架上运行的软件,所以安装AutoCAD就必须要安装Net,一般的情况下,AutoCAD里面有这个程序;AutoCAD2014版本需要联网才可以安装;有个比方,电脑系统相当于基础,Net相当于房子,而AutoCAD程序在房子里面运行,现在你把文件移动的很乱,AutoCAD就找不到相应的程序了;现在这个情况的话,重新安装电。
现在都用到2014的了,我还在用2008!建议你用360之类的卸载掉,可以连注册表都删了的。重装的话装到别的盘试试。不行的话直接。怎么将汉化的CAD2014还原为英文版的在 AutoCAD 中同时保存中英文两套菜单系统来回切换是可行的。具体作法是把汉化菜单文件改名为 Pacad.mnu,放在 C盘的AutoCAD 安装目录下的\\SUPPORT 子目录中,(怎么找到那个位置:打开AutoCAD2014,输入命令(menu),仔细看路径)当然还别忘了将 acad.mnl 复制成 Pacad.mnl,放?*** acad.mnu 同一目录中。在用中文菜单时用 menu 命令加载 Pacad换回英文菜单时就再次使用 menu 命令加载 acad 菜单文件。现在的问题是我在AutoCAD2014版本里面找不到英文菜单(en-US文件夹表示英文),这个需要你自己解决。我只知道方法。另外的方法就是打开电脑系统的控制面板(御载或更改程序),御载了AutoCAD2014版。求Auto cad2014 序列号和激活码首先这个必须激活码必须要自己使用注册机,激活才有效。我们给你算的一点用也没有。下载注册机/s/1yxN1s如果不懂激活请看看这里/view/a8a96084cc22bcd126ff0c4b.html满意请采纳,谢谢
擦……哪那么麻烦,我直接给你破解版的,含有注册机!!
系列号到百度文库中找一个就可以了。我的auto cad 2014 以前还是好的,不过今天不知道为什么打。360里面误杀了吧
咳咳,不用重装,你选择360拆卸时,会弹出界面让你选择是否修复的,选择修复即可
把 360卸载了或者可能是你 安装新系统软件有冲突了、。怎样设置AUTO CAD2014 的移动工具为空格键,按下时为。直接按下鼠标滚轮(不要放开),拖动鼠标到你想要的地方放开!OK。打开Auto CAD2014时出现这个我该怎样解决? 不影响使用这是打印戳记,但是打印图纸的时候总会在图纸的边框上出现“Autodesk教育版”。你可以在打开图纸后,选择另存为另存成后缀为.dxf的文件。然后关掉CAD图纸。再打开刚才保存的“.dxf”格式的文件再选择“另存为”这时候候保存为“。dwg”的文件,关闭在打开刚才保存的DWG文件,这时候候就没有打印戳记了
继续,或打开另存为dxf格式,然后打开再保存为dwg格式
点继续就能够的啊。AUTO CAD2014打开文件时出问题,出现这个图片,求解答。软件出错误了,建议修复一下软件即可;WIN键——控制面板——程序——找到CAD——点击卸载/修复进去。。。
就是本机没有hzdx.shx这个字体,仅此而已。为何出现这样的问题? 我下载的是AUTO CAD 2014 序列号无。祝你激活成功Autocad2014注册机(64位和32位)/share/link?shareid=409951&uk=。
修复auto cad2014相关站点推荐:
赞助商链接
修复auto cad2014相关
免责声明: 机电供求信息网部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您想举报或者对本文章有异议,请联系我们的工作人员。3297人阅读
CAD-CAM(16)
摘要:本文简要介绍了一下DXF文件的组成。重点讲述了怎样使用C语言来读取DXF文件中的实体信息。关键字:C、DXF Abstract: The paper present the basic parts of DXF file. And focus on how to use C read the entity’s information from DXF file.Key Words: C, DXF DXF是Drawing eXchange File的缩写,意思为图形交换文件,在工程制图中有广泛的应用,掌握了DXF文件的读写对编写CAD软件时的图形信息的交换有重要意义。它有两种格式:一种是ASCII DXF格式;一种是二进制DXF格式。ASCII DXF文件格式是ASCII 文字格式的AutoCAD图形的完整表示,这种文件格式易于被其它程序处理。二进制格式的DXF文件与ASCII格式的DXF文件包含的信息相同,但格式上二进制格式比ASCII格式更精简,能够节省百分之二十五的文件空间。AutoCAD能够更快地对其执行读写操作(通常能快五倍)。这可能是对ASCII格式的DXF文件操作时有ASCII与二进制形式的转换,因而花费时间较多。本文主要讨论ASCII格式的DXF文件,因为它可读性强。一、ASCII格式的DXF文件的组成先来介绍一下ASCII格式的DXF文件的组成。(小提示:打开AutoCAD,新建一个空的文件,然后再输出为DXF文件,并用记事本打开DXF文件,就可以看到它的所有代码了,这样有助于你更好地理解DXF文件的组成。还有按一下F1,打开AutoCAD的帮助文件,找到DXF参考,它是权威具体的资料。)用记事本打开一个DXF文件,你可以发现它里面有这样一些代码:& 0SECTION& 2HEADER& 9$ACADVER& 1AC1015……即里面总是数字和字符串/数字在交替的出现。数字就叫做代码(通常称为组码),紧跟组码数字的称为关联值对。(以下内容来自DXF参考)DXF文件本质上由代码及关联值对组成。代码(通常称为组码)表明其后的值的类型。使用这些组码和值对,可以将DXF文件组织到由记录组成的区域中,这些记录由组码和数据项目组成。在DXF文件,每个组码和值各占一行。表1为组码值类型表的部分:表1 组码值类型表(部分) 一个完整的ASCII格式的DXF文件结构如下:l&&&&&&&& HEADER段。它包含图形的基本信息。它由AutoCAD数据库版本号和一些系统变量组成。每个参数都包含一个变量名称及其关联的值。l&&&&&&&& CLASSES段。包含应用程序定义的类的信息,这些类的实例出现在数据库的BLOCKS、ENTITIES和OBJECTS段中。类定义在类的层次结构中是固定不变的。l&&&&&&&& TABLES段。包含以下符号表的定义:APPID(应用程序标识表)BLOCK_RECORD(块参照表)DIMSTYLE(标注样式表)LAYER(图层表)LTYPE(线型表)STYLE(文字样式表)UCS(用户坐标系表)VIEW(视图表)VPORT(视口配置表)l&&&&&&&& BLOCKS段。包含构成图形中每个块参照的块定义和图形图元。l&&&&&&&& ENTITIES段。包含图形中的图形对象(图元),其中包括块参照(插入图元)。这里的信息很重要。l&&&&&&&& OBJECTS段。包含图形中的非图形对象。除图元、符号表记录以及符号表以外的所有对象都存储在此段。OBJECTS段中的条目样例是包含多线样式和组的词典。l&&&&&&&& THUMBNAILIMAGE段。包含图形的预览图像数据。此段为可选。每个段都以一个后跟字符串SECTION的组码0开始,其后是组码2和表示该段名称的字符串(例如,HEADER)。每个段都由定义其元素的组码和值组成。每个段都以一个后跟字符串ENDSEC的组码0结束。举两个例子:1.以下是 DXF(TM) 文件 HEADER 段的样例:0&&&&&&&&&&&&&&&&&& HEADER 段的开始SECTION2HEADER& 9&&&&&&&&&&&&&&&&&& 每出现一个标题变量便重复一次 $&变量&&组码&&值& 0&&&&&&&&&&&&&&&&&& HEADER 段的结尾 ENDSEC
2.以下是 DXF 文件 ENTITIES 段的样例:0&&&&&&&&&&&&&&&&&&&&&&&&& ENTITIES 段的开始SECTION2ENTITIES& 0&&&&&&&&&&&&&&&&&&&&&&&&& 每个图元定义有一个条目,如LINE,CIRCLE&图元类型&5&句柄&330&指向所有者的指针&100AcDbEntity8&图层&100AcDb&类名&.. &数据&.& 0&&&&&&&&&&&&&&&&&& ENTITIES 段的结尾ENDSEC 因此你需要什么信息就可以在相应的段中寻找。例如你需要得到DXF文件的版本信息就可在HEADER段中寻找。需要图形的信息就可到ENTITIES段中寻找。再强调一下实体段:实体段记录了除块段出现的实体以外的所有绘图实体内容,包括每个实体的名称、所在图层、线型、颜色代码等等。由于定义一个实体所有组码在某一实体的任意组码在其值与默认值相同时可以省略不写。因此用户在读取DXF文件时应注意:1.& 定义一个实体的数据是以“0”组码开始,而以另一个“0”组码的出现表示结束;2.& 某一实体的定义数据顺序不固定。因此用户在编写DXF文件处理程序时不能按顺序固定的格式处理,而只能按组码的同现来记录数据。二、读取DXF文件流程有了以上知识就可读懂DXF文件并从中提取我们所需要的信息了,而我们所需要的信息大多在ENTITIES段中。先讲一下大概的处理方法。 输入DXF文件名 打开DXF文件 读取一个记录 HEADER TABLES ENTITIES BLOCKS EOF 处理HEADER 处理TABLES 处理ENTITIES 处理BLOCKS 结束 图2 DXF文件处理流程&&& 如图2所示为DXF文件处理流程。可以从DXF文件中检索,当检索到与某个段时就转到那个段的处理程序去处理。如检索到HEADER段就转入HEADER 段的处理程序去处理。图形的大部分信息都在实体ENTITIES段中,因此读取实体段的内容很重要。读取实体段的数据首先要考虑读取数据的存储方式,然后再进行后一步的处理或存入数据文件中。此处用链表结构来存储。各个实体的数据分成两块:公共数据块和特殊数据块。公共数据块存储每个实体都具有特征参数,如所在图层,实体标识,线型名……特殊数据块存储每个实体特有的数据,如实体LINE,它里面有两个端点的坐标值;实体CIRCLE中有圆心坐标值和半径值等。单个实体的数据处理方法:读取一个实体的数据首先根据组码“0”后的实体标识字符串来确定其为哪一种实体,然后再根据这个实体的具体情况来读取数据。下面为用C具体实现的代码。因为是处理ASCII文件,只需要用到C文件处理的两个标准函数:fprintf()和fscanf()。文件中有一个位置指针,指向当前读写位置。如果顺序读写一个文件,每次读写完一个字符后,该指针自动指向下一个字符的位置。 三、读取DXF文件信息的小程序&&&& 先来看一个用C来读取HEADER段中的版本号的小程序。/*-------------------------------------------------- * Header.C *读取DXF文件中HEADER段中DXF文件版本号的小程序。
*&&&&& && 02-05-08 18:55 *----------------------------------------------------*/
#include &stdio.h&#include &stdlib.h&#include &string.h& #define STRLEN 30 int main(int argc, char *argv[]){&&& int&&&&&&&&&&&&&&&&&& /*存储组码*/&&& char codevalue[STRLEN];&&&& /*存储组码对应的值*/&&& FILE *&&&&&&&&&&&&&&&&& /*文件指针*/&&& 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版本!&);&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&& }&&& }&&& &&& fclose(dxf);&&&&&&&&&&&&&&& /*关闭文件*/&&& printf(&\n文件已经关闭.&); &&& printf(&\nPress any key to halt...&);&&& getch();} 上述代码为打开一个DXF文件后就顺序读取只到文件结束,当遇到组码为2且组码对应的组值为字符串“HEADER”时就对HEADER段进行处理。在HEADER段中,若遇到组值“$ACADVER”时,则下一个组码对应的值就为AutoCAD的版本信息。具体版本信息可参考AutoCAD帮助文件DXF参考中的HEADER段-&HEADER段组码部分。 &&&& 若对理解了上述程序后,就可以读取DXF文件中实体ENTITIES部分的有用的数据了。首先要确定实体的数据结构。下面的代码为实体数据结构的定义,你也可以根据需要扩展这些实体的内容。程序的主要思路来自参考文献2。#define STRLEN&&&&&&&&&& 60#define DATASIZE&&&&&& sizeof(EntityData) /*-----每个实体的结构-----*///你可在在此添加其它的实体//为了提高精度,变量可定义为双精度型typedef struct tagLine{&&& float x1,y1,z1;&&& float x2,y2,z2;}LINE; typedef struct tagCircle{&&& float x,y,z;&&&}CIRCLE;/*------------------------*/ typedef union specialData{&&& LINE&&&&& CIRCLE}privateD/*------实体的数据结构-------*/typedef struct commonData{&&& char id[STRLEN];&&&&&&&&&&& /*实体标识字符串*/&&& char layer[STRLEN];&&&&&&&& /*层名字符串*/&&& privateD&&&&&&&&&& /*特有数据块*/&&& struct commonData *&&& /*用于构建链表*/}EntityD&&& 定义完数据结构后,就可以用链表结构来存储实体中有用的信息了。以下程序为读取实体LINE的有关信息的代码。/*------------------------------------------ *Entity.C 读取实体LINE部分内容。
&&&& 02-05-08 19:52 *-------------------------------------------*/ #include &stdio.h&#include &conio.h&#include &stdlib.h&#include &string.h& #define STRLEN&&&&&&&&&& 60#define DATASIZE&&&&&& sizeof(EntityData) /*-----每个实体的结构-----*///你可在在此添加其它的实体typedef struct tagLine{&&& float x1,y1,z1;&&& float x2,y2,z2;}LINE; typedef struct tagCircle{&&& float x,y,z;&&&}CIRCLE;/*------------------------*/ typedef union specialData{&&& LINE&&&&& CIRCLE}privateD typedef struct commonData{&&& char id[STRLEN];&&&&&&&&&&& /*实体标识字符串*/&&& char layer[STRLEN];&&&&&&&& /*层名字符串*/&&& privateD&&&&&&&&&& /*特有数据块*/&&& struct commonData *&&& /*用于构建链表*/}EntityD /*----------函数声明部分-----------*/void print(EntityData *entity);/*---------------------------------*/ int main(int argc,char *argv[]){&&&&&& int&&&&&&&&&&&&&&&&&&&&&& char codevalue[STRLEN];&&&&&& &&&&&& FILE&&&&&& *&&&&&& char filename[STRLEN];&&&&&& char suffix[6] = &.dxf&; &&&&&& EntityData *entity,*entity1,*entity2; &&&&&& printf(&请输入DXF文件名:&);&&&&&& gets(filename);&&&&&& strcat(filename,suffix); &&&&&& dxf = fopen(filename,&r&);&&&&&& if(!dxf) {&&&&&&&&&&&&& printf(&打开文件出错!\n可能不存在此文件.\n&);&&&&&&&&&&&&& printf(&按任意键退出...&);&&&&&&&&&&&&& getch();&&&&&&&&&&&&& exit(0);&&&&&& }&&&&&& else {&&&&&&&&&&&&& printf(&正在读取文件...\n&);&&&&&& } &&&&&& entity = entity2 = (EntityData *)malloc(DATASIZE);&&&&&&&&&&&&& &&&&&& while(!feof(dxf)) {&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&& fscanf(dxf,&%s&,codevalue); &&&&&&&&&&&&& if(code == 2 && strcmp(codevalue,&ENTITIES&)==0) {&&&&&&&&&&&&&&&&&&&& while(strcmp(codevalue,&ENDSEC&)) {&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%s&,codevalue); &&&&&&&&&&&&&&&&&&&&&&&&&&& if(code == 0 && strcmp(codevalue,&LINE&)==0) {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1 = (EntityData *)malloc(DATASIZE); &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& strcpy(entity1-&id,codevalue); &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& while(code) {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& switch(code) {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 8: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%s&,codevalue);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& strcpy(entity1-&layer,codevalue);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 10:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%f&,&value);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1-&data.line.x1 =&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 20:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%f&,&value);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1-&data.line.y1 =&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 30:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%f&,&value);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1-&data.line.z1 =&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 11:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%f&,&value);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1-&data.line.x2 =&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 21:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%f&,&value);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1-&data.line.y2 =&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 31:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%f&,&value);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity1-&data.line.z2 =&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& default: {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%s&,codevalue);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& fscanf(dxf,&%d&,&code);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity2-&next = entity1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& entity2 = entity1;&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&& entity2-&next = NULL;&&&&&&&&&&&&& }&&&&&& } &&&&&& entity = entity-&&&&&&&&&&&& //第一个实体区为空,所以使头指针移向下一个实体&&&&&& print(entity);&&&&&&&&&&&&&&&&&&&&&&& //输出链表 &&& printf(&\nPress any key to halt...&);&&& getch();&&& return 0;} //输出链表void print(EntityData *entity){&&&&&& int i=0;&&&&&& EntityData * &&&&&& pointer = &&&&&& if(pointer != NULL) {&&&&&&&&&&&&& do{&&&&&&&&&&&&&&&&&&&& i++;&&&&&&&&&&&&&&&&&&&& pointer = pointer-&&&&&&&&&&&&&& }while(pointer != NULL);&&&&&& } &&&&&& printf(&\nOutput LinkList:&);&&&&&& printf(&\nDXF文件中总共有%d条直线:\n&,i); &&&&&& i = 1;&&&&&& pointer = &&&&&& if(pointer != NULL) {&&&&&&&&&&&&& do{&&&&&&&&&&&&&&&&&&&& printf(&第%d条直线:\n&,i);&&&&&&&&&&&&&&&&&&&& printf(&X1=%f\tY1=%f\tZ1=%f\n&,pointer-&data.line.x1,&&&&&&&&&&&&&&&&&&&&&&&&&&& pointer-&data.line.y1,pointer-&data.line.z1);&&&&&&&&&&&&&&&&&&&& printf(&X2=%f\tY2=%f\tZ2=%f\n&,pointer-&data.line.x2,&&&&&&&&&&&&&&&&&&&&&&&&&&& pointer-&data.line.y2,pointer-&data.line.z2); &&&&&&&&&&&&&&&&&&&& pointer = pointer-&&&&&&&&&&&&&&&&&&&&& i++;&&&&&&&&&&&&& }while(pointer !=NULL);&&&&&& }} 这个程序可以读取DXF文件中的有关直线的信息。你可以用AutoCAD绘制一些直线并另存为DXF格式,然后运行此程序,输入文件名就可以得到DXF文件中有关直线的条数和每条直线两个端点的坐标信息了。 四、总结&&&& 通过编写读取ASCII的DXF文件的有关信息的程序,对C的文件操作和ASCII的DXF文件有了一定的理解。在得到ASCII的DXF文件中的实体的信息后就可以用TC中的”graphics.h”图形操作函数或用Windows的GDI或 调用OpenGL的API绘制出相应的图形了。OpenGL的API功能强大,且对三维图形有很好的支持,因此在得到DXF文件中的有关信息后可以很方便地用OpenGL来处理得到美观的图形。&&&& 由于本人不是计算机专业的,水平有限,请多指点。
参考文献:1.& AutoCAD 帮助文件——DXF参考;2.& 李建明,陆润明,李学志编著, AutoCAD R12应用与开发教程 学苑出版社 19943.& 谭浩强主编&&&& C程序设计第二版&& 清华大学出版社&&&&& 1999;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8208626次
积分:93909
积分:93909
排名:第8名
原创:1130篇
转载:2963篇
评论:1343条
(4)(10)(2)(3)(13)(13)(4)(9)(62)(16)(8)(23)(9)(37)(73)(34)(31)(120)(128)(183)(23)(69)(75)(1)(171)(33)(148)(168)(145)(27)(144)(139)(208)(61)(59)(10)(10)(32)(2)(7)(34)(24)(9)(39)(25)(32)(46)(20)(44)(8)(21)(43)(49)(100)(113)(136)(35)(55)(15)(29)(41)(15)(50)(17)(20)(182)(206)(43)(27)(19)(17)(13)(1)(40)(5)(3)(4)(21)(71)(73)(19)(2)(2)(1)(1)(1)(6)(3)cad保存的时候为啥不能另存_AutoCAD_土巴兔装修问答
cad保存的时候为啥不能另存
报价结果查看方式:
微信人工报价
报价结果将发送到您的手机
深圳装修顾问-馨馨
4年行业经验,24h可咨询
10秒闪电通过好友
您的装修预算约
*装修管家将回电您,免费提供装修咨询服务
*因材料品牌及工程量不同,具体报价以量房实测为准
深圳装修顾问 -馨馨
(四年装修行业经验)
微信扫一扫
cad保存的时候为啥不能另存
提问者:北京绿缘居装饰设计有限公司|
浏览:9268|
时间: 13:21:01
回答数:9461|被采纳数:717
杭州康泽建筑装饰工程有限公司
所有回答:&9461
输入系统变量&FILEDIA&空格或回车,然后输入&1&空格或回车.再试试看行不行.
9条其他回答
回答数:15584|被采纳数:262
上海渊匠建筑工程有限公司
所有回答:&15584
打开控制面板,然后在搜索栏输入“查看本地服务”,蹦出来一个服务的窗口,然后找到一个叫Server的进程,双击,启动它(启动类型改成自动)就可以了。
回答数:1462|被采纳数:77
南京文嘉装饰工程有限公司
所有回答:&1462
你把那些要保存的,框起来,按W,就是指定模块保存,希望能对你有帮助。
回答数:7132|被采纳数:296
深圳市华艺美装饰设计工程有限公司
所有回答:&7132
输入FILEDIA空格再输1空格&是指系统变量! &&FILEDIA &&控制与读写文件命令一起使用的对话框的显示。例如,如果 &&FILEDIA &&设置为 &&1, &&SAVEAS &&命令(另存为命令)将显示“图形另存为”对话框。如果 &&FILEDIA &&设置为 &&0,SAVEAS(另存为命令) &&将显示命令行提
回答数:26318|被采纳数:2066
深圳市欧迪派装饰设计工程有限公司
所有回答:&26318
FILEDIA &&控制与读写文件命令一起使用的对话框的显示。 &&例如,如果 &&FILEDIA &&设置为 &&1,SAVEAS &&命令将显示“图形另存为”对话框。 &&如果 &&FILEDIA &&设置为 &&0,SAVEAS &&将显示命令行提示。 &&此文档中的操作步骤假定 &&FILEDIA &&设置为 &&1。 &&即使在 &&FILEDIA &&设置为 &&0 &&时, &&用户也可以通过在第一个提示下输入波浪号 &&(~) &&来显示文件对话框。
回答数:33890|被采纳数:3064
深圳市中深鸿装饰工程有限公司
所有回答:&33890
有一次我为了去除教育章,将*.dwg格式文件保存为*.dxf格式得文件,但后来不管打开什么格式的图都会以 &&另存为的格式弹出,而且弹出的格式也是以*.dxf保存。所以我想请教高手帮忙解答下,如何在保存时不用弹出另存为窗口!
回答数:538|被采纳数:32
深圳市深文装饰设计有限公司
所有回答:&538
可以另存呀,选中你要另存的图,按“W”键,然后按一下空格键就会出现另存为的文件筐,然后你在选择存到桌面就好!
回答数:317|被采纳数:1
沈阳铭廊装饰工程有限公司
所有回答:&317
可以另存的
回答数:80|被采纳数:0
东莞市尚匠装饰工程有限公司
所有回答:&80
你要是想另保存,可以按Ctrl+Shift+S另存为,就会有提示框,再输入你想保存的名字就可以了。
回答数:2420|被采纳数:4
昆明宏珏装饰工程设计有限公司
所有回答:&2420
你的是那个版本的,我的是10版的。点另存不管用就点另存为,这个管用,我就是点的另存为,一样的。至于新建不管用我就不知道了,如果是不新建就没地方画图的话,你可以打开一个以前画的,没用的图,然后把原来的图删掉在上面重新画就好了。我只知道这么多了,实在不行你问问别人吧
已有 3 个回答
已有 3 个回答
已有 3 个回答
已有 5 个回答
已有 3 个回答
位业主已在问吧找到答案
一万套装修案例
下载土巴兔APP
中国装修网

我要回帖

更多关于 autocad打开dxf 的文章

 

随机推荐