资源描述:
《autocad图形文件_dwg_的c语言直接读写》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1卷第期湘潭矿业学院学报ol11oZN1年月习GTMIISTNNXJUlNl]NoCD图形文u件dg的wC语言直接读写王润云曹其国自动化工程系摘要本文从分析CD图形文件dgu的数据w类型和结构入手设计了TUr比c.CD的口。u卫句CD环境,数据文件进行快速读取和生成。本文论述了程序设计的原理及功能,并给出了程序框图。图2,参2。AtU0CAD图形口关键词文件实体接分类号1于391.72第一作者简介王润云女36岁讲师计算机应用n澎r、目尹玄门勺口。,AuotCAD是目前微
2、机上最为流行的绘图软件但从用户角度看otCAD几乎是nA,,一个封闭的系统它只相当于图形编辑工具它形成的图形文件是一个二进制形式存放.,的文件其内容很难阅读。nAotCAD提供的几种应用开发手段一般有交换接口,,。195CRIPTAuotcADLisp编程法法d(xf或)命令文件法s()但这些方法必须在,,.。CAuotCAD环境下才能使用且有速度慢实现繁琐等缺点用高级语言跨越直接与<.dgw>文件进行紧密而快捷通讯,便可摆脱AutoCAD环境,实现图形文件的快捷读取与生成。<.dwg>文
3、件的数据类型和内部结构1数据类型<.dgw>文件中有五种数据类型:(l)字符型,(2)单字节整形数,(3)双字节整型,(4)四字节整型数(5)以IE。数EE标准存放的浮点数.12<.dgw>文件的内部结构一..文件由标题节表节实体节和块实体节四个部分组成而dwg>文件.。、、、的内部结构与有所不同它由索引节标题节实体节表节和块实体节五部。分组成:196一03一10本文:收稿日期责任编辑陈津端湘潭矿业学院学报年月索引节在中,索引节的长度和格式都是固定的。其长度为94字节,地址为,、、
4、u#o~井SD它描述了除标题节之外的其它各节的地址个数长度和AotCAD版本号以及块层、、、,,字型线型视图等的地址及长度为了读取或写入索引节内容采用以:下结构stidnte耐ex扣{cral;恤【20】logn;.,enadtdr/实体节起始地址/loatboddr,申gn/表节起始地址/loblkdgnaddr/,块实体节起始地址*/longblkdas比,./块实体节长度/longifis;**比/文件长度/oaZ:lgnloblkcnt;.gn/块表个数./intbl兀;.。iks/块表长度/long
5、blkar;.dcl/巾块表地址/int]a岁:,.比/层表长度/longlay口t;../层表个数/longlayaddr;./层表地址*/intsi正;娜*字型表长度.//lostyalt;*,gn/字型表个数/Iongstyaddr;..厂字型表地址/int胜笋;巴**/线型表长度/]ongity口t;./线型表个数*/longIt邓dr;/.线型表地址*l/nee.it访鹅连./视图表长度*/lonet,gvi./视图表个数*/~lo丫记认addr申ng/中视/图表地址ind以:.22标题节,。·Au
6、toCAD版本升级时标题节中常要做出反映标题节的长度可用下述方法计算=一标题节长度实体节起始地址索引长度在不修改标题节各项内容的前提下,本文在实例中采用如下格式读取标题节:stur以titleteyPcrc助【翻刀tit{e:.1.23实体节.,。对于一个AutoCAI〕的文件而言其核心部分当属实体节,。对于每一个实体:实体头部长度为8字都可以分成两部分实体头部和实体尾部,。,,o节且格式也是固定的对于实体尾部AutCAD采用了极为紧凑的格式以节省资源在同一,,具有不同的数据存放格式。类型的绘图命令
7、中复杂程度不同的图形t第卷第2期王润云等D图形文件的语言直接读写(l实体头部:实体头部的内容可用以下结构存取tttrn山份dptnn**脉类型编号tn*一改实体长度r*tnl姆层号tttn`b*特征值hdtn夕实体尾部。实体尾部的长度及格式与类型编号及特征值有关要全面分析各种类型在不同特征式的格式需要较长的篇幅。下面仅对几个主要类型及具有代表性的特征值进行讨论。①Ln存取格式(特征值为0tttlnpr.x`oue沙ù`气乙,dlbVX1。`/第一点的坐标/’,0Ue..dbl/第一点的y坐标/OUe1
8、.x.dbl第二点的坐标7do,ible*/第二点的y坐标司line②opint存取格式(特征值为0)strUctPointte冲doublex;/-点x坐标叼的doubley;/*点的y坐标,Polntcc③irle存取格式(特征值为0)stete】eteuricryPoUe.xdbl/圆心的坐标double*/圆心的y坐标``d0Uble圆半径厂d化le④eTxt存取格式(特征值为111)ext