[发明专利]一种基于DXF文件的笔式绘图机绘图路径优化方法无效

专利信息
申请号: 201110310323.7 申请日: 2011-10-13
公开(公告)号: CN102331746A 公开(公告)日: 2012-01-25
发明(设计)人: 常智勇;孙惠斌;牛青;万能;莫蓉;王展;赵杰 申请(专利权)人: 西北工业大学
主分类号: G05B19/19 分类号: G05B19/19
代理公司: 西北工业大学专利中心 61204 代理人: 顾潮琪
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 dxf 文件 绘图机 绘图 路径 优化 方法
【权利要求书】:

1.一种基于DXF文件的笔式绘图机绘图路径优化方法,其特征在于包括下述步骤:

一、将复合图形转变为由基本图元组成的简单图形,将全部的图形信息存放于DXF文件中的ENTITLES数据段中,所述的基本图元包括直线、圆、圆弧、椭圆、椭圆弧、自由曲线和文本;

二、DXF文件的解析,具体包括以下步骤:

1)提取直线的起点坐标(Xs,Ys)和终点坐标(Xe,Ye),不同直线之间的信息通过指针依次连接,构成直线类的信息存储链表Cline;

2)提取圆的圆心坐标(Xc,Yc)和半径R,不同圆之间的信息通过指针依次连接,构成圆类的信息存储链表CCircle;

3)提取圆弧的圆心坐标(XAc,YAc)、半径RA、起始角Φs和终止角Φe,不同圆弧之间的信息通过指针依次连接,构成圆弧类的信息存储链表CArc;

4)提取椭圆的中心坐标(Xec,Yec)、长半轴Rx和短半轴Ry,不同椭圆之间的信息通过指针依次连接,构成椭圆类的信息存储链表CEllipse;

5)提取椭圆弧的中心坐标(XAec,YAec)、长半轴RAx、短半轴RAv、起始角度ΦAs和终止角度ΦAe,不同椭圆弧之间的信息通过指针依次连接,构成椭圆弧类的信息存储链表CEllArc;

6)提取自由曲线各控制点的坐标信息,不同自由曲线之间的信息通过指针依次连接,构成自由曲线类的信息存储链表CSPline;

7)提取文本的左上角坐标信息(Xtl,Ytl)及其样式信息style,不同文本之间的信息通过指针依次连接,构成文本类的信息存储链表CText;

三、对图元进行重复性检查,按以下步骤进行:

1)遍历存储圆的数据链表CCircle,将圆Cic的中心坐标(Xicc,Yicc)和半径Ric与其后的圆Cjc的中心坐标(Xjcc,Yjcc)和半径Rjc分别进行比较,若Xicc=Xjcc,Yicc=Yjcc,Ric=Rjc,则表示Cic与Cjc完全重合,此时删除Cjc;ic=1,2,...,n,jc=ic+1,...,n;

2)圆弧的重复性检查,检查与处理方法如下:

(1)圆弧与圆弧的重复性检查

遍历存储圆弧的数据链表CArc,将圆弧AiA的信息与AjA的信息分别进行比较,iA=1,2,...,m,jA=iA+1,...,m,按比较结果的不同,分如下3种情况进行处理:

①若圆弧AiA完全覆盖AjA,此时需将圆弧AjA删除;

②若圆弧AjA完全覆盖AiA,此时需将圆弧AiA删除,并将圆弧AjA移至圆弧AiA所在的位置;

③若圆弧AiA与AjA部分重合,此时需将圆弧AiA与AjA合并,并将合并之后得到的新圆弧存储于AiA对应的位置,同时需将圆弧AjA删除;

当AjA指向圆弧类链表CArc的最后一个节点时,转入步骤(2),对圆弧AiA与圆的重复性进行检查;

(2)圆弧与圆的重复性检查

①遍历存储圆的数据链表CCircle,将圆弧AiA与圆Ckc分别进行比较,kc=1,2,...,n,若圆弧AiA的中心坐标(XiAAc,YiAAc)与圆Ckc的中心坐标(Xkc,Ykc)相等,且圆弧AiA的半径RiAA圆Ckc的半径Rkc相等,则表示圆Ckc完全覆盖圆弧AiA,此时需将圆弧AiA删除;

②当AiA指向圆弧类链表CArc的最后一个节点时,表示圆弧的重复性检查执行完毕,此时进入步骤3);

3)直线的重复性检查遍历直线的存储链表CLine,将第il条直线Lil与其余直线段Ljl进行比较,il=1,2,...,p,jl=il+1,...,p,判断其重合情况,按以下3种情况进行处理:

①若直线Lil完全覆盖Ljl,此时需将直线Ljl删除;

②若直线Ljl完全覆盖Lil,此时需将直线Lil删除,并将直线Ljl移至直线Lil所在的位置;

③若直线Lil与Ljl部分重合,此时需将直线Lil与Ljl合并,并将合并之后得到的新直线存储于Lil对应的位置,同时需将直线Ljl删除;

当Lil指向直线类链表CLine的最后一个节点时,表示直线的重复性检查执行完毕;

四、以最小行程优化算法对图元排序

设经过重复性检查之后,图元的总数目为N,绘图笔的初始位置为L,则最小行程优化算法的求解过程如下:

1)建立基本图元的存储链表GraphicsList;

2)遍历所有图元Ti,i=1,…,N,按照Ti的类型不同,按如下3种情况计算绘图笔由其所在位置移动至图元Ti的行程:

①若图元Ti为直线、圆弧、椭圆弧和自由曲线,分别计算绘图笔初始位置L与图元Ti的起点Pis的距离|LPis|和终点Pie的距离|LPie|,取其最小值作为绘图笔移动至图元Ti的行程,即di=min(|LPis|,|LPie|);

②若图元Ti为圆或椭圆,其中心点为Ci,则需计算绘图笔的初始位置L到中心点位Ci的直线LCi与图元Ti的交点Si,绘图笔由起始位置L移动至图元Ti的行程即为L与点Si之间的距离|LSi|,即di=|LSi|;

③若图元Ti为文本信息,其插入点为Ii,则绘图笔由起始位置L与移动至图元Ti的行程即为L与点Ii之间的距离|LIi|,即di=|LIi|;

3)取d=min(d1,d2,…,dN),与最小行程d对应的图元Tj即为所求使绘图笔的行程达到最小的图元;记录图元Tj的类型,并将图元Tj移动至第1)步建立的基本图元存储链表GraphicsList的末端;

4)按照步骤3)所确定的图元Tj的类型不同,按如下3种情况重新确定绘图笔的位置:

①若图元Tj为直线、圆弧、椭圆弧和自由曲线,当d为绘图笔位置与图元Tj的终点Pje之间的距离,即d=|LPje|时,需要交换Tj的起点Pjs和终点Pje,并将Tj经交换后的终点作为绘图笔新的起始位置;

②若图元Tj为以Cj为中心的圆或椭圆,则将直线LCj与图元Tj的交点Sj作为新的起始位置;

③若图元Tj为文本信息,则将Tj的右下角点作为新的起始位置。

若链表CLine、CCirleList、CArc、CEllipse、CEllArc、CSPline和CText全部为空,则转入步骤5),否则转入步骤2);

5)将DXF文件的ENTITIES数据段清空,并将基本图元链表GraphicsList中的存储的图元信息依次写入DXF文件的ENTITIES数据段中。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110310323.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top