二维图形文件解析绘制系统及方法

文档序号:6435965阅读:254来源:国知局
专利名称:二维图形文件解析绘制系统及方法
技术领域
本发明涉及一种图形文件处理系统及方法,特别是关于一种二维图形文件解析绘制系统及方法。
背景技术
目前,在独立设计的CAD系统中,没有可直接汇入DXF格式的二维量测图形文件的功能,不能对DXF格式的二维量测图形文件进行解析并读取图形元素,例如点、线、圆等。虽然市面上已经存在DXF格式测图形文件的二维转换系统,但是该二维转换系统不能在自主研发的CAD系统中打开、汇入或者使用DXF格式的二维量测图形文件,其必需借助其它软件进行对象模型转换为可用类型才能使用,从而导致成本增加,且不能对DXF 二维图形文件进行优化处理。

发明内容
鉴于以上内容,有必要提供一种二维图形文件解析绘制系统及方法,其能够对DXF二维量测图形文件进行解析,快速提取图形元素进行优化预处理,并绘制出具有图形轮廓法向的二维量测图形。所述的二维图形文件解析绘制系统运行于计算机中,该计算机包括存储设备以及显示设备。该系统包括图形文件解析模块,用于从存储设备中读取二维图形文件并将其文件内容以行形式存储在文件数组中,创建一个二维对象数组并在该二维对象数组中设置二维图形对象对应的组码属性,逐行读取并解析文件数组中的文件内容,以及将该文件数组中所有二维图形对象的图像元素加入到二维对象数组中;二维图形解析模块,用于从二维对象数组中读取二维图形对象的组码,从文件数组中解析出该组码相关的组码值,从二维对象数组中解析出每一个二维图形对象,并记录每一个二维图形对象的节点坐标;法向量计算模块,用于利用二维图形对象的组码值和节点坐标计算每一个二维图形对象对应的图形轮廓法向量;二维图形绘制模块,用于将每一个二维图形对象及其对应的图形轮廓法向量存储到二维图形数组中,以及将二维图形数组中的每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备上。所述的二维图形文件解析绘制方法,应用于计算机中,该计算机包括存储设备以及显示设备。该方法包括步骤从存储设备中读取二维图形文件,并将其文件内容以行形式存储在文件数组中;创建一个二维对象数组并在该二维对象数组中设置二维图形对象对应的组码属性;逐行读取并解析文件数组中的文件内容,并将该文件数组中所有二维图形对象的图像元素加入到二维对象数组中;从二维对象数组中读取二维图形对象的组码,并从文件数组中解析出该组码相关的组码值;从二维对象数组中解析出每一个二维图形对象,并记录每一个二维图形对象的节点坐标;利用二维图形对象的组码值和节点坐标计算每一个二维图形对象对应的图形轮廓法向量;将每一个二维图形对象及其对应的图形轮廓法向量存储到二维图形数组中;将二维图形数组中的每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备上。相较于现有技术,本发明所述的二维图形文件解析绘制系统及方法能够对DXF 二维量测图形文件进行解析,快速提取图形元素进行优化预处理,并绘制出具有图形轮廓法向的二维量测图形。


图1是本发明二维图形文件解析绘制系统较佳实施例的架构图。图2是本发明二维图形文件解析绘制方法较佳实施例的流程图。图3是一种的DXF 二维图形文件的示意图。图4是一种DXF 二维图形文件的文件内容以行形式存储在文件数组Tl中的示意图。图5是一种计算每一个二维图形对象对应的图形轮廓法向量的示意图。图6是一种DXF 二维图形文件解析绘制成二维量测图形模型的示意图。主要元件符号说明计算机I二维图形文件解析绘制系统 10图形文件解析模块101
二维图形解析模块102法向量计算模块103二维图形绘制模块104存储设备11处理器12显示设备13如下具体实施方式
将结合上述附图进一步说明本发明。
具体实施例方式如图1所示,是本发明资料二维图形文件解析绘制系统10较佳实施例的架构图。在本实施例中,所述的二维图形文件解析绘制系统10安装并运行于计算机I中,该计算机I可以为一种具有图形资料处理能力的桌上型计算机或者服务器等。所述的计算机I还包括存储设备11、处理器12以及显示设备13。所述的存储设备11是一种硬盘、Flash内存、或者为一种外部存储介质,其用于存储DXF (Drawing Exchange Format,图形交换格式)二维图形文件。在本实施中,所述的DXF 二维图形文件是一种DXF格式的二维量测图形文件,DXF文件格式是Autodesk公司开发的用于AutoCAD与其它软件之间进行数据交换的CAD数据文件格式,该文件格式现已被广泛使用,并成为图形文件的标准文件格式。在本实施例中,所述的二维图形文件解析绘制系统10包括图形文件解析模块101、二维图形解析模块102、法向量计算模块103以及二维图形绘制模块104。本发明所称的模块是指一种能够被计算机I的处理器12所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储设备11中。所述的图形文件解析模块101用于从存储设备11中读取DXF 二维图形文件,并将其文件内容以行形式存储在文件数组Tl中。图3所示的是一种存储在存储设备11中的DXF 二维量测图形文件,其文件内容包括由多个组码(Group code)及其相关值组成的图形元素。所述DXF是一种DXF文件标准的命名规范,其将相关值的类型定义为整数、浮点数或字符串,用于指定其相关值的类型和用途,每个组码和值以单独一行的形式存在。所述的图形文件解析模块101还用于创建二维对象数组T2,并在该二维对象数组T2中设置获得二维图形对象对应的组码属性。参考图4所示,以文件数组Tl中的圆弧ARC为二维图形对象为例,该圆弧ARC的图形元素包括圆心组码、半径组码、起始角组码以及终止角组码。其中,组码10、组码20以及组码30代表圆心在坐标XYZ坐标轴上的圆心组码;组码40代表圆弧半径组;组码50代表圆弧的起始角组码;以及组码51代表圆弧的终止角组码。所述的图形文件解析模块101还用于逐行读取并解析文件数组Tl中的文件内容,并将该文件数组Tl中所有二维图形对象的图像元素加入到二维对象数组T2中。在本实施例中,所述的图形文件解析模块101逐行读取并解析文件数组Tl中所有的二维图形对象,并将每一个二维图形对象的点、线、圆、圆弧、穿孔、曲线等图形元素加入到对象数组T2中。所述的二维图形解析模块102用于从二维对象数组T2中读取二维图形对象的组码,从文件数组Tl中解析出该组码相关的组码值。参考图4所示,以圆弧ARC为二维图形对象为例,组码10代表圆心在X轴坐标为598. 8754272460937、组码20代表圆心在Y轴坐标为332. 4823303222656、以及组码30代表圆心在Z轴坐标为O。组码40代表圆弧ARC半径为7. 089296698211824 ;组码50代表圆弧起始角为164. 183827721578 ;组码51代表圆弧终止角为 179. 8461754884693。所述的二维图形解析模块102还用从文件数组Tl中解析出二维对象数组T2中所包含的每一个二维图形对象,并记录每一个二维图形对象的节点坐标。所述的二维图形对象包括图形名称、坐标位置以及图形参数,例如圆心、半径、起始角以及终止角等。参考图5所示,所述二维图形解析模块102记录每一个二维图形对象的节点坐标,例如节点PTl节点坐标为(-7. 3804,15. 8862,O)、PT2节点坐标为(5. 8487,24. 3921,O)、以及ΡΤ3节点坐标为(19. 0780,16. 0170,0)等。所述的法向量计算模块103用于利用二维图形对象的组码值以及节点坐标计算每一个二维图形对象对应的图形轮廓法向量。在本实施例中,该法向量计算模块103通过二维向量差乘法来计算每一个二维图形对象对应的图形轮廓法向量Vf。参考图5所示,法向量计算模块 103 利用如下第一算法(I) D2 = (ΡΤ2. χ-ΡΤ1. x)2+(PT2. y-PTl. y)2,V2. x=(PT2. x-PTl. x) /D, V2. y = (PT2. y-PTl. y) /D ;V2. z = (PT2. z-PTl. z)/D 求得二维图形对象的显示法向量V2,并利用如下第二算法Vf. X = V1. yXV2. z_V2. yXVl. z, Vf. y =V1. zXV2. x-V2. zXVl. x, Vf. z = V1. xXV2. y-V2. xXVl. y 计算二维图形对象对应的图形轮廓法向量Vf。其中,X、y、z表示坐标XYZ方向上的法向量。所述的二维图形绘制模块104用于将每一个二维图形对象及其对应的图形轮廓法向量存储到二维图形数组T3中,以及将二维图形数组T3中的每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备13上。图6是一种DXF 二维图形文件解析绘制成二维量测图形模型,其包括二维图形及其对应的图形轮廓法向量Vf。如图2所示,是本发明二维图形文件解析绘制方法较佳实施例的流程图。在本实施例中,本发明所述的方法能够对DXF 二维量测图形文件进行解析,快速提取图形元素进行优化预处理,并绘制出具有图形轮廓法向的二维量测图形。步骤S21,图形文件解析模块101从存储设备11中读取DXF 二维图形文件,并将其文件内容以行形式存储在文件数组Tl中。图3是一种存储在存储设备11中的DXF 二维图形文件,其文件内容包括由多个组码(Group code)和值组成的图形元素。步骤S22,图形文件解析模块101创建二维对象数组T2,并在该二维对象数组T2中设置二维图形对象对应的组码属性。参考图4所示,以文件数组Tl中的圆弧ARC为二维图形对象为例,该圆弧ARC对象的图形元素包括圆心组码、半径组码、起始角组码以及终止角组码。其中,组码10、组码20以及组码30代表圆心在坐标XYZ坐标轴上的圆心组码;组码40代表圆弧半径组;组码50代表圆弧的起始角组码;组码51代表圆弧的终止角组码。步骤S23,图形文件解析模块101逐行读取并解析文件数组Tl中的文件内容,并将该文件数组Tl中所有二维图形对象的图像元素加入到二维对象数组T2中。在本实施例中,所述的图形文件解析模块101逐行读取并解析文件数组Tl中所有的二维图形对象,并将每一个二维图形对象的点、线、圆、圆弧、穿孔、曲线等图形元素加入到对象数组T2中。步骤S24,二维图形解析模块102从二维对象数组T2中读取二维图形对象的组码,从文件数组Tl中解析出该组码相关的组码值。参考图4所示,以圆弧ARC为二维图形对象为例,组码10代表圆心在X轴坐标为598. 8754272460937、组码20代表圆心在Y轴坐标为332. 4823303222656、以及组码30代表圆心在Z轴坐标为O。组码40代表圆弧ARC半径为
7.089296698211824 ;组码50代表圆弧起始角为164. 183827721578 ;组码51代表圆弧终止角为 179. 8461754884693。步骤S25,二维 图形解析模块102解析出二维对象数组T2中所包含的每一个二维图形对象,并记录每一个二维图形对象的节点坐标。所述的二维图形对象包括图形名称、坐标位置以及图形参数,例如圆心、半径、起始角以及终止角等。参考图5所示,所述二维图形解析模块102记录每一个二维图形对象的节点坐标,例如节点PTl节点坐标为(-7. 3804,
15.8862,O)、PT2 节点坐标为(5. 8487,24. 3921,O)、以及 PT3 节点坐标为(19.0780,
16.0170,0)等。步骤S26,法向量计算模块103利用二维图形对象的组码值以及节点坐标计算每一个二维图形对象对应的图形轮廓法向量。在本实施例中,法向量计算模块103通过二维向量差乘法来计算每一个二维图形对象对应的图形轮廓法向量Vf。参考图5所示,法向量计算模块 103 利用如下第一算法(I) D2 = (PT2. χ-ΡΤ1. x)2+(PT2. y-PTl. y)2,V2. x = (PT2.x-PTl. x) /D, V2. y = (PT2. y-PTl. y) /D ;V2. z = (PT2. z-PTl. z)/D 求得二维对象显示法向量 V2,并利用如下第二算法Vf. X = V1. yXV2. z-V2. yXVl. z, Vf. y = V1. zXV2. x-V2.zXVl.x, Vf. z = Vl.xXV2. y_V2. xXV1. y计算二维图形对象对应的图形轮廓法向量Vf。其中,X、y、z表示坐标XYZ方向上的法向量。步骤S27,二维图形绘制模块104将每一个二维图形对象及其对应的图形轮廓法向量存储到二维图形数组T3中。步骤S28,二维图形绘制模块104将二维图形数组T3中的每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备13上。参考图6所示,是一种DXF 二维图形文件解析绘制成二维量测图形模型,其包括二维图形及其对应的图形轮廓法向量Vf。在本实施例中,该二维量测图形模型由CAD系统自动绘制而成,该CAD系统支持多版本格式,例如CADR12、CAD 2000、CADRl等。以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。
权利要求
1.一种二维图形文件解析绘制系统,该系统运行于计算机中,该计算机包括存储设备以及显示设备,其特征在于,所述的系统包括 图形文件解析模块,用于从存储设备中读取二维图形文件并将其文件内容以行形式存储在文件数组中,创建一个二维对象数组并在该二维对象数组中设置二维图形对象对应的组码属性,逐行读取并解析文件数组中的文件内容,以及将文件数组中所有二维图形对象的图像元素加入到二维对象数组中; 二维图形解析模块,用于从二维对象数组中读取二维图形对象的组码,从文件数组中解析出该组码相关的组码值,从二维对象数组中解析出每一个二维图形对象,并记录每一个二维图形对象的节点坐标; 法向量计算模块,用于利用二维图形对象的组码值和节点坐标计算每一个二维图形对象对应的图形轮廓法向量;以及 二维图形绘制模块,用于将每一个二维图形对象及其对应的图形轮廓法向量存储到二维图形数组中,以及将二维图形数组中的每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备上。
2.如权利要求1所述的二维图形文件解析绘制系统,其特征在于,所述的二维图形文件是一种DXF格式的二维量测图形文件,其文件内容包括由多个组码及其相关值组成的图形元素。
3.如权利要求1所述的二维图形文件解析绘制系统,其特征在于,所述的二维图形对象包括图形名称、坐标位置以及图形参数,该图形参数包括圆心、半径、起始角以及终止角。
4.如权利要求1所述的二维图形文件解析绘制系统,其特征在于,所述的法向量计算模块通过二维向量差乘法来计算每一个二维图形对象对应的图形轮廓法向量。
5.一种二维图形文件解析绘制方法,应用于计算机中,该计算机包括存储设备以及显示设备,其特征在于,该方法包括步骤 从存储设备中读取二维图形文件,并将其文件内容以行形式存储在文件数组中;创建一个二维对象数组并在该二维对象数组中设置二维图形对象对应的组码属性;逐行读取并解析文件数组中的文件内容,并将该文件数组中所有二维图形对象的图像元素加入到二维对象数组中; 从二维对象数组中读取二维图形对象的组码,并从文件数组中解析出该组码相关的组码值; 从二维对象数组中解析出每一个二维图形对象,并记录每一个二维图形对象的节点坐标; 利用二维图形对象的组码值和节点坐标计算每一个二维图形对象对应的图形轮廓法向量; 将每一个二维图形对象及其对应的图形轮廓法向量存储到二维图形数组中;以及将二维图形数组中的每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备上。
6.如权利要求5所述的二维图形文件解析绘制方法,其特征在于,所述的二维图形文件是一种DXF格式的二维量测图形文件,其文件内容包括由多个组码及其相关值组成的图形元素。
7.如权利要求5所述的二维图形文件解析绘制方法,其特征在于,所述的二维图形对象包括图形名称、坐标位置以及图形参数,该图形参数包括圆心、半径、起始角以及终止角。
8.如权利要求5所述的二维图形文件解析绘制方法,其特征在于,所述的二维图形对象对应的图形轮廓法向量是通过二维向量差乘法来计算得到。
全文摘要
一种二维图形文件解析绘制系统及方法,应用于计算机中,该计算机包括存储设备以及显示设备。该方法包括步骤从存储设备中读取二维图形文件,并将其文件内容以行形式存储在文件数组中;创建二维对象数组,并将该文件数组中所有二维图形对象的图像元素加入到二维对象数组中;从文件数组中解析出二维图形对象组码相关的组码值;从二维对象数组中解析出每一个二维图形对象;计算每一个二维图形对象对应的图形轮廓法向量;将每一个二维图形对象及其对应的图形轮廓法向量显示到显示设备上。实施本发明,能够对DXF二维量测图形文件进行解析,快速提取图形元素进行优化预处理,并绘制出具有图形轮廓法向的二维量测图形。
文档编号G06T11/00GK103065337SQ201110320350
公开日2013年4月24日 申请日期2011年10月19日 优先权日2011年10月19日
发明者张旨光, 吴新元, 刘义 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1