收藏 分享(赏)

雕刻机数控代码自动生成的研究.pdf

上传人:精品资料 文档编号:11136144 上传时间:2020-02-09 格式:PDF 页数:90 大小:1.88MB
下载 相关 举报
雕刻机数控代码自动生成的研究.pdf_第1页
第1页 / 共90页
雕刻机数控代码自动生成的研究.pdf_第2页
第2页 / 共90页
雕刻机数控代码自动生成的研究.pdf_第3页
第3页 / 共90页
雕刻机数控代码自动生成的研究.pdf_第4页
第4页 / 共90页
雕刻机数控代码自动生成的研究.pdf_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、河海大学硕士学位论文雕刻机数控代码自动生成的研究姓名:江小勇申请学位级别:硕士专业:机械电子工程指导教师:纪爱敏20070401摘要数控代码自动生成有助于提高数控编程的效率,降低编程难度,解决设计、生产过程自动化问题。本文对AutoCAD中二维图形和矢量汉字的雕刻机数控代码自动生成进行了研究。首先,对AutoCAD的DXF文件进行了研究,通过编程提取DXF文件中的图形实体数据,实现了G代码的自动生成。在图形实体数据的处理过程中,将圆(弧)与椭圆(弧)用直线进行了拟合,且建立数据链表,将处理后的数据存入链表。为方便G代码的输出,减少加工过程中的起落刀次数,在数据存入时采用了链表插入排序算法。然后

2、,依据RT-4500雕刻机的数控加工代码将链表中的数据以G代码文本输出。为了验证生成的G代码的正确性,在Visual C抖60中进行了数控加工程序的轨迹仿真,直观地显示了雕刻后的图形轨迹。其次,本课题研究了汉字中形文件(slap)结构及其矢量汉字编码,通过编程提取矢量汉字的笔划数据,将获得的笔划数据整理并以G代码的格式输出。最后进行实例运行,将图形和汉字自动生成的G代码导入到RT-4500数控雕刻系统中进行雕刻,雕刻结果达到了预期效果。关键词:DXF文件,G代码,形文件,数控自动编程,计算机雕刻AbstractNC code generated automatically is helpful

3、 for improving efficiency,redllcingthe difficulties for NC programming and solving the automation problems during thecoUlWoe of design and production processThe paper studies NC code generatedautomatically of engraving machine of 2D graphics and vector Chinese charactersFirst,DXF files from AutoCAD

4、are studied and drawing entity data of DXF files aleextracted by programmingThen,G code is generated automaticallyIn the process ofdealing with&a惭ng entity data,circle(or arc)and ellipse are fitted by linesAnd thedata-link is built to store to the dataInsertion-sorting algorithm of link is adoptedwh

5、ile data arc stored,which wodd be convenient for output of G code and reduce thenumber of呷and-down of cutter as wellAnd then,based on the NC processingprograms of RT-4500 engraving machine,data in link ale exported in the form of GcodeIn order to validate the correctness of G codethe NC processing p

6、ro黟ams alerun tO simulate trace in Visual C+60which shows the trace of engraved clearlyNext,the paper studied the structure of shape files and coding of vector Chinesecharacters in detailStrokesdata of vector Chinese characters are extracted byprogranuning,and then pack up and export the data in the

7、 form of G codeFinally,examples ale takenThe G code generated by graphics and vector Chinesc charactersale imported to RT-4500 engraving machine to engraveThe results are proved well asexpectedkey words:DXF files,G code,Shape files,automatic NC programming,computerengraveII学位论文独创性声明:本人所呈交的学位论文是我个人在导

8、师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如不实,本人负全部责任。论文作者(签名):学位论文使用授权说明河海大学、中国科学技术信息研究所、国家图书馆、中国学术期刊(光盘版)电子杂志社有权保留本人所送交学位论文的复印件或电子文档,可以采用影印、缩印或其它复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅。论文全部或部分内容的公布(包括刊登)授权河海大学研究生院办理。论文作者

9、(签名): 矽刁年月夕日鸽一审绪论第一章绪论11课题的提出随着计算机技术的高速发展,传统的制造业丌始了根本性变革,各工业发达国家投入巨资,对现代制造技术进行研究丌发,提出了全新的制造模式。在现代制造业中,为了提高产品的技术性能,增加其使用中的可靠性,且为了适应小批量、多品种、更新换代快、形状复杂等特点,引入了数控加工技术。数控技术是一项关键技术,具有高精度、高效率、柔性自动化等特点,对制造业实现柔性自动化、集成化、智能化起着举足轻重的作用。目前,数控技术正在发生根本性交革,由专用型封闭式丌环控制模式向通用型丌放式实时动态全闭环控制模式发展。由于数控技术是关系到国家战略地位和体现国家综合国力水平

10、的重要基础性产业,其水平高低是衡量一个国家制造业现代化程度的核心标志,因此,实现加工机床及生产过程数控化,已经成为当今制造业的一项主要发展方向【lJ。数控技术之所以具有如此强大的生命力,是因为它的高效灵活性和精确性。与普通机床相比,数控机床无需操作人员始终不离左右,对于不同的零件,只需改变加工指令程序即可。现代数控机床是按照事先已编制好的加工程序自动进行加工的高效自动化设备。理想的加工程序不仅应保证加工出符合图样的合格工件,同时应能使数控机床的功能得到合理的应用和充分发挥,以使数控机床能安全可靠地工作。数控加工程序的编制是数控加工中最重要的一环,编程的效率和质量对缩短制造周期,保证加工质量有重

11、要的意义。随着数控加工技术的迅速发展,数控加工设备种类增多,需要数控加工的零件品种和数量增多,零件几何形状更加复杂,对编程技术的要求也相应的提高。不仅要求能解决形状复杂零件的编程问题,而且要求编程的速度快、精度高、并便于直观地检查。因此,自动编程正逐步代替手工编程在数控系统中发挥着越来越大的作用12JI。以往的数控自动编程系统一般是以几何形状处理为主体的语言型编程系统或是图形交互编程系统【钔。对于语言型编程系统,编程人员首先要通过学习熟练掌握庞大的编程语言,按照严格的格式编写描述零件的几何尺寸和加工参数的源程序,不但容易产生人为错误,零件源程序的编写、编辑、修改等不够方便和直观。对于一般图形交

12、互编程系统虽然比语言型编程系统方便,但也烦琐,如果遇到图形处理能力较差的图形交互编程系统,图形的绘制与数控代码的生成很容易出问题。针对以往自动编程系统问题,本课题通过编制接口程序,直接读取图形交换文件(DXF文件)的图形数据,实现二维图形的数控代码的自动生成。运用河海人学俩I学位论文 雕女伸【数拧代妈臼动生成的研C该系统不必像某些自动编程软件那样,需要在系统中重新绘制零件图,而是直接从DXF文件中读入设计数据,以此进行数控程序的编制。这样,就能利用Pc机上成熟的CAD软件资源进行零件的设计,也能直接利用已有的零件设计图,增强数控加工自动编程软件应用的灵活性。另外,对AutoCAD的矢量汉字数控

13、代码自动生成问题提出了通过提取汉字形文件(shp)中笔划数掘的方法将其转换成G代码,通过读取AutoCAD中自带的矢量汉字库文件(gbcbigsap文件)提取汉字笔划数据。图形和汉字自动生成的G代码都成功在雕刻机上实现雕刻加工,在生产实践中具有很强的实用价值。本课题的数控代码的自动生成方法,避免了数控编程人员所进行的大量的提取、组织和重新输入工作,和可能发生的信息丢失和输入错误等问题,提高了数控系统的可靠性和生产效率。12基于DXF文件数控代码自动生成的国内研究状况目前国内外图形自动编程软件的种类很多,其软件功能,面向用户的接口方式也各有所不同。蔡伯阳,林金明和谢明红的基于DXF文件的NC代码

14、生成介绍了DXF文件图形实体数据读取的系统总框架及NURBS曲线的NC代码生成【5】,该软件用c语言编程,己成功地应用在自行开发的数控水刀切割机系统上,能很好地加工各种广告、装饰行业上的图形实体轮廓及复杂二维零件,且能达到满意的效果。赵后良和张俊提供了一条采用特征识别技术实现图形交互式数控机床自动编程的简便途型61。该系统从CAD系统零件描述中直接识别和提取零件加工的特征信息;根据零件特点,有效地组织成零件的信息模型,从而生成数控加工程序。李晶和骆明灯的SSCADCAM微机零件CADCAM集成化系统使用“形体组合法”实现零件描述和信息输入,在AutoCAD的DXF文件基础上形成零件的数据结构,

15、然后以零件数掘结构文件为基础生成刀位数据文件,最后生成数控程序,并动态模拟数控加工过程71。由王建军、赵汝嘉开发的轴类零件数控自动编程系统采用基于JOT特征的形面要素描述输入法输入零件几何信息,并生成图形数据文件,然后输入与加工有关的工艺信息,通过加工决策形成加工工艺信息文件,根据这两种信息决定加工过程并进行加工动态模拟,最后生成加工程序。该系统采用菜单形式进行操作【8I。而王剑,郇极开发的NCTP系统主要特点是:依照工序的顺序将每个工序的加工刀心轨迹分别绘制在不同的“层上”,在每一层利用“nT”、“DTE)(T,等命令分别定义有关的工艺参数生成DXF文件,通过解释DXF文件,识别几何信息及工

16、艺参数【9j。系统可以根掘每层定义的加工类型自动描述所需要的加工循环,并设定循环中各段的进给速度,生成刀位数据文件,经后置处理生成NC程序,并进行刀具加工轨迹的仿真。13 AutoCAD矢量汉字笔划自动提取国内研究状况由于AutoCAD的广泛使用,对AutoCAD的各方面的研究也非常多,对2第一市绪论AutoCAD中字体的研究也不另外。哈尔滨工业大学的孔振宇、马骏、郑红和刘晋春的AutoCAD在字体轨迹自动编程方面的应用通过AutoCAD幻灯片文件的格式110】,编制数控加工文件转换程序,实现了字体轨迹数控代码生成,该方法可用以对各种字体进行数控编程和铣削、电火花刻字加工。安徽省建筑科技设计研

17、究院的苏少卿AutoCAD的字型文件(sex)的结构和利用利用C+语言丌发了一个类】,可以象AutoCAD中的STYLE命令和TEXT命令一样工作,可以用显示器、绘图仪或打印机作为输出设备。西南交通大学CAD工程中心的孟文和中国测试技术研究院的陈亚川的CAD矢量汉字系统的分析和丌发分析了矢量汉字定义的格式以及大字体(sex)的数据结构Il引,应用C语言编程进行了矢量汉字的检索及输出。辽阳石油化工高等专科学校机械系的庄殿铮的AutoCAD2000大字体文件的格式分析解析了大字体(gbcbigsex)文件格式,分析了大字体格式中的字体定义13】。14数控雕刻的发展方向随着计算机数控技术的发展,雕刻

18、己经从传统的手工作业,严重依赖于能工巧匠的祖传手艺中解放出来,成为了可以实现商业化生产的一项工业技术。依托现代计算机技术的不断创新,自动控制技术的迅猛发展和传统机械行业的革命,雕刻机技术将越来越成熟。在机构设计、电机应用、控制芯片、软件平台和程序设计等领域的发展和创新,将持续改进和提高雕刻机的性能。依托现代计算机技术的不断创新,自动控制技术的迅猛发展和传统机械行业的革命,雕刻机技术将越来越成熟。在机构设计、电机应用、控制芯片、软件平台和程序设计等领域的发展和创新,将持续改进和提高雕刻机的性能;而今后计算机通讯和因特网的迅猛发展,也将给雕刻机带来一场革命。下面是计算机数控雕刻的几个发展方向04|

19、151:一、高精度。雕刻系统的精度主要取决于控制部分和机械部分。控制部分将向闭环系统发展,通过反馈调整做到误差补偿可以大幅度提高精度,机械部分采用更高精度的滚珠丝杠和电机也将进一步提高雕刻系统的精度。二、高效率。高效率来源高速进给和高速切削。高速进给取决于电机性能,未来将趋向于采用直线电机控制进给。高速切削一方面要求有性能更好的主轴电机,速度更高,承载能力更强。另一方面对刀具提出了更高的要求,未束雕刻系统的刀具将采用强度更高,耐磨性更好的新型材料。在长期的实践中,我们发觉刀具的形状对雕刻效率和效果有着举足轻重的作用,所以对刀具的形状进行研究,改善其切削性能也将进一步提高雕刻的效率和效果。三、高

20、可靠性。根据长时间的实践证明,雕刻机90以上的故障是由控制电路和电机故障引起为了提高其可靠性(这对一个商业化产品来说尤为重要),一方面,控制电路将采用更稳定更可靠的DSP技术,另一方面,进一步提高电机性能一海人学硕I学位论文 耻划机致牵代码自动生成的研究也是刻不容缓的。此外,在软件方面也有很多需要迸一步提高的地方:采用诸如面向对象等先进的软件技术。使程序模块化,通用化,可重用化,这样可以减少软件的开发的重复劳动。采用规范的软件丌发技术,提高其可维护性和可读性,便于今后的升级换代。四、微型化。这是将来的一个重要的发展趋势。随着微系统技术的成熟和应用,微型雕亥0机的性能价格比不断提高,最终将走向商

21、业应用,市场前景看好。五、多轴联动。多轴联动可以完成更复杂的雕刻动作,雕刻出更复杂,更精密的图案,不断提高雕刻机的性能,推动雕刻机向前发展。六、多平台性。现在的雕刻系统主要运行在WINDOWS9598和DOS操作系统平台上,随着新兴操作系统LINUX等的迅猛发展,由于其具有高稳定性,高可靠性,越来越受到用户的青睐,其工业市场份额在未来若干年内将达到一个相当可观的程度。因此,基于LINUX等操作系统的雕刻系统已成为一个重要的发展趋势。七、通用化、模块化和标准化。美国近年来萨在开发的NGC控制器数控系统是一个开放式系统。它可根据不同的功能要求,使用PC总线或VHF总线构成多总线和多CPU系统,其基

22、本模块做成通用的、标准的、系列化的产品。数控雕刻系统的开发人员可在NGC标准规范指导下,采用不同厂家的软、硬件模块,组成不同档次的数控系统,以适应各类机床的CNC控制。八、利用计算机的软件资源提高数控系统的性能。随着微型计算机的广泛应用,在DOS和WINDOWS系统平台上开发的大量应用软件极大地丰富了以通用微机为基础的系统控制功能,些新技术(如多媒体技术、容错技术、模糊控制技术、人工智能技术等)逐渐被新一代数控系统采用,主要有:人工智能图形会话编程,可进行特征造型和工艺数据库基础上的自动编程。引入故障诊断专家系统,实现完善的自诊断和故障监控功能。完善的误差补偿功能,包括空间几何误差补偿、零点误

23、差补偿、夹具位置误差补偿。刀具寿命管理及刀具破损综合检测功能等。九、网络制造。将雕刻机用网络连接起来,通过分布式系统,智能的选择当前空闲的雕刻机完成当前的任务。充分、高效地利用系统资源,实现多品种、大批量的生产,形成一定的规模效应,使得用户得以占领市场,实现价值【l州。I5本课题研究的主要内容本课题的主要研究内容是在Visual c牛+60环境中编程读取DXF文件,提取AutoCAD中的二维图形数据及对AutoCAD中的矢量汉字笔划的自动提取。并将它们生成可用于RT-4500雕刻机能加工的数控程序。论文的内容主要包括4第一章绪论以下几个方面:(1)分析DXF文件的结构及内容;(2)编程提取DX

24、F文件中的图形数据;(3)对(3)中提取出的图形数据进行处理,包括线段链表的建立,圆(弧)、椭圆(弧)的直线拟合、插入排序处理等内容,使最终得到的数据便于数控程序的编写;(4)根据处理后的图形数据,自动编制Jj,-r中心数控程序;(5)根据链表数据,在Visual C+十60窗口进行雕刻轨迹模拟仿真;(6)分析形文件(shp)结构与定义,编程实现AutoCAD的矢量汉字库文件gbebigshp中汉字笔划数据的自动提取。(7)将自动生成的G代码导入到数控雕刻系统软件中进行数控雕刻加工实验。河海大学硕士学位论文 雕刻机数控代码自动生成的研究第二章DXF文件分析与图形数据的自动提取AutoCAD软件

25、为完善其数据交换功能提供了几种与高级语言接口方式,这些接口方式是通过产生格式化的图形数据来实现的。图形数据文件以一定的格式,按照一定的顺序记录了零件信息,它包括了零件图的全部信息。当我们知道了图形数据交换文件的结构和组成后,按照文件格式将储存在其中的图形数据读出来,送到我们的数据系统,就可以实现数控加工了171。本课题采用的是DXF接口方式,这是因为DXF文件是AutoCAD与外部环境联系的主要接口方式之一。它易于将AutoCAD的图形转换成其它CAD系统所能读取的文件格式,几乎适合所有的微机系统CAD系统图形文件的交换。也就是说以DXF接口方式开发出来的AutoCAD软件一般也同样适合于其它

26、形式的CAD系统。从上面的分析可以看出,由于AutoC,M)存在着与外部环境进行数据交换的接口方式,因此可以用接口程序将我们所关心的零件几何信息读取出来,送入数控系统中。21 AutoCAD图形存储格式【l 8】1DWG(Drawing)文件DWG文件是一种专用格式的图形数据文件,采用了某种紧缩的二进制码存储形式。这种格式的文件对于AutoCAD系统内部的操作而言是很方便的、有效的,但是不适应与其他的CAD软件之间进行图形数据交换。2DXF(Drawing Interchange Format)文件DXF文件是AutoDesk公司开发的,作为其CAD软件AutoCAD图形数据输入输出的可读的接

27、口格式。随着AutoCAD在国际上应用的日益普及,其接口文件DXF也逐渐成为国际上的一种通用标准接口。并且该格式文件读取方便,便于编程。3WMF(Windows Metafile Format)文件WVlF文件是Microsof!c Windows中常见的一种图元文件格式,它具有文件短小、图案造型化的特点,整个图形常由各个独立的组成部分拼接而成,但其图形往往较租糙。4EPS(Encapsulated PostScript)文件EPS文件是用PostScript语言描述的种ASCII码格式文件,既可以存储矢量图,也可以存储位图,最高能表示32位颜色深度,特别适合PostScript打印机。该格式

28、分为Photoshop EPS格式(Adobe Illustrator EPS)和标准EPS格式。22 DXF文件结构u91-23】每个CAD系统都有自己的数据文件,数据文件分图形数据文件、几何模型文件和产品模型文件几种。数据文件的格式与每个CAD系统自己的内部数据模6第一章DXF史件分析J|笙|形数据的自动提取式密切相关,而每个CAD系统自己内部的数掘模式一般是不公开的,也是各不相同的。由于用户使用的需要,就有数据交换文件概念的出现24J。随着AutoCAD在世界各行各业的广泛使用,目前,一般CADCAM系统都具备与AutoCAD接口的功能。DXF为AutoCAD系统的图形数掘文件,DXF虽

29、然不是标准,但由于AutoCAD系统的普遍应用,使得DXF成为事实上的数掘交换标准。DXF是具有专门格式的ASCII码文本文件,它易于被其它程序处理,主要用于实现高级语言编写的程序与AutoCAD系统的连接,或其它CAD系统与AutoCAD系统交换图形文件。DXF文件格式是特定版本AutoCAD图形文件中所包含的全部信息的标已数据的一种表示方法。标记数据的意思是指在每个数据元素前都带一个称为组码的整数。组码的值表明了其后数据元素的类型,也指出了数据元素对于给定对象(或记录1类型的含意。实际上,图形文件中所有用户指定的信息都能够以DXF文件格式表示。DXF文件可以被许多软件调用或输出,它有二进制

30、和ASCII文本两种表示方法,其中ASCII表示方法应用更为普遍。221 DXF文件的总体结构下面以AutoCAD2006的DXF格式为参考版本格式,对DXF文件格式进行详细介绍。DXF文件的总体结构如图21:图2-1 DXF文件总体结构图一个完整的DXF文件必须包括标题(HEADER)段、类(CLASSES)段、表(TABLES)、段块(BLOCKS)段、实体(ENTITIES)段、对象(OBJECTS)段六个段和结束标志。河海人学硕一L学位论文 雕幺9机数拧代码自动生成的研究实际上,每个段都是由许多称为“组”的小单元组成,每个“组”单元包括组码(Group Codes)和组值(Group

31、Values)两个组元素,每个组元素在DXF文件中各占一行,每组均以组码作为该组的简称。每个组构成了DXF文件中的一个节(Section)。每个段均以组值为字符串SECTION的0组丌始,随后的组值为段名的2组以及组成节的其他各个组,最后以组值为字符串ENDSEC的0组结束该段。所有段都结束后,DXF文件以组值为EOF(EndofFile)的0组作为文件的结束标志124i26)。222 DXF文件中组代码及其含义组代码既可以用来指出其对应组值的类型,由可以在文件各段中表示定的含义。组代码的具体功能取决于它在文件中所处的位置,是变量、表项、还是实体说明。组代码的一般含义如下:组代码 组代码的一股

32、含义0 标识一个事物的开始。例如:一个段、一个表、一个块、一实体等l 字符型数据的值。例如:TEXT的文字串、文件名、属性值等2 一个事物的名字。例如:段、表、块、线型、视图等的名字3-4 字符型数掘的值。例如:文件名、线型的说明部分、属性提取等5 用十六进制表示的实体标识6 线型名(固定的)7 字体名(固定的)8 层名(固定的)9 标题变量名(固定的)lO18 X坐标值2028 Y坐标值3037 Z坐标值38 基面高度f固定的)39 厚度(固定的)4048 高度、宽度、半径、距离、比例因子等49 重复值。例如:定义线型的各短划线的长度5058 角度值62 颜色号66 实体跟随标记。用于PLI

33、NE或带有属性的插入块70 标题变量的状态、表项的数量和标记等7178 整数型数据 21 o220,230 厚度方向的x、Y、z分量999 解释行第一章DXF且件分析+J幽彤数据的白功提取223 HEADER段标题段记录AutoCAD系统的所有标题变量的当前值或当前状态。标题变量记录了AutoCAD系统的当前工作环境,如SNAP捕捉当前状态、栅格间距式样、当前图层层名及线型、颜色等。标题段的一般格式为:0 标题段定义丌始SECON2HEADER腑而题段的杯志名9$组码和组值重复定义每一个变量lODSEC 1,示题段定义结束224 cLssES段此段包含有关应用程序定义类的信息,这些类的实例包含

34、在BLOCKS区域、ENTITIES区域和OBJECTS区域的数据库中。类定义在类的层次结构中是固定不变的。类段的一般格式为:0SECTION2CLASSES0CLASSl2390类段定义丌始类段的标志名一个类记录开始9河海人学坝I学位论文 舭刻机数挣代码自动生成的研究9l280281O 描述新的类CLASSl0ENDSEC ,类段定义结束225 TABLES段表段共包含APPID(应用程序标识表),BLOCK_RECORD(块引用表)、DIMSTYLE(标注样式表),LAYER(图层表)、LTYPE(线型表)、STYLE(文本样式表)、UCS(用户坐标系表)、VIEw(视图表)、VPORT(

35、视口配置表)符号表定义。表段的一般格式为:0SECTION2TABLES0TABLE2VPORTl0ENDlAB0TABLEl0ENDlABO开始定义表段表段的标志名,一个表记录开始,开始视口配置表描述视口表的表项其它表的描述,表项的组码和组值lO第一二章DXF文件分析J幽彤数据的自动提取ENDSEC 表段定义结束下面列出各表项的组代码及其含义:(1)LTYPE 3(对线型的用法说明),72(对齐方式),73(一个周期内短划线数目),40(一个周期的总长度),。(2)LAYER 62(颜色号),6(线型名),70(状态:o:解冻:l=冻结)。(3)STYLE 40(字高),50(倾斜角),41

36、(宽度因子),71(文字生成方式),42(当前字高),3(字体文件名),4(大字体文件名)。(4)VIEW 40,41(视图高和宽),10,20(视图中心的x,Y坐标),11,2l,31(WCS中的视点坐标),12,22,32(WCS中的目标点坐标),42(焦距),43,44(韵后裁剪平面),50(旋转角),71(视图状念)。(5)UCS 10,20,30(原点),11,21,3I(X轴方向),12,22,32(Y轴方向)。(6)VPORT 10,20(视窗的左下角),ll,2 Z(视窗的右上角),12,22(视窗的中心点),13,23(捕捉基点),41(视窗高宽比),43,44(前后裁剪平面

37、),42(镜头焦距),50(捕捉旋转角),51(视窗旋转角),71(视窗状态),。226 BLOCKS段BLOCKS段包括所有的块定义,其中包含组成(图形中使用的)块(包括命令HATCH和关联标注生成的无名块)的图元。每一图块定义包含组成图块的图元,这些图元与用于图形中的图元没有什么区别。在本区域中的图元格式与ENTITIES区域中的图元相同。BLOCKS区域中的图元格式与ENTITIES区域中的一样,且此段中的所有图元都出现在BLOCK和ENDBLK图元之间。BLOCK和ENDBLK图元只出现在BLOCKS区域中。虽然块定义可以包含插入图元,但块定义不允许被嵌套(即BLOCK和ENDBLK图

38、元之间不允许出现另一对BLOCK和ENDBLK图元)。块的一般结构如下:OSECTl0N2BLOCKSOBLOCK5IOENDBLK,开始定义块段块段的标志名,块开始a口洵人学颂学位论义0BLOCKl0ENDBLKOENDSEC227 ENTITIES段雎磊0机数拌代徭5自动生成的研允其它块的定义描述,块段定义结束实体段定义了每个实体的种类,所有图层名、颜色、线型、厚度、实体描述字及有关的几何数据。实体段的一般结构为:0 开始定义实体段SEClrl0N2ENTITIES ,实体段的标志名05330100AcDbEntity8100AeDbl 每个实体定义都有一个入口OENDSEC 实体段定义结

39、束除了以上共用组码之外每个实体有各自的专用组码,常用的带有专用组码的实体它有:3DFACE、3DSOLID、ACAD_PROXY_ENTITY、ARC、ARCALI研也DTEXT、ATTDEF、ATTRIB、BODY、CIRCLE、DIMENSION、ELLIPSE、HATCH、IMAGE、INSERT、LEADER、LINE、LWPOLYLINE、MLINE、hfrEXT、OLEFRAME、12第二审DXF文件分析。J幽形数据的白动提取OLE2FRAME,POINT,POLYLINE,RAY,REGION,RTEXT,SEQEND,SHAPE?SOLID、SPLINE、TEXT、TOLERA

40、NCE、TRACE、VERTEX、,IEWPoRT、WIPEOUT、XLINE等。下面列出部分几何实体数据的组代码及其含义:(1)POINT 10,20,30(空间点的X,Y,Z坐标)(2)LINE 10,20,30(起点的X,Y,Z坐标),1l,21,3I(终点的x,Y,z坐标1(3)CIRCLE 10,20,30(圆心的X,Y,Z坐标),40(半径)(4)ARC 10,20,30(qb心点的X,Y,Z坐标),40(半径),50(起始角度),51(终止角度)。(5)TRACE用四个角点确定轨迹线:(10,20,30),(11,21,31),(12,2232),(13,23t 33)。(6)S

41、OLID用四个角点确定实心区:(10,20,30),(1l,21,31),(12,22,32),(13,23,33)。(7)POLYLINE 66(顶点跟随标hE),70(多义线类型),40(缺省起点宽度),41(缺省结束宽度),7I和72(多边形网格M和N顶点数),73和74(平滑曲面M和N密度),75(平滑表面类型),以及各顶点的具体描述,见(8)(8)VERTEX 10,20,30(顶点的X,Y,Z坐标),40(上一点到该顶点的起点宽),41(上一点到该顶点的终点宽),42(圆弧的凸度),70(项点种类),5以曲线拟合时的切线方向)。(9)3DLINE 10,20,30(起点的x,Y,Z

42、坐标),1I,21,31(终点的x,Y,Z坐标)。(10)3DFACE定义三维面的四个点(10,20,30),(1121,3I),(12,22,32),(13,23,33)。(11)TEXT 10,20,30(插入点的x,Y,z坐标)t 40(字高),l(文字值),50(旋转角),41(宽度因子),51(倾斜角),72(对齐方式)。02)SHAPE 10,20,30插入点的x。Y,z坐标),40(形高),2(形名),50旋转角),41(宽度因子),5l(倾斜角)。(13)BLOCK 2(块名),70(块类型),10,20,30(块基点的X,Y,z坐标)。(14)DIMENSION 10,20,

43、30(尺寸标注的定义点),1l,2l,31(尺寸文字的中点),12,22,32(尺寸文字的插入点),70(R寸标注的类型;0=旋转、水平或垂直型;l=校准型;2=角度型;3=直线型;4=半径型),13,23,33(直线或角度尺寸标注的定义点),14,24,34(直线或角度尺寸标注的定义点),15,25,35(直线、半径或角度尺寸标泣的定义点),16,26,36(角度标注的弧线定义点),40(半径与直径尺寸标注的引线长度),50(旋转、水平、垂直线尺寸杯注的角度)。扣J海大学硕I学位论文 舵女伸【效拧代码自动生簏的研究228 OBJECTS段除了没有图形的或几何的意义外,对象与图元基本类似。所有

44、那些非图元的,符号表记录的或符号表的对象都存储在此区域中。出现在OBJECTS区域中的大多数对象的根所有者被称为对象词典,所以始终只有第一对象出现在此区域中。不被对象词典所有的对象归其他图元、对象或符号表条目所有。此区域中的对象可以被AutoCAD或被有权使用ObjectARXAPI的应用对象定义。应用程序定义对象类型的DXF名称始终与一个DXF文件的CLASS区域中的类名称联合在一起,否则对象记录不能被加进将要解释它的应用程序中。对象段的一般格式如下:0 x寸象定义开始SECnON2OBJECTS x寸象段杯志名3lOENDSEC 对象节定义结束0EOF ,整个DXF文件结束23 DXF文件

45、图形数据自动提取231 DXF文件图形数据提取的总体结构DXF文件有两种格式:ASCII码格式和二进制格式。前者较易阅读,后者则占用较少的空间且装入速度较快。为了方便,在这里选用对ASCII的DXF文件进行数据读取。DXF文件中包含了AutoCAD中的所有图形及相关信息,数据量非常大。但由于其数据有严格的存储格式,在读取DXF文件数据的时候可以忽略一些不必要的信息【271。根据上节DXF文件的详细介绍可知,图形实体数据都定义在DXF文件的实体(ENTITIES)段。因此,我们可以通过读耿实体段柬获得图形数掘。图22为提取实体图形的结构框图:4第二章DXF文件分析与图形数据的自动提取图2-2 D

46、XF文件实体图形数据提取结构框图下面为在Visual c+60环境下定义的读取DXF文件的函数:void readDXF(CStfing lpszName)CStdioFile file;CString stt;珉!(丘leOpen(1pszName,CFile:modeReadlCFile:typeText)return; 判断能否打开DXF文件elsedofileReadString(str);while(strCompare(ENTITIES”)!=o); 逐行读文件,至实体段肝面读取实体段的数据河海大学硕士学位论文 雕刻机数控代码自动生成的研究dofileReadString(str)

47、; ,读取一行字符串strTrimLeflO; 去掉字符串左边的空格s_trTrimRightO; 去掉字符串右边的空格strTrimRight(”、Il”); 去掉字符串右边的回车if(strCompare(“LINE”)一o) ,直线数据提取if(strCompare(ARC”)0)圆弧数据提取其他实体图形数据的提取while(strCompare(”EOF”)!=o);)232直线数据(L|NE)的提取直线在DXF文件中是以起点和终点坐标表示的,下面是直线段(LINE)在DXF文件中的实例说明。0LINE 表示直线实体数据的开始l ,描述直线的句柄、子类标记、层名、颜色号等10 直线起始

48、点x坐标的组码1918022603968143 直线起始点X坐标的组值20 直线起始点Y坐标的组码201236591064159 值线起始点Y坐标的组值30 ,直线起始点Z坐标的组码00值线起始点Z坐标的组值ll ,直线终止点x坐标的组码3995130034380014 直线终止点X坐标的组值2l ,直线终止点Y坐标的组码9866890961464335 直线终止点Y坐标的组值3l 直线终止点z坐标的组码00 直线终止点z坐标的组值从直线在DXF文件实体段中的定义,可知直线的起点X坐标为组码10所对应的组值,起点的Y坐标为组码20所对应的组值,起点的Z坐标为组码30所对应的组值,直线的终点X坐

49、标为组码ll所对应的组值,终点的Y坐标为组码21所对应的组值,终点的z坐标为组码31所对应的组值。16第二章DXF文件分析与图形数据的自动提取直线提取的结构框图如下:图2-3直线提取的结构框图直线提取程序如下:if(strCompare(”LINE”)=o)(d0fileReadString(str);strTrimRightO;strTrimRight(”n”);if(slxCompare(”10”)一0)fileReadString(str);m_xl=(float)atof(slr);if(strCompare(”20”o)fileReadString(slr);m_yl=(float)atof(str);if(strCompam(”30”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报