《第8章产品数据交换技术》-公开课件.pptVIP

《第8章产品数据交换技术》-公开课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 产品数据交换技术 DXF文件格式 AutoCAD是以绘图为主的交互式绘图软件包,它主要是以图形处理为主,科学计算能力有限。 而在工程计算中工程技术人员往往是使用fortran、basic、pascal和c语言等来进行计算。 AutoCAD 优点:绘图能力强。缺点:计算能力弱。 高级语言 优点:计算能力强。缺点:绘图能力弱。 DXF文件的图形数据交换 工程设计的计算部分由高级语言完成; 并形成相关结构数据图形信息; 绘图部分用AutoCAD完成AutoCAD处理。 DXF文件的图形数据交换 通过DXF文件可以把图形转换成数据传送给高级语言程序; 反过来,也能把数据传入AUTOCAD中变换成图形。 即DXF文件是双向交换,既可用AutoCAD系统读入,同时又可以从AutoCAD系统中写出。 DXF文件的图形数据交换 1、DXF文件结构形式 DXF文件是ASCII码文件,一个DXF文件完整结构形式如下,分别由五个段来构成: 标题段(HEADER):这部分用61个变量名,给定有关图形当前设置和参数。各种环境变量定义有关图形的当前变量和参量。 DXF文件的图形数据交换 表段(TABLE):此段有4张表所组成。线型表(LINETYPE)、层表(LAYER)、字体表(STYLE)、视图表(VIEW)。 块段(BLOCK):本段给出图中各块实体的描述。 实体段(ENTITIES):本段给出图中所有实体的描述。 文件终止段(EOF)。标志着DXF文件的终止。 DXF文件的图形数据交换 标题段: 0 SECTION ? 2 HEADER 标题变量 0 ENDSEC 表段: 0 SECTION 2 TABLES DXF文件的图形数据交换 对于每一段来说,都是由若干组构成,每组有两行。其中首行是组码,末行是组值,组码用I3格式书写,组值由组码类型确定。 规则为: 组码为0~9时,组值为字符串,用以标识段、表和实体。 10~59时,组值为实型数,用来描述实体坐标、高度等。 60~79时,组值为整型数,用来描述层数、字体及工作模式设定。 DXF文件的图形数据交换 例如:画直线 0 LINE 画线。 8 图层。 2 第二图层。 10 起点x坐标。 20.0 20 起点y坐标。 20.0 11 终点x坐标。 100.0 21 终点y坐标 100.0 DXF文件的图形数据交换 2、生成图形交换条件的接口软件介绍 从上例看出,对于生成像直线这样简单图形的DXF交换文件,如果我们采用人工逐条编辑生成的方法,就已经很复杂,更不用说复杂的图形,因此,这项工作也应该让计算机去完成。 如何使计算机自动生成图形交换文件呢?这必须由软件工作者进行二次开发的工作。 主要内容是提供给用户一个功能完善的生成DXF文件的子程序库(函数库),库内有若干个子程序(函数) ,每个子程序(函数)都有设定的各自功能。 DXF文件的图形数据交换 例如,有的子程序可以生成DXF文件的标题段,有的生成结束行,有的完成某一图形实体数据文件的生成等,下面我们举例。 例:使用C语言生成DXF文件。 #includestdio.h #includestring.h /*函数声明*/ FILE *fp; char fname[12]; /*建立一个DXF文件*/ void begin() { printf(enter DXF file name:); scanf(%s,fname); strcat(fname,.dxf); fp=fopen(fname,w); fprintf(fp, 0\nSECTION\n 2\nENTITIES\n); } /*画直线的模块*/ void line(float xs,float ys,float xe,float ye) { fprintf(fp, 0\nLINE\n 8\n0\n); fprintf(fp, 10\n%f\n,xs); fprintf(fp, 20\n%f\n,ys); fprintf(fp, 11\n%f\n,xe); fprintf(fp, 21\n%f\n,ye); } /*用圆心半径画圆的程序模块*/ void circle(float xc,float yc,float r) { fprintf(fp, 0\nCIRCLE\n 8\n0\n); fprintf(fp, 10\n%f\n,xc); fprintf(fp, 20\n%f\n,yc); fprintf(fp, 40\n%f\n,r); } /*用圆心半径起始角画圆弧的程序模块*/ void arc(float ax,float ay,float ar,float as,f

文档评论(0)

saodishenseng2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档