




已阅读5页,还剩74页未读, 继续免费阅读
(机械制造及其自动化专业论文)数控铣床加工过程虚拟仿真系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌大学硕士论文 摘要 本文主要的研究内容是建立一个真实的数控铣床加工环境,并在此环境下对 加工过程进行仿真。作者对虚拟制造的体系结构和相关技术进行了深入的研究和 分析。着重阐述了虚拟数控机床的建模原理及其相关的控制技术。在建立的虚拟 数控机床上实现机床各轴的运动控制、程序显示、n c 编译、反馈信息显示等功 能,实现了虚拟数控铣床最基本的功能。 根据数控铣床实际的功能需求,设计了虚拟数控铣床的体系结构,并对虚拟 数控铣床进行了功能模块的划分。虚拟数控铣床分割为几何仿真模块、控制面板、 运动模块、系统参数及状态监测模块、数控代码编译模块等五个主要部分。 几何模块中复杂铣床几何模型使用第三方软件实现,采用3 d s 文件接口。刀 具轨迹模型、工件模型则在o p e n g l 平台下进行开发。控制面板采用a c t i v e x 控件 实现面板各类元素。在详细分析了机床运动,切削运动后,对各个运动进行了具 体的实现。编译模块则按照i s o 标准规定的n c 程序格式体系,实现了n c 程序的 词法检查,语法检查,出错处理及目标文件的生成。系统参数采用a c c e s s 数据库 进行管理,解决了程序对后台数据库的访问问题。 本研究成果已用于我校数控铣床教学实践,各方反映良好。 关键词:数控铣床虚拟制造计算机仿真 南昌大学硕士论文 a b s 仃a c t t h em a i nc o n t e no ft h er e s e a r c hi st ob u i l dar e a l l yn cm i l l i n gm a c h i n e e n v i r o n m e n ti nc o m p u t e ra n dt os i m u l a t em a c h i n i n gp r o c e s s a u t h o ra n a l y z e dt h e c r u c i a lt e c h n o l o g i e sa n dt h ea r c h i t e c t u r eo fv i r t u a lm a n u f a c t u r i n g h a v en a r r a t e dt h e p r i n c i p l eo fb u i l d i n gt h ev i r t u a ln u m e r i c a lc o n t r o lm a c h i n et o o lm o u l da n dt h ec o n t r o l t e c h n o l o g yr e l a t e dt o i t o nt h ev i r t u a ln u m e r i c a l c o n t r o lm a c h i n et o o lw eb u i l t , r e a l i z e dt h ef u n c t i o no f t h em o v e m e n tc o n t r o lo f e a c ha x l eo f m a c h i n et o o l ,p r o g r a m s h o w i n g ,n cp r o g r a mc o d ec o m p i l e ,i n f o r m a t i o ns h o w i n ga n ds oo n 。h a v er e a l i z e d t h em o s tb a s i cf u n c t i o no f am a c h i n et o o lo f n u m e r i c a l c o n t r o ls y s t e m a c c o r d i n gt oi t sf u n c t i o no fn cm a c h i n e ,af r a m e w o r ko f v i r t u a ln cm i l l i n g m a c h i n ei sb u i l ta o di ti sd i v i d e di n t os e v e r a lf i m c t i o nm o d u l e s 。t h ev i r t u a ln c m i l l i n gm a c h i n ei ss e p a r a t e di n t of i v em a i np a r t s :g e o m e t r i c a lm o d u l e ,v i r t u a lc o n t r o l p a n e l ,m o v i n gm o d u l e ,s y s t e mp a r a m e t e ra n ds t a t ec h e c km o d u l e ,c o m p i l en c p r o g r 甜nc o d e m o d u l e 。 g e o m e t r i c a lm o d u l ea d c i p tt h i r dp a r t ys o f t w a r e3 ds t u d i om a xt or e a l i z et h e c o m p l e xg e o m e t r i c a lm o d e l ,t o o lp a t hg e o m e t r i c a lm o d e la n dw o r k p i e c eg e o m e t r i c a l m o d e ld e v e l o p e d0 1 1t h eo p e n g lp l a t f o r m c o n t r o lp a n e lu s ea c t i v e xc o n t r o lt o r e a l i z ei t se l e m e n t a f t e ra n a l y s em a c h i n em o v i n ga n dc u t t i n gm o v i n g ,w er e a l i z ea l l o fm o v i n g ,c o m p i l em o d u l ec o n f o r m e dt h ei n t e m a t i o n n a li s os t a n d a r d so nt h en c c o d e ,s y n t a xe x m l f i n a t i o na n de x p l a n a t i o no nt h en cp r o g r a mc o d ei sr e a l i z e d ,t h e i n f o m a a t i o no fe r ri sa l s og i v e n n ct o o lp o s i t i o nf i l ew h i c hn cc o m p i l ep r o g r a mu s e s f o rs i m u l a t i o nd a t a s y s t e mp a r a m e t e ra d o p ta c c e s sd a t a b a s et om a n a g e t h ep r o d u c t i o no ft h er e s e a r c hh a sa p p l i e dt e a c h i n gp r a c t i c e ,r e f l e c t i o no fa l l s i d e si sa l lr i g h t k e yw o r d :n cm i l l i n gm a c h i n ev i r t u a lm a n u f a c t u r i n gc o m p u t e re m u l a t i o n 独创性声明 本人声明所星交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得南昌大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 签船 日期:乙以年g 月 学位论文版权使用授权书 本学位论文作者完全了解南昌土学有关保留、使用学位论文的规定 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅。本人授权南昌大学可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 签字日期:、挺石年 学位论文作者毕业后去向 工作单位: 通讯地址: 电话 邮编 南昌大学硕士论文 第一章绪论 本课题研究的主要内容是建立一个真实的数控铣床加工环境,并在此环境下 对加工过程进行仿真,课题研究的内容属于虚拟制造的范畴。 虚拟制造是实际制造过程在计算机上的本质实现。即利用计算机仿真与虚拟 现实技术,在计算机上群组协调工作,实现产品的设计、工艺规划、d h i 带, j 造、性 能分析、质量检验以及企业多级过程的管理与控制等产品制造的本质过程,以增 强制造过程多级的决策与控制能力i “。 目前,虚拟制造在各个领域典型应用有2 j : 1 ) 产品的外形设计 2 ) 布局没计 3 1 产品的运动和动力学仿真 4 ) 加工工艺仿真 5 1 加工过程仿真 6 1 产品装配仿真 7 ) 虚拟样机与产品工作性能评测 8 1 产品虚拟展示 9 ) 企业生产过程仿真与优化 1 0 ) 虚拟企业的协同仿真与优化 本课题研究内容属于第5 种,即加工过程仿真。 1 1数控加工过程仿真的研究概述 利用仿真技术模拟数控加工过程的工作在国外开展得比较早,7 0 年代中期美 国u n i v e r s i t yo f r o c h e s t e r 就开始了有关方面的工作,以后随着几何造型技术的发 展而不断向前推进,开发了一个基于二维图形的c n c 仿真系统,用二维图形模拟 制造过程在时序和逻辑上的一些特征,为数控编程提供工具;文献 6 7 介绍了 基于线框模型的图形仿真系统和图形数控编程系统,这类系统可以象有耐心的检 测人员一样,能发现加工过程中大多数刀具碰撞和几何错误:在8 0 年代中期出现 了基于实体模型的数控仿真系统【8 】 9 1d 0 1 【,这些系统能较真实地反映加工过程 零件的加工步骤,但由于当时计算机运算速度慢,此类系统的显示速度较慢,不 南昌人学硕士论文 能实时地仿真加工过程;现在,国外的数控加工仿真软件包f 1 2 】m 1 1 1 ”,如c g t e c h 公司的v e r i c a t 软件包,l i c n t l e x 公司的n c v 软件包,s i l m a 公司的l i m s t a t i o n 软件 等等已经很好的解决显示速度问题,能满足用户的要求。 在国内,数控加工过程仿真的研究起步较晚,到现在还处于西方发达工业国 家8 0 年代中期的研究水平吼国内的研究过程大体上与国外相似,经历了从二维 图形仿真、线框模型仿真到三维实体模型仿真的阶段。目前,各高校科研究院所 纷纷对数控加工仿真作研究性开发,取得了可喜的成果。如:合肥工业大学开发 了数控车削自动编程系统h f a p t 2 ,实现仿真显示刀具运动轨迹、毛坯和零件的实 体形状、机床的状态,并对刀具作干涉检验;清华大学开发了三维数控加工仿真 系统n c m s s ,它能在任选的视图上直观地显示刀具加工轨迹和工件轮廓,并提 供了n c 代码调试、编程、跟踪、执行等功能;大连理工大学开发了曲面加工微 机仿真器”,它主要是对齿轮、空间凸轮、多边形面等复杂切削加工进行仿真, 可实现对各种曲面加工过程的模拟并进行加工误差分析,以改进工艺参数,提高 加工精度和效益;清华大学与华中科技大学c a d 中心共同研究开发了数控加工 仿真系统m p s l l 6 j ,加工过程由n c 代码直接驱动,可对编程系统、半手工及手工 编制的n c 代码进行正确性检验,能提供建立机床加工模型的功能,能在精确形 体表示下,实现快速三维图形显示加工过程动画。 1 2 选题的背景和依据 当前我国企业,尤其是中小企业,从事数控加工的人员接受的培训少,尤其 是培训的周期长,培训投入高。实际操作机床时,一方面管理人员担心将机床损 坏,另一方面又需要快速培训人员。这种矛盾始终会贯穿整个培训过程。使用虚 拟数控系统的培训功能可以使接受培训的学员放心大胆地操作机床,不会损坏机 床。这种系统还具有成本低的优点。虚拟系统还可以通过网络构成分布式的培训 环境和虚拟培训系统,学员可以不受时间地域的限制参加学习。由于虚拟数控系 统提供了虚拟的操作加工环境可以使接受培训者能够获得操作真实机床一样的 感觉。另外,虚拟数控系统还可以通过仿真实现数控代码的检验,避免由于不合 理甚至错误的数控程序的出现,从而避免不必要的损失。 虚拟机床在数控m i 过程中也具有重要意义。在数控加工前,数控程序中的 错误不容易发现。目前,通常采用计算机图形模拟刀具轨迹显示法和机床试切法 南昌大学硕士论文 对数控程序进行校验,但两者都有缺点。计算机图形模拟刀具轨迹显示法缺少真 实感,刀具与工件的干涉和过切难以发现;试切法成本高,周期长。采用v m t 技术,操作者能够“置身于”计算机产生的三维仿真模型的虚拟环境,因而在设计 新的方案或更改方案时,就能够在真实制造运行之前在虚拟的数控环境中进行零 件的数控加工,并对数控程序加以检验,检查数控加工过程中可能出现的问题, 分析零件的可加工性和工序的合理性。 目前这方面的研究主要集中在数控车床上面,数控铣床及加工中心等复杂的 数控系统虚拟仿真系统研究较少,原因一是机床模型本身复杂,很难构造逼真机 床,二是加工的零件复杂,它对零件或加工轨迹有了更高的要求,需要更高级的 空间几何模型进行构架,三是铣床和加工中一t ;, n c 系统比车床更为复杂。有不少 研究机构及商业单位在这方面展开研究,也设计出来不少系统。这些系统已经具 备了一些基本的功能,但设计的体系没有用到当今最成熟的计算机技术,开发效 率差,可移植性不强,不能够根据用户的要求作出快速的变换。比如机床的几 何模型建立,大部分软件的做法是自己去开发,在一些3 d 开发平台去绘制个 个几何模型,编写相关图形绘制的代码,这样做效率极差,如果机床作出些改变 或变成另外一个样子则需要编写大量图形绘制代码,并对原先的系统相应的地方 进行大规模更改 ”1 。 本文不采用目前通常的设计方法,例如直接在3 d 平台上对各个几何体进行 造型,直接对系统参数进行管理,而是充分使用当今最成熟的计算机技术来提高 开发的效率并具有快速的用户响应,采用第三方几何造型软件3 d s m a x ,u g 等来构 造机床几何模型,用数据库技术对机床系统参数进行管理,使用a c t i v x 控件技术 构造机床控制面板。 1 3 本文主要的研究内容 1 建立一个真实感的机床环境 复杂的机床几何模型使用第三方软件实现,采用3 d s 文件格式编写一个3 d s 文件格式读入接口,整个系统程序和机床模型造型分开进行,机床的造型可以在 程序外面完成。 2 建立加工过程运动模型 详细分析机床运动,实现机床直线,圆弧等一系列运动。 南昌大学硕士论文 3 建立切削运动模型 分析切削运动,实现工件的切削加工。 4 设计一个n c 代码解释程序,即n c 处理模块 这个模块需具备基本的n c 程序词法分析,语法分析,能给出相应的错误信 息,同时能生成目标文件。 5 生成刀具轨迹 在o p e n g l 平台下进行了开发,构造了各个实体模型,建立了刀具轨迹模型 6 友好的人机界面及系统状态监测功能 采用a c t i v e x 控件技术构造面板各个元素,用数据库技术对机床系统参数进 行管理。 南昌大学硕士论文 第二章数控铣床加工过程虚拟仿真系统的构架 2 1系统的特点及功能要求 本系统的目标是建立一个真实的数控加工环境。在这个环境中,需要建立机 床模型和加工过程模型。机床模型就是整个加工过程的物理环境,将真实的机床 在计算机中以3 d 画面的形式出现:加工过程模型是一个动画过程,模拟真实机 床、刀具、切削等加工过程的运动。 仿真系统应满足的要求: 1 ) 具有逼真的加工环境, 2 ) 能够对n c 代码等进行检测,即具备机床的n c 程序编译功能,能发现 n c 程序的错误,并生成目标文件, 3 ) 能够显示刀具轨迹及切削过程, 4 ) 能调整、修改机床状态参数。实时监控机床的运动状态, 5 ) 有友好的人机界面,能方便用户操作。 它具备的特点有: 1 ) 环境真实,系统的环境和真实的机床环境尽量相同, 2 ) 功能一致,系统的功能要和机床的功能一样, 3 ) 较强的纠正错误能力,能发现各种错误同时给出报警信息, 4 ) 快速完成仿真过程,仿真3 h t 过程需要的时间不能和真实的加工时间一 样,否则让人难以忍受,加工过程时间可以根据用户的要求来进行调节。 2 2 本系统整体构架 仿真过程为:在控制面板上编辑n c 程序或调入n c 程序,然后对准备好的加 工程序进行检查,轨迹仿真,确认无误,准备加工。加工前对整个系统进行必要 的设置,刀具参数设置,工件坐标系设置等。进行加工时,显示机床运动动画及 工件切削动画,对机床状态进行监测,显示监测的信息,如果有非法操作、越程 等信息,发出相应的警报。 从上面的过程来看,整个系统本质上是由命令字符串驱动一个虚拟机床的动 画运动的过程。系统分为五个模块:人机界面,几何模块,运动模块,编译模块, 监测反馈模块。 南昌大学硕士论文 人机界面用来实现人机交互,即机床的控制面板。 几何模块用来实现系统的物理环境,刀具轨迹及工件模型等几何体。 n c 模块主要功能有数控程序编辑、刀补、插补、编译生成虚拟机床驱动文 件等。 运动模块用来实现虚拟机床运动,刀具运动及切自0 运动等。 机床参数设置、机床状态信息反馈与监测等功能用监测反馈模块来实现。 整个系统的模块划分如图2 一l : 图2 1 系统结构 2 2 1几何模块 几何模块不单单只包括机床模型,还包括其他的需要造型的几何体。有机床 南昌大学硕士论文 模型,刀具模型,刀具轨迹模型,工件模型等。这些模型按照实现的方法来分可 以分成三个模块: a 1 机床零部件、刀具等复杂几何体 复杂几何体用第三方软件来绘制,采用3 d s 文件格式,编写个3 d s 文件格式 读入接口,整个系统程序和机床模型造型进行分离,机床的造型可以在程序外面 完成。研究的主要内容有: 实现第三方软件生成3 d s 文件读入接口,即编写一个文件读入程序。 解决各个零部件位置关系即装配关系。 构造各个部件数据结构,以便用于操纵零部件运动。 b ) 刀具轨迹几何体 刀具轨迹模型则需要开发者在o p e n g l 平台下自行绘制。刀具轨迹是有c n c 程序里得出,具有很大的变化性,不能从第三方软件中实现,需自行开发。这个 模块需要解决的问题有: 各个几何体的绘制,如直线( g 0 1 ) ,圆弧( g 0 3 ) ,二次曲线等的绘制。 虽然o p e n g l q u 提供了少量的绘图函数,例如一些简单的直线,三角片等库函数, 但象圆弧这么简单的图形都没有直接绘制的库函数,因此远远不够用,需要进行 开发。研究的主要内容有: 各个常用实体造型即构造各个实体的数据结构。 多个实体连接成一个刀具轨迹。 c ) z 件几何体 模拟加工过程其实就是模拟切除工件余量的过程,因而需要进行实体的布尔 运算,工件就不能是一个整体的实块而是由无数过细小的离散体组成,那么加工 过程就是这些小块体是显示还是不显示的一个布尔运算过程。因而建立一个合理 的工件离散体模型非常重要,它对加工后的零件模型显示质量,加工过程计算量 的多少,加工动画显示的快慢有着重要的影响2 2 1 1 2 3 1 。研究的主要内容有: 1 ) 构建工件模型; 2 ) 构架小方块及工件数据模型。 2 2 2n c 模块 c n c 程序编制模块有两个功能,一个是检测n c 文件,二是形成目标文件去 南昌大学硕士论文 驱动仿真物理环境,并获得加工过程动画。研究的主要内容有: 1 ) 词法分析; 2 ) 语法分析; 3 ) 给出错误信息: 4 ) 形成目标文件。 2 2 3 运动模块 运动模块包括机床运动,切削运动,刀具运动等。研究的主要内容有: 1 ) 机床各个部件相互运动,运动相互关联; 2 ) 设计运动控制器,其功能是计算不同时间机床沿某种轨迹运动的位置, 控制机床沿某一轨迹运动; 3 ) 实现s ,f 等各种速度控制; 4 ) 实现机床各个运动接u i g 0 1 运动,g 0 0 运动等: 5 ) 实现刀具运动; 6 ) 显示切削过程。 2 2 4 监测与反馈模块 监测与反馈模块用来设置机床系统参数,监测机床运动状态,研究的主要内 容有: 机床系统参数构建 对参数进行修改,删除等各种操作 反馈机床信息,显示刀具位置等 报警位置超程、刀具干涉等非法操作。 2 2 5 控制面板 控制面板和真实的机床控制面板具有相似性,研究的主要内容有: 1 ) 绘制出各个面板元素,如显示屏、旋转开关等按钮: 2 ) 实现机床控制,c n c 交互,系统参数输入与修改操作等控制功能。 整个系统各个模块关系如图2 2 : 南昌大学硕士论文 用 户 图2 2 各个模块相互关系 2 3 各个模块的设计 2 3 1 人机界面( 控制面板) 的设计 这个模块有两个方面:一是对面板的各个界面元素进行设计,一个是对机床 等各个虚拟物体进行控制。 操作面板上的组件数量很多,但大多数都具有相似性,因此可以将具有相同 功能的组件设计为a c t i v e x 控件,利用a c t i v e x 控件的封装性和动态连接性来实现 虚拟操作面板上的具有相同功能的组件3 4 1 1 ”】 界面元素构建三个类c r o b 、c m y b u t t o n 、c m y e d i t : c r o b 是用来实现旋转开关。 c m y e d i t 用于实现显示屏。 c m y b u t t o n 来实现方形按钮。 几乎所用的操作,控制都在控制面板上,那么所有的模块都在这里汇集,可 以是指针,实体,用来实现整个机床及加工过程的控制。 设计一个n c p a n e l 类,这个类提供各个控制变量,用于n c 文件检查,机床 参数设置,机床运动控制等等: 1 ) 控制机床运动 m a c h i n e + m a c h i n e c o n t r o l ; 指向机床本体指针,用来控制机床运动 2 ) 与n c 进行交互 c s t r i n gm _ s t r f i l e a l l ; c n c 文件 p r o g r a m n o d en c s e g e m e n t s t r u c t ;编译后生成的中间文件,既用来驱动 南昌大学硕士论文 ,机床n c 代码段。 c y y p e d p t r l i s t + mc u r v e l i s t ; 刀具轨迹链表 3 ) 机床参数 c d a o d a t a b a s em _ d b ; 沌| | 1 m i | | i i | | c d a o t a b l e d e f *mt a b l e ; 机床数据库( 坐标系,刀长,刀径等数据) c d a o r e c o r d s e t + m r e c o r d ; m m m 涵m c s t r i n gm _ p o s l n f o r m a t i o n ;刀具位置信息 4 ) 机床状态等其他控制 p a n e lmp a n e l s t a t e ;,机床状态,处于编辑模式等 w o r k m o d er u n m o d e ;运行模式,循环,单段执行等 2 3 2 几何模块的设计 1 机床本体模型、刀具模型、切削液喷管等复杂几何模型: 这些模型比较复杂,直接采用绘图编程的方法很难实现这么复杂的图形,即 使实现了也需要花费极大的时间和精力,绘制出来的效果也难以达到预期效果。 本文采用一些成熟绘图应用软件如3 d s m a x ,u g ,p r o e 等来实现这些几何模型。本 系统并不能直接调用这些软件生成的几何模型,只能得到这些几何模型的描述性 文件。不的不对这些文件进行研究,找出需要的几何信息,然后转化成程序中能 够使用的几何实体。有一种标准的文件格式3 d s 文件格式,几乎所有的3 d 绘图软件都支持这种文件格式,能转化成这种文件格式。因此,这个模块的工作 便是编写一个文件接口,将3 d s 二进制文件读入转换成o p e n g l 几何实体。构建 的类如下: c l a s sc 3 d s r e a d e r ;3 d s 文件读入类 c l a s sc t r i l i s t ; 生成数据链表( 用来逼近3 d s 图形的小三角形片 壕台) 3 d s 文件中的实体在o p e n g l 3 a 7 境实现过程则为: c 3 d s r e a d e rl o a d e r : c t r i l i s t m _ t r i l i s t ; l o a d e r r e a d e r ( f i l e ,& m t r i l i s t ) : 南昌大学硕士论文 mt r i l i s t d r a w g l o 将机床各个部件几何模型组成个机床类c l a s sm a c h i n e ,这个类包括机床的 各个组件,如床身、主轴等: 床身几何模型 c t r i l i s t l a t h e _ b e d : 主轴头几何模型 c t r i l i s t p r i n c i p a l _ a x i s ; 2 刀具轨迹及零件几何模型: 此模块用于刀具轨迹仿真,验证n c 程序是否正确及显示加工后刀具轨迹几 何模型,可划分为两层: 第一层:基本几何元素层。 点,线,圆弧,平面,直纹面面等几何元素的绘制,点,向量,矩阵的各种 运算等。 在w i n d o u w s 的g d i 编程中可以得到设备环境c d c ,c d c 可以绘制直线, 圆弧,矩形等。在o p e n g l 环境中,可以相似地构造出一个设备环境类,让它绘 制出一些基本的几何元素:直线、圆弧等。这个层里面设计的类如下: c l a s sp o i n t ;点模型 c l a s sc v e c t o r 3 d ;向量模型 c l a s sg l c d c ;设备环境类,即用于直线,圆弧等元素的绘制 第二层:模型建立层。 整个n c 文件形成的刀具轨迹是由各种几何元素构成的,建模即是将各 种几何元素构成一个完整的图形。如加工一个字,字体则是由多条直线构成。 从中可以构建各个几何模型的类如直线( c l i n e ) ,圆弧( c a r e ) , 园( c c i r c l e ) , 直纹曲面( c l i n _ a r e ) 等。各个元素的绘制则调用上一层g l c d c 类中的成员函数。 如直线自我绘制可以写成: p d c - l i n e ( s t a r t ,e n d ) ; p d c 是g c d c 一个实例的一个指针。 整个图形我们用个各种实体互连的一个链表来表示。在c + + 语言中,各 个不相同类的实例互连成为一个链表,只需将各个不同类从一个基类派生出来即 南昌大学硕士论文 司。 整个图形则可以定义为: c t y p e d p t r l i s t m _ p a r t l i s t ; 3 工件模型: 工件模型用于工件切削运动。采用空间分割法对工件模型进行建模。本文只 将工件在x ,y 平面上进行分割,z 方向用t o p 值表示,构建的模型的如下: c l a s sp e x s e l 离散的小方块实体模型 整个工件可表示为:p e x s e lb o x x l y :x y 为工件分辨率 2 3 3运动模块的设计 运动模型有机床本体运动,刀具运动,加工切削运动,属于动画制作过程。 动画可以让一张张相关的图片以较快的速度进行切换,就能能得到连续的运动效 果。相似地,在一定地时间里绘制n 张相关的图片,就能得到计算机动画效果。 先设置一个系统时间,让它不停的刷新画面,接下来的工作就是绘制这些相关的 图片。 图形的绘制,我们把它封装成按参数化形式绘制,我们只要将其参数进行修 改就可以实现动画控制。 比如一个正方体绘制可写成: t r a n s l a t e d ( m _ x ,m j ,m z ) ; d r a w b o x ( 1 e n g t h ,w i d t h ,h i 曲) ; 那么我们只要对m x ,r t l y ,m z 三个变量进行控制,然后让画图模块不 停地按参数绘制即可实现正方体移动动画。 机床运动需要控制变量: d o u b l em x ;i h i i i d o u b l em j ; 位置控 d o u b l er e _ z ; ,制变量 d o u b l em a n g l e ;i 1 1 i d o u b l es d o u b l e f 转速 进给速度 南昌大学硕士论文 接下来的工作需按时间对位置变量进行控制,实现需要的运动。设计一些位 置控制器,如直线、圆弧位置控制器等 c l a s sm o v e c i r c l e 实现圆弧运动计算器 c l a s sm o v e l i n e 实现直线运动计算器 切削运动模块的设计: 切削运动是一个布尔减运算过程,本文建立工件几何模型,对工件模型参数 进行设置即可实现切削动画效果。 c l a s sl i n e b o o l 刀具沿直线运动布尔运算 c l a s sa r e b o o l n 刀具沿圆弧运动布尔运算 2 3 4 编译模块的设计 编译模块主要划分为四个部分:词法分析、语法分析、目标代码生成和出错 处理。编译过程是输入数控d n i 程序,输出目标代码或错误信息。本系统采用逐 行扫描方式,以词法分析程序和语法分析程序为核心,出错处理作为一个独立的 过程,目标代码的生成则在错误为零的情况下生成。 设计一个编译类c o m p i l e 。 输入:c s t r i n gm _ n c c o d e ;- - 段n c 代码 功能函数: w o r d c h e c k ( 、词法检查 s y n t a x c h e c k ( ) 语法检查 输出:c s t r i n ge r r l n f o 错误信息 操作数据对象 p r o g r a m n o d en c s e g e m e n t s t r u c t ;编译后生成的中间文件。 c t y p e d p i r l i s t + m _ c u r v e l i s t :生成的刀具轨迹链表 2 3 5 监测反馈模块的设计 机床参数系统的设计: 1 ) 设计一个后台数据库c d a o d a t a b a s em d b ,后台数据库使用微软公司的 南昌大学硕士论文 a c c e s s g l l 作: 2 ) 所有的变量设计一个m a c h i n e s t a t e 类来集中进行管理。 3 ) 状态监测,设计一个类r u n e r r c h e c k ,实现功能包括非法报警,工件与刀 具干涉,非法操作,越程等。 南昌大学硕士论文 第三章系统的几何模型 系统的几何模型用来构造整个系统的几何体,它包括机床零部件几何体、刀 具轨迹几何体及工件几何体。机床领部件、刀具轨迹几何体、工件几何体各有各 的特点:机床零部件几何体非常复杂,刀具轨迹几何体则由c n c 程序产生具有 很大的变化性,工件几何体需要面对布尔运算。因此,要对不同的几何体进行具 体的分析,找出合适的造型方法。 3 1 机床,刀具等复杂模型建模分析 本系统是在o p e n g l 平台下完成的,o p e n g l 只提供了一些简单的图形库函 数,如直线,小三角片函数等,稍微复杂的一些的图形如圆,弧面则需要研发人 员自行开发。机床,刀具等这样复杂的几何模型,直接采用绘图编程的方法显然 是很难实,即使实现了也需要花费极大的时间和精力,绘制出来的效果也很难以 达到预期效果。在设计编写程序时,编写大量的绘图语句,也增加程序设计的复 杂程度和工作量,并且,通用性和简便性很难满足,对系统的开发极为不利。 一些大型的软件,如p r o e 的造型,是以o p e n g l 为基础的,模型的数据可以 直接利用 3 8 1 。从程序的设计和系统的开发方面来看合适的三维模型数据结构,对 数据的存储、程序的运行、模型库的扩充都是非常有利和必须的 3 9 ,。 最常用的三维模型数据的保存方法是多边形逼近的方法,即用许多小的多边 形来拼合模型的外观,文件中保存这些多边形的信息。o p e n g l 恰好能实现这些 最基本元素绘制的方法,如三角形面片的方法,因此,从三维图形数据文件中读 取模型数据,在o p e n g l 中可以直接绘制,不需要进行二次造型,显得非常简便 4 3 1 1 4 4 1 。 因此,本文采用一些成熟绘图应用软件如3 d s m a x ,u g ,p r o e 等来实现这些几 何模型。当然,并不能直接调用这些软件生成的几何模型,只能得到这些几何模 型的描述性文件。因此,必须对这些文件进行研究,找出需要的几何信息,然后 转化成程序中能够使用的几何实体。可以使用一种标准的文件格式3 d s 文件 格式,几乎所有的3 d 绘图软件都支持这种文件格式,或能转化成这种文件格式 1 4 7 1 。因此,本模块的:l j 作便是编写一个文件接1 3 ,将3 d s 二进制文件读入转换 成o p e n g l 儿何实体。 南昌大学硕十论文 3 1 13 d s 文件格式 3 d s 的文件格式主要是由一些叫做c h u n k s 的数据块组成。这些数据块又由 两部分组成:一部分是标示自身的i d 以及描述本数据块的组成;另一部分用于 定位下一个数据块的位置。下一个块的指针用字节表示,并且是相对于当前块的 开始位置而言的。3 d s 文件中的二进制信息使用一种特殊的格式书写的,例如: 在4 a 5 c ( 用十六进制表示的两个字节) 中,5 c 是高位字节,4 a 是低位字节。在 长整形的表示中,如:4 a 5 c 3 8 8 f 中,5 c 4 a 是低位字,而8 f 3 b 是高位字。所 以对一个c h u n k 而言,它的定义格式如表3 - 1 所示。 表3 - 13 d s 文件中c h u n k 的定义格式 开始位置结束位置大小名称 012块的i d 号 254 指向下一个i d 块的位置,即本块的大小 c h u n k s 块通过它的i d 形成了一系列的c h u n k 的层级结构,在c h u n k 下还 包含了各种子块s u b c h u n k s 。首先,一个3 d s 文件拥有一个p r i m a r y c h u n k ( 初始 块) ,它的i d 是4 d 4 d h ,这总是3 d s 文件的第一个数据块。在p r i m a r y c h u n k 中 是一些m a i n c h u n k s ( 主块) 。图3 1 就是3 d s 模型文件的一些主要块结构。 南昌大学硕士论文 m a i n 3 硝( 0 x 4 1 3 4d ) i + 一- e d i t 3 e 6 ( 0 x 3 d 3d ) 一e d i t m a t e r i a l ( 0 x a f f f ) e d i t c o n f ! g i( 0 x 0 1o o ) 一e d i t c o n f i g 2 ( 0 x 3 e 3d ) - e d i t v i e w p i ( 0 x 7 0 12 ) 一e d i t v i e w p 2 ( 0 x 7 0 1 i ) - e d i t v i e w p 3 ( 0 x 7 0 2 0 ) 一e d i t v i e w i ( 0 x 7 0 0 1 ) 一e d i t b a c k g r ( o x l 2 0 0 ) 一e d i t a m b i e n - ( o y 晓10 0 ) 一e d i t o b j e c t( 0 1 x 4 0 0 0 ) + - o b j t r i m e s h( o x 4 10 0 ) + 一一t r i v e r t e x , + - - t r i v e r t e x o p t i o n s + t r i m a p p i n g c o o r s + 一一t r i m a p p i n g s t a n d a r d + 一一t r i f a c e l i + 。 j + + 一 + 一t r is m o a t h + t r im a 丁e r i a l t r il o c a l t r iv i s i b l e o b j l i g h t( 0 x 4 6 0 0 ) 一一l i to f f + 一一l i ts p o t + u - ru n k n w n o i o b j c a m e r a( 0 x 4 7 0 0 ) 图3 - 13 d s 模型文什块结构 7 ( 0 x 4 110 ) ( 0 x 4 1 i i ) ( 0 x 4 14 0 ) ( 0 x 4 17 0 ) ( 0 x 4 12 0 ) ( 0 x 4 15 0 ) ( 0 x 4 13 0 ) ( 0 x 4 16 0 ) ( 0 x 4 16 5 ) ( 0 x 4 6 2 0 ) ( 0 x 4 6 10 ) ( 0 x 4 6 5a ) - 一 - - - + + + + + + + + + +l 南昌大学硕士论文 由上面的3 d s 的层级结构,可以知道3 d s 格式是以文本格式来存储三维物 体的,其格式主要由以下几种基本元素构成: 1 ) 0 x 4 d 4 dm a i n c h u n k m a i n c h u n k ( 也就是p r i m a r y c h u n k ) 事实上是一个完整的文件,它的大小是整 个3 d s 文件剪去m a i n c h u n k 的文件头;一共存在两个m a i n c h u n k ,就是 e d i t o r c h u n k 和k e y f r a m e r c h u n k 2 ) 0 x 3 d 3 d f x l i t o r c h u n k 在e d i t o r c h u n k 中主要包含了材质块( e d i t m a t e r i a l ) 、对象块 f e d i t o b j e c t ) 以及一些视口信息: 3 ) 0 x 4 0 0 0o b j e c t b l o c k ( 对象块) 在对象块( e d l t o b j e c t ) 中主要包含了三维模型的三角网格 ( o b j e c t r i m s h ) 信息、一些光, , t 擐, , ( o b j l i g h t ) 信息和摄影机( o b j c a m ) 信息; 4 ) 0 x 4 1 0 0 t f i a n g u l a r m e s h ( 三角网格) 在三角网格数据块( o b j t r i m s h ) 中集中了三维模型的大部分几何信息,如: 顶点、面、面材质、贴图坐标、面光滑组、坐标变换、对象的可见性和纹理映射 等; 5 ) 0 x 4 11 0v e r t i c e s ( 顶点集) 在t r w e r t e s l 数据块中,各个顶点的三维坐标以x 、y 、z 坐标形式给出, 具体分配如表3 2 所示。 表3 23 d s 模型中顶点的定义格式 开始位置结束位置 大小数据类型名称 o12 无符号正数物体顶点数 254 浮点数x 坐标值 694 浮点数y 坐标值 1 01 3 4 浮点数z 坐标值 由表2 可知,3 d s 模型的顶点是由三维模型绘制空间中的x 、y 、z 三个分 量来定义的,通过模型对象名、模型中三角网格平面的序号、平面内的定点序号 这样一个层次模型结构,最终可实现对平面各个顶点的程序控制。 6 ) 0 x 4 1 2 0f a c e sf 面) 南昌大学硕士论文 在t r i f a c e 中主要包含了多边形的总数、定义一个三角面的各个顶点序号 以及其它的一些面信息,具体分配情况见表3 3 。 表3 33 d s 模型中三角面的定义格式 开始位置 结束位置大小数据类型名称 物体中的三角形数 o 12 无符号数 ( p o l y n u m ) 232 无符号数 顶点a 的序号 452 无符号数 顶点b 的序号 6 72 无符号数 顶点c 的序号 89 2 无符号数 面信息 在3 d s 文件中,模型都是用一系列的三角网格构成,这些三角网格就是一 个个的小三角形平面,每个三角平面都由三个有序的定点来定义,顶点的顺序影 响面的法线方向。一般情况下三角形应按逆时针方向定义,通过编程取得平面的 序号和各个顶点的序号后,我们就可以对模型的面进行交互操作了。 3 1 23 d s 文件读入的实现 整个过程是个数据转换过程,将二进制文件转换成需要的数据模型。首先打 开打开一个3 d s 文件,以二进制的方式。循环所有的3 d s 文件块,抛弃一些无 用的块,然后一个个子块进行遍历,调用相应的块读入函数。需要部分关键函数 如下: 块读入函数,将块的内容读入块结构中; r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文库发布:入门课件
- 健康扶贫政策知识培训班课件
- 伤口换药课件
- 北京市顺义区2023-2024学年九年级下学期中考第二次模拟考试历史考点及答案
- 高校创意园管理办法
- 2025年应知应会知识考试题库及答案
- 跨境经营平台管理办法
- 窃听窃密案件管理办法
- 网络出版许可管理办法
- 出租账户课件
- 区县应急广播管理制度
- 心肺复苏应急试题及答案
- 露营股份合作协议书
- 订购白酒居间合同协议
- 教师培训系列讲座:人工智能赋能教育教学
- 光伏备案合同协议
- 法考历年真题答案2024
- 西柏坡的故事与红色教育
- 学生欺凌治理委员会
- 2025年数控铣工技能竞赛参考试指导题库500题(含答案)
- (2024新版本)人教版七年级上册历史全册教案
评论
0/150
提交评论