基于AutoCAD的DXF格式文件读写方法研究

更新时间:2023-08-07 12:38:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

DXF格式文件

通信论坛A■喇吼舅 i】翻疆遇弱 if瞰 i曩■ 1r .: .聊I鼗 . Ic 2 )i。嚣靠f I 蠹 雄

基于 Auo A的 D F格式文件 tC D X读写方法研究谭超张群会

(西安科技大学计算机学院陕西西安 7 5 ) 104 0【 ̄]X摘 DF格式文件是传统图形开发中最常用的图形交换格式之一,它逐渐发展成为一种国际通用图形格式。文章阐述

了 D F式文件各段组码的含义,现有的一些 D F X格对 X读写方法进行了简单的分析,出了一种可行的 D F文件读取方法,提 X该方法主要是在读取方法上进行了一些相关的改进,并绘制图形进行测试,以求达到比较好的效果,满足科研的需要和现实生活中的一些应用,后讨论简单图形的保存方法。最【键词】D F段关 X组码读取保存

中图分类号: P 1文献标识码: 文章编号:0 8 1 3 ( 0 9 2— 6 4 T 31 A 1 0— 7 9 20 )1 4—

Re e r h o a nd W rt e ho fDXF r a l s a c n Re d a ie M t d o Fo m tFie Ba e n s d o Aut CAD oTAN a ZHA n h i Ch o NG Qu— u

(c o l f o p t, i nUnv r t o i c& e h oo y Xi n S an i 1 0 4 C i ) S h o o m ue X ie i f c n e T c n lg, h a x 7 0 5, hn C r a sy S e a a

Absr c: Th ta t e DX F f ma fe i ne f t e o t o lr g a i s xc ng f m a i ta i o l rphc d v l m e t t or t i s o o h m s p pu a rph c e ha e or t n r dt na g a is e eop n .I l i

b c m e a n e ai n l rp i sfr tg a u l . ep p re p u d a i g fe c e t n sg o p o e o e o s n itr t a g a h c o ma r d al Th a e x o n sme n n so a h s c o r u c d fDXF f r a l, n n o y i m t e ad o i fa ls s he m s nay e t e dng DX F e d nd w rt eh s tp

ut or r a e sb e e d m eh o X F ie r a a i m t od I e s f wad fail ra t od fD f .Th s a e ee t om e l i p p r prs ns s

as it d i p ov m e si e d m eho socae m r e nt n ra t d,a rwi g g a h c orts n d rt bti te fe ta a s t e ne d o s ac nd d a n r p sf e ti or e o o an a betre c nd st f h e fr er h i i y e a om ea fc to ellf Fi ly t e svng m eho m pe g a isi d suse nd s pp a nsoft ra i i i he e. na h a i t d ofs l i l ph c si c sd. r K e o d DX F,sc on; o pc de r a;sv y w r s: et i r g u o;e d ae

了使其产生的图形数据文件具有更好的兼容性,些图形软件一

1引言目前 DXF格式已经成为一种国际通用图形文件格式。为了满足广大工程人员和科研人员的需求,开发出一种能够读

提了写D F件的能把些图软称 ucD供读 X文功,这形件为A A。的二次开发软件。在设计具有 DXF文件读写功能的二次开发图形软件时需要深入分析 DXF格式交换文件的结构,并要考虑生成 DxF文件的各种 Au。 tcAD版本的差异。文中将在分

取和保存 D xF格式文件的系统。图n er n e I t c ha g~,

析 D xF格式文件的版本演进与不同版本间格式比较的基础t An -

不同版本 ……” ~…… 一…

文件格式

tCAD图形文件中所包含的全部信息的标记数据的一种表示 o方法, Auo是 tCAD图形文件的 AS I CI或二进制文件格式,用可

于 cD其图应程之间入、出交 2DXF格式文件在At A和他形用序输输与换图。形文件。 Auo tCAD很早就开始在中国广泛使用,有大量的

D XF格式的交换文件保存了下来。虑到它使用的普遍性,考为定稿日期: 0 9 0

- 6 2 0 - 92… . . .

D XF是 A tC D DX ( a igIt cag oma或者 uo A F Dr n e hn eF r t w nrDrwig E c a g oma)简称,是 Au o ek公司开发的 a n x h n eF r t的它 td s

《计算机与厨络》2 0年第 2期 09 1

DXF格式文件

通信论坛计算机与网络创新生活豳匿盥描曩西翻_ - 蕊疆 4用于 A tC D与其他软件进行数据交换的 CA数据文件 uo A D格式, Auo是 tCAD程序使用的基于矢量的 AS I式。Au CI格一

首先,计 1 C f ae:,是总的接口类,面包设个 DxRed r它类里含读取各个段的函数,及 1个 Re d以 a DXF函数,函数是 1该

tC D可以提供非常详细的完全可以缩放的图表日 o A。

个接口函数,负责依次接收各个段函数传递过来的信息,它最

A tC D软件支持 A CⅡ文本格式的 DXF文件和二进 uo A S制格式的 DXF文件,要用于与其他 C D系统及用户应用主 A程序间的图形信息交换 .中 AS 文本格式的 DXF文件应其 CI I用较多。DXF文件由多个段 (E TI )成,个段均由多 S C ON组每个组 ( ROU )构成,组在文件中占 2行 .第 1行是组码 G P( GRoUp coDE,一整数; 2行是组值( )为第 GROUP ALUE, V )

后对这些信息进行排序、理之后,断它是否成为 1个完整 整判的文件。 ( HE DE 1 ) A R当读取 1 DXF文件时,先是读取文件的标题段的信个首息,个段中包含的是图形的一般信息,一个参数都包含一这每个组码以及与之对应的组码值,直到把该段的所有信息都包

它的数据类型由组码决定 1 2 1型的 D。典 XF文件由标题段类、

含在内之后 .题段就结束了。标 () L S E 2C ASS C A S S包含的信息适用于应用程序定义的类 .些 L SE段这类的实例出现在数据库的 B OC S E I I S和 O J C L K、 NT T E B E TS段。定类定义在类的层次结构中是永远固定的。有字段都假所是必需的日。该段包含用户自己

定义的类,的具体内容在后类面的各段中。

表段、段、块实体段、象段和调形预览段组成。对 D XF通常是文本文件,以用文本编辑器 ( id ws事可 W no记

本、字板)看、写查编辑其内容。DXF文件是由若干”码””代和 值”成的”据对”成的,里的代码称为组数构这码”go p ( u r

cd ) o e,指定其后的值的类型和用途。每个组码和值都是独占一

行的。DXF文件被分为多个” ( cin,个段以组码… 段”s t )每 e o 0’

和字符串” E TI N”头, SC O开紧接着是组码””表示段名的字 2和符串( HE DE。段的中间可以使用组码和值定义段中的如 A R)元素。段的结尾使用组码…和字符串” NDS 0’ E EC”定义目来。由

() A L S 3T B E 本段介绍的组码都可以在 D XF文件中找到,且可以由并应用程序使用。TABL ES段包含若干个表,个表都包含多个每

于 DX F文件结构简单、读性好,于被其他程序处理,此可易因

条目。图元定义列表中的 A tL S和 Ob c RX应用程序 uo IP d t eA

它已是事实上的工业标准。DXF文件的结构清晰,具体如下:

也使用这些代码。该段共包含 9表,个分别是: V E表一① IW视图表② V ORT表一窗配置表③ L YP P视 T E表一型表④ 线

①标题段 ( A E:有关图形的一般信息都可以 S YL HE D R) T E表一样表⑤ UC字 S表一用户坐标系统表⑥ DI M—D XF文件的这一节找到,一个参数具有 1个变量名和 1每个相关值;类段 ( A S S:括应用程序定义的类的信息,② CL SE )包这些实例将显示在 B OC S E I I S以及 OB E T L K、 NT T E J C S段;

S Y E表一准字体表⑦ A PD表一号表⑧ L Y R表一 T L标 PI符 A E 图层表⑨ B OCK R OR表~号记录表。 L EC D符( ) L KS 4 B OC

③表段 ( A L S:段包含的指定项的定义,包括:形 T B E )该它线表 (T P、层表 (A R)字样表 (T L、图表 L Y E)图 L YE、 S Y

E)视( E )用户坐标系统表 ( VI W、 ucs、 NION表 ( ORT)、 )视 N VP标注字体表 ( MS DI TYL、符号表 E) ( P D) AP I、符号记录表

接下来是块段,每个块定义都包含在图形中构成该块的图元里。个块都是以带有 B OCK标签的 0组码开始。段每 L块中始终出现 3个空间定义,即 * d lS ae * a e p c Mo e p c、 P p r S ae、 * a e S ae。它在内部将模型空间和图纸空间的表示显示 P p r pc0_

( L K RE B OC COR )④块段 ( L KS:段含有块定义 D; B OC )该

为块定义。第 1图纸空间布局的内部名称是 * a e S c 个 P p r pa e._

实体,些实体描述了图形中组成每个块的实体;实体段这⑤

第 2是 * ae_p c0第 3个是 * ae Sae,此类推。个 P prSae, P pr pcl依

( NTT E )该段包含各种实体,及任何块的调用;对 E II S:以⑥象段 ( J CT )适用于非图形对象的组码,象与图元类 OB E S:对

() NT T E 5 E I IS然后是实体段,含几乎所有图形对象的组码。写程序包编

似,唯一不同的是对象没有图形或几何意义;⑦文件结束( ND OF FL )是通常情况下 DXF文件所包含的段,时 E IE就有还会出现 1个 THUM B NAI MAGE段,不是必需的,当 LI它仅将预览图像与 DXF文件一同保存时,该段才存在。

时不要依赖这些 DXF代码表中显示的次序。管这些表显示尽了组码通常出现的次序,这个次序在某些条件下或在 A一但 tCA oD以后的版本中可能会改变。控制图元的代码应该由事,

例(开关 )表驱动,样即使组未按预期的次序显示仍可以或这得到正确的处理。

3DX文件的读取 F该方法首先通过读取各个段中的组码信息,逐步完成各个段的信息读取,终实现读取整个 DxF文件的。最

(OJCS 6 B T ) E最后是对象段,用于非图形对象的组码,象与图元类适对

似,一不同的是对象没有图形或几何意义。除图

元、唯符号表记录以及符号表以外的所有对象都存储在此段。此段通过所有权表示了 1具有对象的拓扑次序的对象同类堆,因此所个,

20 09年第2期《 1计算机与厨络》

DXF格式文件

通信论坛计算机与网络创新生活有者始终出现在它们所拥有的对象之前。 DxF文件读写操作流程如图 1所示。的一艘格式如下:段0

rt r R UE: eu n T’

}然后要对每一个图元设计 1个类,该类包括此图元的读

S ECT1 N 02

取函数和保存函数,及进行测试的绘图函数,们都是该类以它的成员函数。

段名 ( A R、 L S E、 A L s B OC S E I I s HE DE C A S S T B E、 L K、 NT T E、OB ECTS J )

下面是测试各种图元,文以直线为例子,过结果来说本通明该方法的优点以及它的一些独特之处。

函数名称:odC ie Dr r hc C v i L n: a a i ( DC★ DC : wG p s p )O EN DSEC

定义 2个指针: on t,t分别指向起始点和终止点。 CP it l 2, p ppt . m S a t 1X t rPoi .: nt X

pt . 1Y

m St rPo n . a t i tY:_

p 2X= m t. En Poi .: d nt X

p 2 Y= m End i tY: t. Po n ._

绘制直线

p DC一> v T (t) Mo e o p1;

p C一 Ln T (t; D> ie op2 )

4DXF文件的保存 相比 DXF文件的读取来说,件的保存难度较大。务文任

图 1D F文件读写操作的流程图 X下面的代码是读取 DXF格式文件的主函数的代码:BOOL CDx ed rRed f tn  ̄ a e: aDx( r g&s FlNa ): CS i ti r e me

量也大。首先要对各个段所包含的信息进行保存。是一个任这务量很大的工作,录入这些信息的时候一定要仔细认真,在因为任何信息的遗漏都有可能导致 DXF格式的不完整。而用

{C S rng sr ti t; sd: fte m x F l; t: sr a D f i i e

A tC D测试打开时就会存在错误信息 1 uo

A 4 1。在录入各个字段的信息时,应该这样来做。首先用 A— u tC D建立 1空文件,然后保存为 A tCA的 DXF格式 o A个 uo D文件,后用文本文档打开,可以看到 DXF格式的二进制然就格式的组码和组码值。接下来就是把这里所有的信息都写进去【。与前面提到的遥相呼应,个段的信息都应该写在该段引每的类里面的 S AVE函数里,个函数很重要。的时候一定要这写

s: tn ln mes FlNa ) t: r gfe a (r i d ws i r t e me;

DxFl.p n( n et io e Asi(ln me.aa )/ fi o e Co v rUnc d To ci e a ) tO;打 e i f d/开文件

Re d ae xF e;/ a Hed r fi )/读取文件头信息 lRed a e( Wf )/读取层信息 aL y r Dx l;/ e

仔细,不能漏掉任何 1组码,否则可能导致意想不到的结个果。

DxFl. oe; f i c s0 elDxFl.p n( n et io e Asife a e.a )/ fi o e Co v rUnc d To ci lnm ) t; ̄ e ( i d a0/新读取

在完成了这些公共字段的信息之后,接下来的工作就是具体图元的保存。 DXF格式文件包括的基本图元有直线、 射

Red xSye beDxFl)/读取文本风格信息表 a Te ttlTa l( fi;/ e Red ni e( ̄i )/读图元 a E tisDx l;/ t eDxFl. oe) fi c s( el; it Sz n i n e= m c ahcDaas e;/] Ve Grp is t.z (/ ̄1 i)试i tp; ntn y e

线、虚线、、、圆、条曲线等等。在 C fae类里有 1点圆椭样 Dx v r S 个 S v E t i ( X F e函数,的主要功能就是负责调用绘制 a e nie D fi ) ts l它各个图元的函数1。对于 1个具体的图元,绘制以及保存的 6]在

时候需要特别注意它的各个参数,这要和前面的读图元时的函数参数保持一致,且每个参数代表的含义也要一致,需而不

frn; n iei 1 o ( t 0i Sz; i i<++{ny e=

m_ c ahcDaa t) GeT p ( tp VeGrp is t. (一> t y e; ai )

要在这里重新定义新的参数 。DXF格式的文件包含众多种类的图元,在这里主要研究它的读写方法并给与实现,因此不能把所有的图元都列举出来,是列举几个图元能说明问题就可以了。只

}

《计算机与网络》2 0年第2期 09 1

DXF格式文件

通信论坛计算机与网络创新生活4 9各个图元的测试后,所得结果可观,到了预期效果。对于保达存方法本文只是进行了简单的分析,已实现的效果可能还不

v i od CDxS v r:ae fCSr g&s FlNa )/ fae: v Dx ( tn S i ti r e me/DXF保 存函数

{sd: sr a x Fi; t: te m D f l of e

能满足一些高精度行业和科研的需要,因此在保存方法方面还有待于进一步研究和探索。由于本人能力有限和经验的欠缺 .系统可能还存在一些不足之处,后还需要进一步的改该今进和完善。

s: tigfe a ( ri Na ) t: r ln mes Fl me; d ws n i t e Dx l .p n ( n et io e Asi(ln me.aa0;/ ̄f o e Co v r e Unc d To cife a ) t )/ i d

打开文件 S v Hed r fi )/保存头信息 ae a e( Fl;/ Dx e S v L y r xFl)/存层信息 ae a e∞ fi;/保 e S v Ta ls fi )/保存表信息 ae be( Fl;/ Dx e S v E tisUxFl)/存实体信息 ae ni ef fi;保 t e/ s v obet( a e jcs D i )/仔对象信息 l;保 e/ ClsFl( fi )/闭文件 oe i DxFl;/关 e eDx l . sO/文件结束  ̄f doe;/ e参考文献

【 1 1刘传亮 .uo A F文件格式与二次开发图形软件编 A tC D DX程 .机发展,0 49:— 3微 20( 5 5. )2

【范风强 .uo A 0 4实用教程【 .科技大学出版 2 1 A tC D 20 M1电子社 .0 4 20.

『 A tC D. 3 uo A帮助文档【 1 tds.京 . 0 .】 M . oe北 Au k 2 4 0

}

[

孙家广,长责 .算机图形学【 b:华大学出版社, 4 1杨计 M京清这里给出的是主函数的源代码,由于篇幅的原因,个子各19 9 4.

函数的代码就不再一一列出了,需要说明的是主函数中所用到的每 1个子函数都表示 1个完整的段的所有信息。

【 5】梁雪春,德明.uo A二次开发技术指南『 .京:宋 A tC D M1北清华大学出版, 0 . 2 1 0 [1 6张卫峰,端敏 .uo A软件的 DXF口技术卟机械与林 A tC D接

5结束语本文的研究工作是基于一个具体项目而展开的,并且根据项目进展得到该方法并实现了 DXF文件的读写操作。过经

电子,0 41 ) 6 3 . 2 0 (1:— 8 3

[胡胜红.用 V+ 7 J使 c+编程实现 DX F文件数据提取 U.建 1福电脑 .0 6 1) 1 3 2 0 (1:—2 . 2

华硕 RS O一 I 0 E5服务器构建中小企业高效易用平台对于处在信息化平台初创阶段的中小企业而言,在服务器产品的选型方面往往一头零水,普遍存在盲目选择和偏离机身设计,大降低了用户对空间的要求;务器支持四个系大服

列的英特尔至强双核/四核处理器,大支持 8最 GB内存容量,并提供 2组 35英寸硬盘位,可组成 RAI 0 1磁盘阵列, . D/提

企业 I T应用目标的现象。些企业干脆将普通 P作为内部一 C服务器使用,仅缺乏稳定性和安全保障。不也不利于日后扩展和平台升级。相比具备成熟 I架构的企业而言 .小型用户 T中的设备选购似乎更为复杂和多变,更需要认真比较和综合考量。

升存储管理的效率和安全性。此外,华硕 RS 0一 5备了 10 E配B odo B M 52 c— ra c m C 7 1P I E双端口千兆网卡,支持网络负载均衡和端口冗余,确保网络传输的稳定高效。 华硕 RS 0 - 5日常管理层面为用户提供了可视化管 10 E在理软件—— A w M .,帮助管理者方便地了解远端服务器 s 2 0的运行状态和获取运行数据,括温度、包电压、风扇转速等,并通过报警系统使管理员能够及时完成

远程操控,有效处理各类问题和潜在隐患。AS M .“瓜式” W 20以傻的管理方式实现 了对企业信息化平台的有效管理,于 I管理水平普遍低下对 T的中小企业来说尤为适用。

那么,什么样的产品对于需求多元的中小企业来说能够具有广泛适用性?首先,品稳定性的重要性不言而喻,别产特

是在缺少专业技术人员的条件下,稳定运转的平台能够有效降低风险;次,务器应具备易于管理的特性 .日常维护其服将的复杂性降至最低,能有效节省成本开支:并第三 .中小企业服务器对性能的要求不宜过高,应具备良好的扩展能力,但为

曰后升级留足空间;后,外关注成本因素的中小企业用户最格对产品的节能效果也比较看重,“能减排”大趋势下,在节的具备绿色环保价值的服务器将受到更为广泛的认可。基于以上选购特点,华硕针对入门级用户推出的RS 0一 1 0 E5服务器拥有出色的应用价值,能够帮助中小企业

基于华硕绿色科技的 RS 0一 5务器还是一款高效的 10 E服节能型产品,融入华硕独家的 S MART F N .能风扇技— A 20智术和 AI TH R— RouG热空气导流架构,证了系统的充分 H保散热,长产品使用寿命,将噪音控制在 3延并 O分贝以下 .于利打造安静、舒适的办公空间。

应对不断变革的业务需要。华硕 RS 0 - 1 0 E5采用 3 c超短 8m

20 09年第 2期《 1计算机与网络》

本文来源:https://www.bwwdw.com/article/pt9j.html

Top