(机械制造及其自动化专业论文)立式数控铣削仿真工系统研制.pdf_第1页
(机械制造及其自动化专业论文)立式数控铣削仿真工系统研制.pdf_第2页
(机械制造及其自动化专业论文)立式数控铣削仿真工系统研制.pdf_第3页
(机械制造及其自动化专业论文)立式数控铣削仿真工系统研制.pdf_第4页
(机械制造及其自动化专业论文)立式数控铣削仿真工系统研制.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(机械制造及其自动化专业论文)立式数控铣削仿真工系统研制.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

苏州大学学位论文使用授权声明 f 剐m f y 19 0 9 斟4 芎 本人完全了解苏州大学关于收集、保存和使用学位论文的规定, 即:学位论文著作权归属苏州大学。本学位论文电子文档的内容和纸 质论文的内容相一致。苏州大学有权向国家图书馆、中国社科院文献 信息情报中心、中国科学技术信息研究所( 含万方数据电子出版社) 、 中国学术期刊( 光盘版) 电子杂志社送交本学位论文的复印件和电子 文档,允许论文被查阅和借阅,可以采用影印、缩印或其他复制手段 保存和汇编学位论文,可以将学位论文的全部或部分内容编入有关数 据库进行检索。 涉密论文口 本学位论文属 在年一月解密后适用本规定 非涉密论文囱 论文作者签名: 导师签名: j 盎坠挚日 o p e r 小i l e ( 1 p s z p a t h n a m e ) ) r e t u mt r u e ; r e t 啪t r u e ; b o o lc m y 3 d s l o a d e r a p p :o p e n f i l e ( l p c t s t rl p s z p a t h n 锄e ) g e 认c t i v e v i e w ( ) ) 一 o p e n f i l e ( 1 p s z p a m n 锄e ) ; ) ( ( c f r 锄e w n d ) u p m a i n w n d ) - g e 认c t i v e e w ( ) 获得一个指向 c m y 3 d s l o a d e r v i e w 类指针, 由于o p e i l f i l e 函数在c m y 3 d s l o a d e r v i e w 中被重载,所以调用 c m y 3 d s l o a d e r e w :o p e n f i l e 。 b o o lc m y 3 d s l o a d e r e w :o p e n f i l e ( l p c t s t rl p s z p a t h n 锄e ) c h a r f i l e = n e wc h a r 【s 仃l e n ( 1 p s z p a t h n 锄e ) 】; s t r c p y ( f i l e ,l p s z p a t h n 锄e ) ; c 3 d s i 沁a d e rl o a d e r : b o o lr e s u l t ; 坂n l - t r i l i s t g e t n u m o b j e c t s ( ) 0 ) m j r i l i s t r e m o v e a l l o b j e c t s ( ) ; 清空数组 r e s u l t = l o a d e r r e a d e r ( 矗l e ,& m j r i l i s t ) ; i f ( r e s u l t ) r n _ 3 d s l o a d e d = t r u e ; 第3 章虚拟加_ 丁机床三维建模 立式数控铣削仿真加丁系统研制 m j r i l i s t d o a r e r m a t h ( ) ; ) r e t u mr e s u l t ; 调用l o a d e r r e a d e r 读入3 d s 文件 b o o lc 3 d s r e a d e r :r e a d e r ( c h a r 奉f i l e n 锄e ,c t r i l i s t j i s t ) f i l e 邱; l o n gf i l e s i z e ; c h u l l l ( 3 d sc h u r l l 【; d a l i s t = j i s t ; 以“二进制”的方式打开一个3 d s 文件 i f ( ( 印= 矗叩e n ( f i l e n a m e ,”r b ”) ) ! = n u l l ) l o n gc h u n k s t 砒= 髓l l ( f p ) ; 获得文件大小 f s e e k ( 币,o ,s e e k n d ) ; f i l e s i z e = r e l l ( 币) ; f s e e k ( 币,o ,s e e k 。s e t ) ; 验证文件类型 i f ( ! i s 3 d s f i l e ( f p ) ) r e t 啪f a l s e ; ) 循环所有的块 w l l i l e ( c h u n k s t a r t g e t s a f e h d c ( ) ) ; 交互缓冲区 r e t 哪t l u 厄; 调用d m w 3 d s ( ) ; v o i dc m y 3 d s l o a d e r e w :d r a w 3 d s o 立式数控铣削仿真加t 系统研制第3 章虚拟加t 机床三维建模 i f ( m 一3 d s l o a d e d ) h l - 脚l i s t d r a w g l ( ) ; ) ) 调用c t r i l i s t :d r a w g l ( ) 函数 v o i dc t r i l i s t :d r 乏l w g l ( ) f o r ( i n ti _ o ;i d r a 、v g l o ; ) ) 转而调用c t n o b j e c t :d r a w g l ( ) 建模 v o i dc t r i o b je c t :d r a w g l ( ) i f ( n o 肌a l a p p l i e d ) i n t j ; g l b e g i n ( gl 删a n g l e s ) ; f o r ( i - 0 ;i g l e n d ( ) ; ) e l s e g l b e g i n ( g l j t r j a n g l e s ) ; f o r ( i - 0 ;i n 啪f a c e s ;i + - 3 ) i f 【m a t e r i a l s 印p l i e d ) g l c o l o r 3 坟m a t e r i a l s m a t f - a c e s 【i 3 】 d i f m s e c o l o r 【o 】, m a t e r i a l s m a t f a c e s 【i 3 】d i 觚s e c o l o r 1 】, m a t e r i a l s 【m a t f 犯e s i 3 】d i 伍l s e c o l o r 【2 】) ; e l s eg l c o l o r 3 f i 0 o 0 o 1 0 f ) ; g l v e r t e x 3 f i x 【e s i 】, y 【f a c e s i 】,z 【f a c e s i 】) ; g l v e r t e x 3 f 【x 【f a c e s 【i + l 】, y 【f a c e s i + l 】,z 【f a c e s 【i + 1 】) ; g l v | e r t e x 3 坟x 【f a c e s 【i + 2 】,y f a c e s 【i + 2 】, z f k e s 【i + 2 】) ; g l e n d ( ) ; ) g l p o p m 2 r t r i x o ; ) 至此,程序读入3 d s 文件过程基本清晰。 3 4o p e n g l 绘制图形 读取到模型的数据后,下图3 5 显示了o p e n g l 绘制图形的基本流程:程序 从图中的左侧进入,经过一系列的运算处理,将几何顶点数据和图像像素数据加 工后生成待显示的帧。o p e n g l 首先将所有数据( 包括几何顶点数据和图像像素数 立式数控铣削仿真加丁系统研制第3 章虚拟加t 机床二三维建模 据) 存储在一个显示列表中,稍后一次性进行处理。处理管道的求值阶段,通过 输入数据的求值多项式,提供了一种高效的方法来近似的绘制几何曲线和曲面。 然后再进行对每个顶点的操作和图元组合,以及对顶点进行变换和光照处理,对 图元进行裁减以适合视区大小。【3 7 】 if l 俯俪占特堆l- j 釜笛翼1 i 顶点操作l 一一似栅i pl j 逐个片段 i 儿1 u j 删 姒硒广1 也舁丽ljr i 图元列表广1 儿科叱r l 操作列表j + l 显示列表卜 l 图像像素数据 l像素操作 一纹理映射 图3 5 o p e n g l 基本工作流程 在光栅化的过程中,通过点、线段、多边形的二维描述,产生一系列的帧缓 存地址和相关数值。并将所有片断都进行逐个片元操作,然后将处理结果作为像 素存储在帧缓冲区。其中的操作包括:基于输入和先前存储的z 值对帧缓冲区进 行有条件的更新,混合输入像素颜色与存储颜色、屏蔽等其它对像素值的逻辑操 作。当输入数据是像素数据时,这类数据将跳过上述处理中的“运算器”,作为像素 值直接在像素操作阶段进行处理。 在真实世界里,所有的物体都是三维的。但是,这些三维物体在计算机世界 中却必须以二维平面物体的形式表现出来。实际上,从三维空间到二维平面,就 如同用相机拍照一样,通常都要经历以下几个步骤( 括号内表示的是相应的图形 学概念) : 第一步,视点变换( e “n gt r 锄s f o n l l a t i o n ) 。视点变换就是移动视点,相当 于按相反的方向移动物体。类似于在照相的时候改变相机的位置来选择要拍摄的 景物或物体,可以通过改变相机和物体的距离来决定拍摄物体的大小,也可以旋 转相机来调整所拍物体的角度。视点变换在视点坐标系中进行,坐标系遵守左手 法则。视点变换可以把观察点放到任何期望的位置上,从任何方向进行观察; 第二步,模型变换( m o d e l i n gt r a n s f o n n a t i o n ) 。模型变换用于处理模型和模型 内的特定对象。【3 8 j 在o p e n g l 中模型变换包括有物体平移、旋转和缩放变换。在 照相的过程中,相当于使要拍摄的物体在取景框中处于合适的位置。模型变换相 当于视点变换的反变换,在计算机图形学中它们都被称为几何变换。模型变换在 世界坐标系中进行,坐标系遵守右手法则: 第3 章虚拟加t 机床三维建模立式数控铣削仿真加工系统研制 第三步,投影变换( p r o i e c t i o nt r a n s f o 姗a t i o n ) 。投影变换定义了一个观察空 间,即限定观察坐标系在屏幕上的显示范围。在o p e n g l 中,投影变换分为两种, 即平行投影和透视投影,这两种投影变换定义了不同的观察空间。正射投影使所 有物体在绘制时使用的恰好是指定的相对尺寸,而透视投影使物体看起来比近处 的物体更小。投影变换的作基于o p e n g l 的数控车削仿真系统的研究用类似于对 相机调焦; 第四步,视口变换( e 、 ,p o r tt r 锄s f o m l a t i o n ) 。把投影变换所定义的观察空间 中的内容对应到二维的屏幕窗口上。类似于按希望的尺寸洗印相片,决定最终照 片的尺寸的大小。 o p e n g l 中除了定义以上这四种变换【3 9 4 们,还允许在三维场景中定义附加的裁 剪平面,即进行裁剪变换。三维图形的显示流程如图3 6 所示。 3 5 本章小结 图3 6 三维图形的显示流程 本章主要讨论了数控机床三维模型的建立与读取,采用3 d s m a ) 【建模软件对 系统中用到的三维模型进行建模,然后以3 d s 格式输出,在此结构基础上,开发 直接读取内部有效数据的程序,并在v c + + 环境下利用o p e n g g l 绘制图形。其中 着重讨论了3 d s 格式文件的内部结构及读取方法,编程实现了3 d s 模型的重绘。 3 0 立式数控铣削仿真加工系统研制第4 章数控铣削力| i 丁动态仿真 第4 章数控铣削加工动态仿真 前一章介绍了数控机床和刀具几何实体的三维建模,本章重点研究仿真系统 铣削加工动态仿真,包括仿真算法选择、毛坯加工离散化以及仿真实现方法分析。 数控加工过程仿真的实质是从工件上减去刀具运动的扫描体的过程,工件和刀具 几何数学模型的建立是实现这一过程的基础和前提。 4 1 毛坯离散化和毛坯绘制 三维数控铣削加工具有以下特点:( 1 ) 只有毛坯的上表面是加工表面;( 2 ) 平行于刀轴的一条直线与加工的毛坯上表面的交点有且仅有一个( 对于有通孔的 零件也可以补上一张假想平面,使得毛坯上表面连续) ;( 3 ) 毛坯的上表面通过 每一点的不同高度来表达加工零件的表面形状。因此,采用最简单的三角片离散 法:将上表面离散为均匀点阵,再将这些点阵连接为三角片矩阵。程序运行时不 断地按照刀具路径修改上表面点阵的高度,再进行真实感渲染就可以达到实时显 示加工过程的效果。【4 i 】 基本原理如下:将上表面离散成均匀的点阵,并连成三角片,如图4 1 所示。 根据数控程序产生的刀位信息文件,计算出z 方向高度应该改变的点,并修改其 高度;然后重新计算三角片的法矢:最后根据新的点和法矢绘三角片并进行渲染, 实现铣削的实时建模。 z 0 图4 一l 毛坯上表面三角片离散示意图 一个精细的离散往往包含2 0 0 万个三角片,但是在切削计算过程中,受影响 的三角片可能只有几万个。如果每次在o p e n g l 处理真实感的过程中,将2 0 0 万 个三角片的法矢都重新计算,那将是一个漫长的过程。通过记录数组就可以减少 加工仿真过程中的浮点运算次数,从而提高仿真的效率,这个效率提高是十分明 3 l 第4 章数控铣削加t 动态仿真立式数控铣削仿真加t 系统研制 显的。另外,在作各点切削状态判断的时候,可以通过优化程序以达到减少浮点 运算次数的目的。【4 2 4 6 】 图4 2 工件的非均匀离散网格模型 三轴铣削加工采用基于三角网格的离散方法,具体步骤如下: s t e p l :初始化工作,包括:综合考虑显示速度与精度,将待加工毛坯表面离 散为密度合适的均匀网格节点( 这些网格节点连接成为三角网格) ;刀具绘制;刀位 轨迹计算等。 s t e p 2 :根据刀具移动轨迹、刀具种类计算刀具扫描域和刀具扫描面。 s t e p 3 :循环扫描毛坯表面每一个节点,判断它是否位于刀具扫描域中以及是 否与刀具扫描面相交( 以此判断毛坯这一点是否被刀具切削) ,从而修改网格节点 的y 坐标值( 世界坐标系) 。 s t e p 4 :根据网格节点坐标值,分六部分绘制工件三维模型。 这样随着刀具的不断地移动,完成加工过程动态仿真。可以看到,整个算法 大体可分为三部分:毛坯离散化( s t e p l ) ;判断、计算过程( s t e p 2 和s t e p 3 ) ;毛 坯绘制( s t e p 4 ) 。 4 2 数控铣削加工过程动态仿真算法 实现工件连续切削加工过程的动态仿真一直是数控仿真系统的一个难点。国 内外在这方面进行深入的研究,目前基本以基于实体的仿真和离散仿真两大类仿 真方法为主。基于实体的仿真方法根据仿真中实体表示方法的不同,又可分为c s g 仿真和边界表示法( b r e p ) 仿真。基于实体的仿真方法可以提供三维形体最完整 的几何和拓扑信息,能够进行准确的过程仿真和刀位轨迹验证,但是这种方法无 法避免复杂的实体模型表示和布尔运算,对于加工代码量很大的复杂零件进行加 工仿真,计算量巨大,相当耗时。为了避免这些缺点,提高仿真的效率,许多研 3 2 立式数控铣削仿真加工系统研制 第4 章数控铣削加丁动态仿真 究者对各种离散的仿真方法进行了大量的研究,并开发了相应的系统。本文系统 应用了基于离散方法的仿真技术。 1 基于图像空间离散法的动态仿真 v 抽h o o k 于1 9 8 6 年提出了一种采用图像空间离散法实现加工过程动态图形仿 真的方法,他使用z - b u 腩r 消隐思想,将实体按图像空间的像素( p i x e l ) 离散。该 算法的具体思想是:将工件和刀具都按照垂直于屏幕方向的一个视线方向根据屏 幕的像素进行离散:在每一个屏幕像素上,刀具和毛坯表示为一个长方体,称为 d e x e l ( 深度元素) 结构,d e x e l 结构中的信息包括最近的z 值、最远的z 值、最 近处的颜色、最远处的颜色以及指向下一个d e x e l 结构的指针;刀具切削毛坯的过 程就变为一维视线方向上两套d e x e l 数据结构之间的布尔运算过程。 目前国际上一些软件( 如p r o e 、u g 、i d e a s 等) 均利用扩展z 缓存数据结 构的d e x e l 法来完成实时数控加工仿真。 图像空间离散法使计算简化为实体的图像空间模型之间在视线方向上的一维 布尔运算,较好地解决了实时性问题。但是d e x e l 法表示的工件是以像数据结构存 在的,没有任何实体空间描述,因而图形生成质量较差。而且由于每一个d e x e l 结构都与一个给定的视向相关,只要视点确定以后,数据结构也就确定了,仿真 过程就在这个数据结构上执行,因此数据结构的生成只与视线方向有关,改变视 点需要重新计算数据结构,所以该方法不适合任意视角观察被加工实体 2 基于物体空间离散法的动态仿真 采用基于物体空间的离散法实现加工过程动态仿真的研究比较多。j e 聊d 提出 了一种基于物体空间离散的仿真方法,他将工件曲面按一定精度离散成一系列的 网格点,采用z 缓冲算法将网格点z 坐标值与铣刀z 深度比较,从而仿真刀具的 切削过程。 o l i v e r 等开发了一个象空间验证系统,算法分三个模块:一是离散化模块,即 把待加工模型离散成足够密的曲面网格并得到网格法矢。第二个模块是定位模块, 即对每次刀具移动抽取发生变化的离散点和法矢。第三个模块是求交模块,即将 抽取的离散点法矢与扫描体求交。 台湾的h u sp l ,y 觚gw t 也采用了基于物理空间的离散方法,他将毛坯细分 为一系列的小立方体,刀具和毛坯的求交运算转变为判别小立方体是否和刀具接 触,从而确定小立方体是否保留显示,和刀具接触的小立方体都在下一次显示时 3 3 第4 章数控铣削加r t 动态仿真立式数控铣削仿真加t 系统研制 被删除不显示,这样来达到改变毛坯形状的目的将工件表面离散成一系列三角网 格也是一种比较常用的基于物理空间的离散方法。在国内,北京航空航天大学、 西北工业大学、南京航空航天大学、华中科技大学、同济大学、东北大学和大连 铁道学院等单位也都展开了基于三角网格的数控仿真实现方法的研究,取得了许 多成果。采用该方法实现三轴数控加工仿真基本思想为:首先按精度将工件表面 离散为一系列的三角网格;然后判断工件表面三角面片顶点是否与刀具扫描面相 交,并根据刀具扫描面修改各三角片顶点高度,其中重点是根据刀具路径计算刀 具扫描面;最后对三角网格进行真实感渲染。基于三角网格的物体空间离散法己 经比较成熟,并且也已经被成功应用于数控仿真的实现中。 基于物体空间的离散方法有一个显著的优点:它能很好地推广到数控加工验 证和误差分析,而基于图像空间离散法的数控仿真因为原始数据都已转化为像素 值,像素空间布尔运算并不精确,不易进行精确的检测,使仿真验证有很大的局 限性。 4 2 1 材料切除过程仿真算法 在毛坯离散化后,要进行一系列的判断、计算过程,从而修改上表面节点的y 坐标值,实时再现被加工毛坯的形态,实现铣削加工过程仿真。其中,有关刀具 扫描面的计算一直是数控仿真实现的重点。【4 3 】 在我们铣削仿真加工中,主要是三种刀具:球头刀、平底刀、环形刀。图4 3 所示为三种刀具的统一模型。三种刀具分类为:f r 时为球头刀,r r 时为环 形刀,间时为平底刀。 图4 3 刀具模型 在本论文中,我们主要针对球头刀的铣削加工仿真。 立式数控铣削仿真加工系统研制第4 章数控铣削加t 动态仿真 4 2 2 刀具扫描域计算 机床数控系统对n c 代码进行插补处理,在程序起点和终点之间进行数据点的 密化,最终得到的刀具运动轨迹均为连一系列连续的微小直线段,如图4 4 中的 a b 线段。图中球头刀沿着a b 轨迹移动,设轨迹的起点和终点坐标分别为a ( x 。、 y 。、z a ) 、b ( x b 、y b 、z b ) 。球头刀沿刀位轨迹移动所扫掠过的立体空间称为刀具扫 描体;刀具扫描面就是刀具自身( 即刀具原体) 表面在空间运动过程中形成的包 络面;刀具扫描域就是刀具移动时刀具扫描体在x z 平面的投影。 头刀沿 o 均 脚投- x x 图4 4 球头刀运动分析图 判断毛坯表面节点是否被加工,首先要判断毛坯节点是否位于刀具扫描域中。 如上图所示,a ( x a 、z a ) 、b ,( x b 、z b ) 为a 、b 在x z 面内的投影,刀具扫 描域一般根据形体特点被分为三个部分:起始和终止部分为半圆图形,中间矩形 部分( 阴影部分) 。图中矩形a l a 2 8 2 b l 为刀具扫描域包围矩形。 包围矩形是交互图形软件设计中一个重要概念,是指能包围图元的最小矩形。 在交互图形软件设计中,一般采用两步判别法拾取图元。第一步是粗判,判断拾 取点是否落在图元的包围矩形中;如果拾取点落在图元的包围矩形中,则进一步 判断拾取点与图元之间的关系,从而确定图元是否被拾取,这样可以大大减少计 算量,提高拾取效率。为了加快判断速度,我们将毛坯节点对应拾取点,刀具扫 描域对应图元,也采用两步判别法判断毛坯节点是否位于刀具扫描域中。 首先判断刀具节点是否位于刀具扫描域包围矩形中,刀具扫描域包围矩形 第4 章数控铣削加工动态仿真立式数控铣削仿真加工系统研制 a l a 2 8 2 b l 的数学表达式为: lm i n ( 艺一r ,一尺) x m a x ( 吒+ r ,+ r ) 【m i n ( z 二一尺,乙一尺) z m a x ( z 二+ 尺,z 6 + 尺) 只有位于刀具扫描域包围矩形内的节点才进一步判断它是否位于刀具扫描域 中。 刀具运动方向为: 彳b = ( 一吒,一z n ,此一乙) = ( 毛,如,包) 球头刀刀具切削扫描面是一个空间规则的曲面,分为3 部分:起始部分、终 止部分均为l 4 球面,中间部分为一个半径为r 的半圆柱面。则刀具扫描域数学 表达式为( 假设x 。 x b ) : f ( x 一艺) 2 + ( z 乞) 2 r 2 起始部分1x 而一譬( z 一乙) i 坠羔坚嬖墨2 盟尺: 中间部分 白2 + 巧 i 艺一鲁c z z 二, x 而一鲁c z 一2 j , f ( x 一) 2 + ( z z 6 ) 2 尺2 终止部分1x 一争( z z 6 ) 循环扫描工件上的离散节点,判断每一个节点与刀具扫描域。如果节点处于 刀具扫描域中,则进行节点数据修改。 睁 厂 、 。 l o l l f , l j _ 一, ,一。 r , 。 j , 一r 一一 r ,一。 j 。1 , 工 , , i 、 vl 图4 5 刀具扫描体投影 3 6 立式数控铣削仿真加t 系统研制第4 章数控铣削加t 动态仿真 图4 5 包围盒内的点分为三类:扫描体包围盒中的点( 例如图中的g 点) , 在扫描路径上的点( 例如图中的i 点) ,在扫描路径始末端的点( 例如图中的k 、 h 点) 。首先,判断包围盒内的点到直线o 1 0 2 的距离是否大于刀具半径r ,如果大 于r ( 例如g 点) ,就肯定不在扫描体中。第二步判断点在直线o 1 0 2 上的投影点 到o l 与0 2 的距离比九,如果0 奴 l ,那么该点就应该在扫描路径上( 例如i 点) ; 如果水0 ,须查对该点在x o y 平面上的投影到o l 距离,如果该距离小于或等于刀 具半径,可判断该点在扫描体的起始端( 例如k 点) ,否则,该点不在扫描体内; 如果胗l ,则查对该点到0 2 的距离,如果该距离小于或等于刀具半径,可判断该 点在扫描体的末端( 例如h 点) :否则,该点不在扫描体内。如此循环可以找到每 一刀步包含在扫描体内的所有离散数据点。 毛坯离散化的过程中,离散精度或者说网格节点密度的选择,直接影响到毛 坯的显示。图4 6 所示为不同离散精度下毛坯绘制显示结果比较图。a 图精度低, 则毛坏图形粗糙:b 图精度高,图形显示效果就好。 ( a ) ( b ) 图4 6 毛坯显示效果比较图( 不同的离散精度) 4 3 仿真动画实现 4 3 1 动画实现技术分析 动画是一系列的图像以足够快的速度显示的过程。人类视觉的暂存现象是动 画看起来是连续的。比如,电影就是连续放映的胶片图像。 计算机动画也是连续绘制的图像,通常将每一个动画画面称为一帧图像,动 画的显示是以时间为基准的。每秒显示大于1 5 帧的动画播放看起来是连续的,电 影的标准是2 4 帧,电视为2 5 3 0 帧。 计算机通过连续时间变化的画面完成动画生成。 本文采用o p e n g l 的双缓存技术来实现动画控制。o p e n g l 是在帧缓存中存储 3 7 第4 章数控铣削加t 动态仿真 立式数控铣削仿真加t 系统研制 和操作象素数据的。帧缓存是由多个缓存组成的逻辑集,这些缓存包括颜色缓存、 深度缓存、累积缓存和模板缓存。程序把帧缓存看成是两个视频缓存,在任意时 刻,只有两者中的一个内容能被显示出来。当前可见的称为前台视频缓存,不可 见的称为后台视频缓存。当后台视频缓存中的内容要求显示时,o p e n g l 将其拷贝 至前台视频缓存。显示硬件则不断地读取前台视频缓存中的内容,并把结果显示 在屏幕上。 在双缓存模式下,位平面被分为前台位平面和后台位平面。只有前台位平面 被显示,因此绘制函数的场景首先被写向后台平面。当完整的画面在后台视频缓 存中画出以后,调用s w 印b u 艉r s ( ) 函数,使其成为可见视频缓存,等到下一次 屏幕更新后即可完成动画显示。 4 3 2 仿真动画的优化输出 数控加工仿真要求较高的真实感和临境感,通过以下三个部分利用o p e n g l 优秀的图形真实感处理策略来尽量达到此目的。 1 采用透视投影,实现立体感 计算机图形的要点就是创建三维物体的二维图像( 图像必须是二维的,因为 它是在平面的屏幕上显示的) 。但是,当我们决定怎样在屏幕上绘图时,必须使用 三维坐标的方式来考虑,需要深入计算机内部的三维空间中创建模型,让计算机 去计算哪些像素需要绘制。 2 定义光源、材料和光照模型属性,渲染光照物体 事实上,如果没有光照绝大多数物体看上去甚至不像是三维物体。图4 7 显 示了同一个场景( 一个球体) 的两个版本,其中一个有光照,另一个则没有光照。 没有光照的球体看起来和维的网蒲没什么两样。 图4 7 有光照和无光照的球体 立式数控铣削仿真加t 系统研制第4 章数控铣削加工动态仿真 o p e n g l 的光照模型分为4 种:环境光、散射光、镜面光和发射光。这4 种成 分都可以单独进行计算,并叠加在一起。0 p e n g l 的光照模型根据材料所反射的红、 绿和蓝光的比例来模拟它的颜色。 和光一样,材料也具有不同的环境、散射和镜面颜色,它们决定了材料对红、 绿和蓝光的反射率。 光源模型设置后,接着设置材质属性,我们为场景中不同的物体设置不同的 材质。工件的材质设置尤为重要,一般设定为带有金属光泽。 3 混合、半透明效果设置 “混合 是指把源颜色和目标颜色进行混合。通过改变每个对象与场景混合 的比例,实现窗户、玻璃等特殊的显示效果。 4 采用纹理贴图表现图形细节 机床上的控制面板以及文字如果直接进行绘制,无疑是工作的浪费。利用 o p e n g l 的二维纹理贴图方法把b m p 格式图片映射到目标物体上,可以使仿真环 境更加完善和真实。 5 显示列表技术 显示列表时一组存储在一起的o p e n g l 函数,可以再需要调用时执行。如果 需要多次重绘同一个几何图形,或者如果有一些需要多次调用的用于更改状态的 函数,把这些函数存储在显示列表中是一个很好的方法。在数控仿真场景中,刀 具的绘制就可以调用显示列表,只需一次绘制,就可以直接调用计算结果,加快 了图形的显示速度。 4 4 本章小结 本章主要讨论了数控机床铣削三维加工仿真的实现方法,采用毛坯离散化对 待加工工件进行绘制,同时探讨了材料切除过程的算法和刀具扫描域的计算。最 后介绍了仿真动画的显示及对其输出地优化。 3 9 第5 章数控铣削仿真实例分析市式数拄铣削仿真加工系统研制 第5 章数控铣削仿真实例分析 在第二章研究的系统体系结构的支撑下,本章着重从数控仿真系统的集成与 实现角度,阐述了系统三维仿真模块的辅助功能和其他功能模块的实现方法或拟 选用的方案,最后给出了一些仿真实例。 下面是一个n c 铣削的加工小程序,也是一段伪加工代码,我们对这段代码进 行仿真,系统仿真结果如图5 1 所示,与实际加工符合,基本满足设计要求。 n 0 5g 9 1g 1 7 g 0 0x 0y 0l f n 1 0g 0 1x 6l f n 1 5y 3 l f n 2 0g 0 3x 2y 2r 2 l f n 2 5g o lx 2l f n 3 0x 2y 二2l f n 3 5g 0 1x 3m 0 2i f 基,。孽 图5 一l 铣削代码仿真结果实例 5 1n c 代码解析模块 n c 程序进入数控仿真系统后直接由n c 代码解析模块对输入的n c 程序进行 处理。虽然针对不同的加工对象,n c 程序均不一样,但是n c 程序都是由若干程 序段组成,程序段是由一个或若干个字组成,字是n c 代码中完成一定功能的具体 指令,它由表示地址的字母、数字和符号组成。所以对不同的n c 程序的解析可以 归结到对一组结构规范且固定的n c 指令的解析,如:g 0 l ( 直线插补) 、g 0 2 ( 顺时 立式数控铣削仿真加工系统研制第5 章数控铣削仿真实例分析 针方向圆弧插补) 、m 0 3 ( 主轴正转) 等。因此n c 代码解析模块是针对n c 程序的每 一行程序段的每一个字,逐行进行处理的,一边处理一边发出指令信息。n c 代码 解析模块功能上类似数控机床上的数控装置。n c 程序进入解析模块,经过预处理、 语义解析、数据处理几个步骤,在仿真系统内部,n c 代码解析模块输出的指令信 息将直接驱动三维仿真模块中的数控机床完成数控加工过程仿真,整个过程简单 介绍如下: ( 1 ) 读入n c 程序,并进行预处理 读入的n c 程序以文件的形式保存在计算机内,供窗口外部显示以及程序 c o d e d e a l 类进行n c 程序解析。我们通过定时器按照一定间隔顺序处理n c 程序 文件的每一行,在这罩避免通过w h i l e 语句循环扫描每一行,因为后一种方法一旦 进入循环过程中则无法随意停止或跳出,不易实现仿真中间过程暂停。每一行处 理完毕都有一个标志,只有在定时器的o n t i m e r 事件中检测到这个标志时,才能 处理下一行代码,这种方法对循环指令的处理也很有效。预处理对读入的每一行 n c 代码,根据数控系统的代码标准进行简单的匹配检查,即地址字是否在规定范 围内,发现错误则立即报警。 ( 2 ) 语义解析 在第一次预处理通过后,再次通过定时器以行为单位逐个字进行语义解析, 其过程为按照字地址对n c 代码进行功能处理,这一过程包括了比预处理更加细致 的语法检查。 n c 程序生成模块生成的n c 程序为a s c i i 码文件,而且加工程序各程序段间 具有前后顺序的关系,为了方便进行词法、语法、语义检查以及代码翻译逐行逐 字进行,需要将n c 程序读入到一个单向链表结构中,就是以每个程序段作为链表 的一个结点。链表的具体结构如下: t ) ,p e d e fs t m c tn c f i l e _ t e x t c h a rt e x t 1 0 0 】; 一行数控程序的数据 i n ti e n g t h ; 一行数控程序的实际长度 s t r u c tn c f i l et e x t n e x t : 链表指针 n c f i l e t e x t ; 其中字符串t e x t 用来存储读入文件的每一行程序段,l e n 舀h 用来记录每一行数 4 l 第5 章数控铣削仿真实例分析市式数控铣削仿真加工系统研制 控程序的实际长度,n e x t 是链表指针。建立链表的算法流程图如图5 2 所示: 图5 2 读入n c 程序单向链表的建立 语义解析的实质是通过逐行读入n c 代码,按字符分类处理,改写n c 代码中 间数据段内容的过程,它实现了将n c 代码转化为仿真系统内部可以识别的数据信 息的过程。在每一次读入新一行n c 代码的时候( 以回车符为判断标志) ,首先都 要对中间数据段进行初始化,主要目的是抹去中间数据段表达的上一行代码的信 息,为进行下一行代码解析做准备。在这里要注意那些对应一组模态代码的数组 位的值的初始化,如g 0 l 在一个程序段中被使用后就一直有效,直到出现同组中 的其他代码( 如g 0 2 ) 。 ( 3 ) 数据处理 数据处理的过程就是根据n c 代码中间数据段,进行刀具补偿和插补运算,得 到一系列直接驱动加工仿真的各个轴向的位置增量( 刀具或工件的最小位移量) , 通过它们驱动三维机床模型的相应部件运动。n c 代码解析模块除了轨迹控制外还 输出许多控制信息,如:主轴的启停、冷却液开关等,根据解析结果为相应的布 4 2 立式数控铣削仿真加- t 系统研制第5 章数控铣削仿真实例分析 尔型标志字赋值,实现这些开关量控制。图5 3 所示系统为对一段数控代码的分 析与编译 图5 3 数控代码编译实例 5 2 辅助功能实现 在第2 、3 、4 章,本论文详细介绍了系统三维仿真模块的三维模型建立和动 态加工过程建模方法,下面简单介绍该系统的其它辅助功能模块。 ( 1 ) 简单碰撞处理子功能 简单碰撞处理是三维仿真模块的一个子功能,主要用于加工过程中判断机床 有部件的运动是否可能导致刀具和工件、刀具和夹具、刀具和工作台之间的碰撞, 据实际机床超程处理方法,其编写代码实现步骤如下: s t e p l :初始化设定每个运动部件的位置以及运动行程,如工作台、滑座等。 s t e p 2 :在运动过程中,判断两个部件( 主要针对最容易发生碰撞现象的部件, 主轴上的刀具与工作台、夹具、工件) 的相对位置关系是否在规定范围内,以及判 断部件运动是否超过行程开关规定的行程范围。 s t e p 3 :经过s t e p 2 判断,若超过规定范围或行程范围,数控仿真系统处于急 停状态并报警( 对话框和声音报警) ,等待用户处理。 我们采用的机床加工碰撞检测处理方法比较简单,也比较粗糙。而加工过程 碰撞、干涉检验在仿真中占据重要地位,相关研究也很多,例如:层次包围盒法、 区域干涉检验法等,这些都为我们以后系统这方面功能的完善提供了思路。 ( 2 ) 刀具轨迹显示子功能 4 3 第5 章数控铣削仿真实例分析寺式数控铣削仿真加t 系统研制 刀具轨迹显示子功能用于动态显示刀具切削和补偿的路径,利于快速、直观 地查看编程路径是否j 下确,是三维实体仿真的一个补充。它根据n c 代码解析模块 输出的位置增量在0 p n e g l 场境下直接采用g l b e g i n ( g l _ l i n e s t r i p ) 绘制一系列 连续的线段再现编程路径。图5 4 为加工过程中刀具轨迹点的动态显示。 m c s参考点工艺数据 1o_ 4 0 0 8 5 4 m m t2 5 oo y 1o - 2 0 0 5 7 9 m m f o 0 0 0 - 0 o m 村m i n z 1o_ 4 7 4 3 2 m m s 3 0 0 0 _ o d 巾m + s p o o 棚舯 图5 4 刀具轨迹点坐标显示 ( 3 ) 测量子功能 测量子功能用于在加工过程中或加工结束后检验工件的各种尺寸。测量方式 为:在工件的二维截面图( 如车削工件的轴向、径向截面) 上利用标尺和捕捉点两种 方式测量尺寸。 有别于系统中其它模块采用o p n e g l 绘图,这里我们采用w i n d o w s g d i 进行 二维绘图。用鼠标捕捉屏幕像素,容易根据鼠标所在位置的像素坐标进行坐标变 换( 将屏幕坐标转换为工件坐标) ,从而取得加工工件上任意一点在工件坐标系中 的坐标值,得到测量结果。在g d i 绘制时同样采用双缓存技术消除鼠标移动过程 中多次重绘窗口造成的闪烁现象在工件截面图形绘制时,充分利用工件表面离散 节点数值,根据离散节点采用单元图形进行绘制。图5 5 所示为工件参数的测量。 眄到 y 网 z _ 氇滔度v5开a 曩 浏量原点 广盟示所有的尺寸 图5 5 工件参数的测量 立式数控铣削仿真加丁系统研制第5 章数控铣削仿真实例分析 5 3 本章小结 本章以实际开发的铣削加工仿真软件为例,对数控加工代码进行解析,完成 简单数控铣削程序的仿真,并实现了碰撞处理,刀具轨迹显示,测量等辅助功能, 能够基本满足数控教学的要求。 4 5 第6 章结论与展望屯式数控铣削仿真加工系统研制 第6 章结论与展望 6 1 全文总结 本文在数控铣削机床三维模型重建的基础上,构造以p c 为平台,针对三轴铣 削加工的特点,结合刀具运动过程和工件切除的模型,采用o p e n g l 动态绘制刀 具与工件的方式和o p e n g l 双缓存动画的技术实现加工过程的可视化动态模拟。 该系统可模拟实际设备加工环境及其工作状态,不仅可以应用于制造企业中,对 数控加工程序进行快速、精确的仿真,验证数控加工程序的可靠性、防止碰撞和 干涉等情况的发生,而且可以用作数控技术操作技能的教学培训,即可以使受训 人员达到实物操作训练的目的,又可以大幅减少昂贵设备的投入,具有很高的应 用价值。 本系统是建立在三维实体模型基础上的数控仿真系统,仿真过程逼真,具有 以下的特点: 1 通过分析3 d s m a ) 【建模与o p e n g l 建模的特点,基于3 d s m a ) 【与o p e n g l 相结合的方式建立数控铣床三维模型,实现机床的可视化模拟。这种方法克服了 3 d s m a x 建立的模型不能实现交互,而o p e n g l 建模过于复杂的缺点。 2 在对3 d s m a 】( 导出的3 d s 格式文件的深入分析研究基础上,利用v c 制七o 与o p e n g l 编写程序读取3 d s 格式文件,优化了数据读取过程,实现在o p e n g l 下编辑与控制模型,满足人机交互要求。 3 仿真系统模块化和面向对象的程序设计方法使系统具有良好的可扩展性、通 用性,而且运行可靠。 6 2 展望 本系统初步实现了虚拟数控铣削加工系统的一些功能,但由于个人编程技术 和开发时间的限制,离成熟实用、能推向市场的数控加工仿真系统还有不少差距, 需要在以下几个方面做出改进: ( 1 ) 改善模型数据结构、优化铣削过程的仿真算法、改进光照处理以提高仿 真过程的真实感和仿真速率。 ( 2 ) 实现全加工工艺的虚拟加工。当前虚拟加工的研究大多只限于局部仿真, 随着加工能力的不断升级,进一步拓展仿真范围,建立更具临境感的具有全工艺 立式数控铣削仿真加工系统研制 第6 章结论与展望 能力的通用虚拟加工系统。 ( 3 ) 实现更符合实际加工情况的物理仿真。由于物理仿真模型的局限性,模 型建立往往基于某些特定的假设,外界参数发生变化时,其动态调整的能力还很 弱。如何适应现实加工中复杂多变的物理变化,建立更合理,适应性更强的物理 仿真模型是虚拟加工研究的热点。 ( 4 ) 实现三轴以上复杂曲面数控加工。目前刀具建模范围狭窄,大多限于普 通的端铣刀、桶装铣刀、t 型铣刀等,对复杂刀具( 包括成形刀具) 的加工仿真研 究很少,建立的模型常常被简化为圆柱体或圆锥体,难以实现轮廓铣削特别是三 维复杂曲面的加工,在以后的研究中,应实现复杂刀具三维建模,使其具有精确 的外形轮廓和刃形曲线。 4 7 参考文献 立式数控铣削仿真加工系统研制 参考文献 【l 】肖田元等虚拟制造 m 】清华大学出版社,2 0 0 4 【2 】周静数控仿真三维建模及实现【d 】南京理工大学,2 0 0 5 3 】慕灿虚拟制造及其在制造业的应用研究 d 】合肥工业大学,2 0 0 8 【4 】王启义等基于虚拟制造的数控车削加工仿真技术阴大连铁道学院学报, 2 0 0 0 ( 3 ) :4 9 5 5 【5 】s k o n g l j i a n ga n da y c n e e a ni n t e m e t - b 2 l s e d r t u a lc n cm i l l i n gs y s t e m 【j 】 t h ei n t e m a t i o n a lj o u m a lo fa d v a l l c e dm a j l u f a c n l r i n gt e c h n o l o g y 2 0 0 2 ,2 0 ( 1 ) : 2 0 3 0 【6 】c a d c a ms o l u t i o n s 【e b o l 】h t t p :、 ,w w c n s y s c o m c a d - c 锄h t m l 【7 】盛亮,廖文和实体数控仿真刀具扫略体的构造【j 】工程图学学报,2 0 0 3 ,4 :2 乱3 3 【8 】戴宁基于实体布尔运算的数控车削仿真系统高级技术的研究与实现【d 】南京 航空航天大学,2 0 0 2 【9 】汪辰,廖文和基于实体的数控车削动态仿真技术的研究与实现 j 】计算机辅助 设计与制造,2 0 0 0 ,1 2 :3 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论