2022年虚拟切削加工系统设计与实现.docx
精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用虚拟切削加工系统地设计与实现摘要:虚拟制造是近年显现地一种先进制造技术, 虚拟切削加工在虚拟制造中占有重要位置. 为了供应虚拟地加工环境和验证工艺设计地正确性 , 对切削加工过程地运算机仿真方法进行了讨论 ,以 osg 作为图形支持系统 , 用 vc+开发了切削加工仿真系统 . 该系统实现了对毛坯切割地仿真 , 可对刀具运动切割情形进行实时监控 ,较好地再现了加工中毛坯地成型过程 . 关键词:虚拟切削;仿真;实体造型; osg ; visual c+ 【abstract 】virtual manufacturing is an advanced manufacturing technology in recent years, and the virtual cutting plays an important role in virtual manufacturing. in order to provide the virtual processing environment and validate the process design, we have studied computer simulation of the cutting process with osg 3d rendering engine and visual c+. the system implements the simulation of rough-cut and reproduces the molding process for rough machining. and we also can monitor cutting tool movement in real time. 【key words 】virtual cutting; simulation; solid modeling ; osg ; visual c+ 0 引 言1 / 10 名师归纳总结 - - - - - - -第 1 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用在切削加工过程中 , 人们常用试切法验证加工过程地合理性 , 由于产品向小批量、多样化进展, 该方法已不能满意企业降低成本、缩短生产周期地需要 . 随着运算机可视化技术和动画技术地进展 ,人们提出了仿真地概念 . 通过仿真来检查加工中可能显现地碰撞、干涉危急 , 分析零件地可加工性和工序地合理性 . 在 3d 图形系统开发中 ,osg open scene graph>是一个很重要地支持工具 . 目前大多数地仿真讨论地工作重点都集中在平面机构 地运动仿真上 , 没有表达其强大地三维空间仿真功能 . 基于上述情形 , 本文开发了一种基于osg 三维图形引擎地新地切削算法 , 对切削加工过程进行了三维动画仿真 . 1 国内外虚拟制造相关技术进展状况目前很多发达国家已经对虚拟制造技术进行深化讨论 . 在美国已形成了由政府、产业界、高校组成地多层次、多方位地综合讨论开发力气 . 由政府支持地讨论工程主要有:teamtechnologies enabling agile manufacturing, dept. of energy>、namtnational advanced manufacuring testbed>simaadvanced manufacturing systemsand networking testbed>. 在欧洲 , 很多高校和讨论机构通过相互间地合作并联合企业进行虚拟制造技术地讨论工作, 例如: 由 bath 高校进行地 a vi rtual workshop for design bymanufacturing 讨论、由 herriot watt 高校进行地 virual manufacturing group 讨论等 1. 2 / 10 名师归纳总结 - - - - - - -第 2 页,共 10 页精选学习资料 - - - - - - - - - 国内在此方面地讨论刚刚起步个人资料整理仅限学习使用: , 主要集中在以下三个方面1>产品虚拟设计技术主要包括虚拟产品开发平台、虚拟测试、虚拟装配以及机床、模具地虚拟设计实现等 . 其中清华高校利用美国国家仪器公司地labview 开发平台实现了锁相电路地虚拟 . 2>产品虚拟制造技术主要包括材料热加工工艺模拟、拟、模具制造仿真等 . 3>虚拟制造系统加工过程仿真、板材成型模主要包括虚拟制造技术地体系结构、技术支持、开发策略等 .其中提出了比较成熟地思想并可能实现地是由上海同济高校张曙教授提出地分散网络化生产系统和西安交通高校谢友柏院士组建地异地网络化讨论中心 . 2 osg 三维图形开发环境openscenegraph<简称 osg)使用 opengl 技术开发 , 是一套基于c+平台地应用程序接口 <api ), 它让程序员能够更加快速、便利地创建高性能、跨平台地交互式图形程序. 它作为中间件<middleware )为应用软件供应了各种高级渲染特性,io,以及空间结构组织函数;而更低层次地 层硬件显示地驱动 2. opengl 硬件抽象层 <hal )实现了底从系统开发人员地角度看 , 相比工业标准 opengl 或其它地图形库,osg 地优点显而易见 . 除了开源和平台无关性以外 , 它封装并提3 / 10 名师归纳总结 - - - - - - -第 3 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用供了数量众多地提升程序运行时性能地算法、针对包括分页数据库在内地几乎全部主流数据格式地直接数据接口、以及对脚本语言系统 python 和 tcl 地支持 .osg 采纳以下思想和工具进行构建:ansi 标准 c+;c+标准模板库 <stl );设计模式 <design patterns ). 这些工具使得 osg 地开发者可以在自己喜好地平台上 进行开发 , 并且依据用户所要求地平台进行配置 3. 因此 osg 具备了简洁快速开发 , 高性能 , 可扩展性强、可移植性强、开发费用低、没有学问产权问题地优点 osg 技术进行开发地重要依据 . 3 常见虚拟加工类别 3.1 线框方法. 这也是本系统采纳线框方法是一种非常简洁而且简洁实现地加工仿真方法 , 即在屏幕上以线框地方式画加工刀具和零件模型. 当程序运行时 , 刀具不断地按显示地加工轨迹在屏幕上移动 , 加工仿真模块未对刀具和待加工毛坯进行数学处理 , 难以进行真实地铣削加工仿真 . 3.2 视向离散法将加工刀具和待加工毛坯沿视线方向上进行“ 等同” 离散表示;然后在加工过程中 , 利用离散后地数据进行图像上地处理 , 以求达到真实地成效 . 采纳这样地方法可以达到很好地显示成效和实时性能 . 但其加工结果不具有连续性 意转动视角 . 3.3 实体造型技术, 不能放大或缩小显示 , 不能任4 / 10 名师归纳总结 - - - - - - -第 4 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用考虑到待加工毛坯一般为长方体, 刀具可以由二次几何体拼凑而成. 进行加工仿真时 , 先求出刀具沿加工路径移动时所形成地扫描体, 然后从毛坯中“ 减去” 该扫描体, 接着将结果进行真实感显示.利用这种方法进行仿真 , 可以支持三轴和五轴加工. 其加工出地零件表示具有连续性 , 可以放大或缩小显示 , 可以任意旋转视角 , 可以 进行加工误差地测量 4. 综上所述 , 考虑到各种方法地优缺点及osg 三维渲染引擎地特性 ,我们采纳了第三种实体造型技术来实现虚拟切削加工系统 . 4 虚拟切削算法描述在 osg 中, 为了简化场景地绘制 , 同时也为了便利开发者能够快速地构造一个场景 , 它本身定义了一些常用地几何体 , 如 osg:box立方体、 osg:cylinder 柱体、 osg:sphere 球体、osg:trianglemesh 三角片等 . 目前采纳系统供应地圆柱体表示铣刀. 此外,osg 仍支持导入由外部三维建模工具创建地立体图形 , 如 solidworks, 只要供应 osg 可以转化地格式文件即可 , 比如最常用地 .stl 格式文件、 .ive 格式文件、 .3ds 格式文件等 . 后续优化过程中可以加入依据真实铣刀建模地铣刀模型 , 从而使系统更加真实 5. 毛坯模型由如干 cube 对象表示 . 自定义 cube 类表示组成毛坯地立方体元素 <图 1). 构造 cube 时传入该长方体三个方向上地长度及中心坐标 , 然后5 / 10 名师归纳总结 - - - - - - -第 5 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用构造一个相应地 osg:box 对象赋给 boxgeode 变量._min 具有默认初始值 false, 表示仍可以连续细分 . 该系统实行 osg 系统地右手坐标系 ,x 轴沿着屏幕平面水平方向,z 轴沿着屏幕平面内垂直方向,y 轴垂直于屏幕平面 . 铣刀地运动由键盘掌握 , 如 xyz 方向上每个轴两个方向 , 共六个键 . 第一定义一个容器用来存放全部地cube 对象. 切削开头时 , 一个毛坯只包含一个 cube 元素, 即一个立方体形地毛坯 , 铣刀接触毛坯 后, 毛坯先被分割为上下两层 , 即上下两个 cube 对象, 分割线为柱 体铣刀底面所在地平面 <图 2). 该功能由以下函数完成:vector cube:dividezdouble downheight> 该函数惟一地参数downheight 代表铣刀底面与所碰撞地cube对象底面地差 . 假如 downheight>0, 就表示铣刀底面高于当前遇到 地 cube 对象地底面所在平面 , 故将当前 cube 对象划分为两个 cube对象, 分割线为铣刀底面所在地平面. 假如 downheight=0.0, 就表示铣刀底面和 cube 对象地底面在同一平面 , 就不再划分该 cube 对 象6. 然后再划分上层地立方体, 此时按铣刀从“ 前后左右上” 五个方向切入 , 分别定义不同地水平方向地切分函数:vector dividexyleftdouble drillx, double drilly>;vector dividexyrightdouble drillx, double drilly>;vector dividexytopdouble drillx, double drilly>;vector dividexybottomdouble drillx, double drilly>;6 / 10 名师归纳总结 - - - - - - -第 6 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用vector dividexydowndouble drillx, double drilly>;假如把铣刀四周按“ 井” 字划分 给各部分编号 . , 就最多为 9 个部分 , 分别按图 3下面以铣刀从 cube 右侧切入为例 , 介绍水平方向地切分算法 <图4). 铣刀位于 5 所在位置 , 只须考虑 1、2、4、5、7、8 六块地划分即可 , 同时仍须考虑铣刀从右下角或者右上角切入地情形 <图 5),此时只要划分出 1、2、4、5 或 4、5、7、8 四块即可 , 最终仍有可能 cube 对象地宽度小于等于铣刀直径地情形 5 两块即可 . 完成该功能地函数为:, 此事只须划分出 4、vector cube:dividexyleftdouble drillx, double drilly> 图 4 fig.4 第一, 假如从右上角切入 , 就 1、2 部分在 y 方向上长度定为 0;同理假如从右下角切入 , 就 7、8 部分在 y 方向上地长度定为 0. 这样在下面构造出各部分地cube 对象时 , 假如有一个方向上地长度为 0, 就不再构造该部分 . 图 5 fig.5 然后, 确定 4 号部分在 y 方向上地长度及 4 号长方体地中心在 y 方向上地坐标 . 最终, 依据上面列出地数据 , 先划分出 5 号部分 , 再判定是否划分7 / 10 名师归纳总结 - - - - - - -第 7 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用以及怎样划分 1、2、4、7、8 部分. 划分完成后返回这些新生成地cube 对象7. 从其他方向切入地函数与此相像, 这里不在赘述 . 最终将 5 号 cube 对象划分为如干最小分割单元立方体地集合 <图 6). 该功能由 std:vector cube:divide2detailint n> 成员函数完成 . 参数 n 用来掌握细分地精细程度 n*n 个小地 cube 对象. , 即将当前 cube 划分为其中对细分循环中做了优化, 对当前长方体做了中间空心地处理,这样削减了细分单元地数量. 图 6 fig.6 现在已经介绍完了cube 对象地各种划分算法 , 接下来就要在键盘掌握铣刀运动时通过更新函数 update> 来调用这些划分函数 , 并对去除掉与铣刀接触地最小单元长方体 . 在 update> 函数中 , 主要是遍历当前地cube 对象, 判定是否与铣刀接触以及是否为最小单元, 假如是就剔除该cube 对象, 否就调用垂直方向上地划分函数dividez> 函数, 将返回地划分完成后地如干 cube 对象添加进 cube 列表中 . 然后依据键盘大事调用相应地水平方向上地五个划分函数中地一个, 并将被划分地 cube 对象剔除 .最终调用 divide2detail> 函数, 并对得到地最小单元列表进行遍历, 剔除掉与铣刀接触地部分 , 将剩余地部分添加至全局地 cube 列表中8. 8 / 10 名师归纳总结 - - - - - - -第 8 页,共 10 页精选学习资料 - - - - - - - - - 更新过程流程图如图7 所示:个人资料整理仅限学习使用图 7 fig.7 下面附上几张对毛坯简洁切削后截图 <图 8). 图 8 fig.8 5 结语经过对切削算法地初步探究 , 完成了基于实体分割法和 osg 三维渲染引擎地切削算法 , 基本仿真了铣刀对毛坯地切削 , 但目前也只能完成不太复杂地切削 , 存在着长方体数据过多地缺点 , 仍有待于进一步优化 . 参考文献1 崔伟清 , 王晋涛 , 邢迪雄 . 虚拟制造技术概述 . 机械制造与自动化 ,2007,362> : 1,2 2 王锐, 钱学雷 . openscenegraph三维渲染引擎设计与实践m. 北京: 清华高校出版社 ,2022 3 肖鹏, 刘更代 , 徐光明 .openscenegraph 三维渲染引擎编程指南m. 北京: 清华高校出版社 ,2022 4 于成杰 , 俞立钧 , 佘传伏 . 数控车床切削仿真地讨论. 机电工程技术 ,2006,35 2> : 16 18 5 openscenegraph官方网站 . www. openscenegraph.org 6 余斌. 基于 opengl 地数控加工仿真系统地讨论与开发d. 9 / 10 名师归纳总结 - - - - - - -第 9 页,共 10 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用成都: 四川高校 ,2002. 7 周江华 , 蔡忠闽 , 李宏等 . 基于 opengl 地制造系统虚拟仿真环境讨论 j. 测控技术 ,2000,197>: 22-25. 8 冯善达 , 刘怡昕 . 虚拟场景中碰撞检测有用算法讨论 j .运算机仿真 ,2002,6> 10 / 10 名师归纳总结 - - - - - - -第 10 页,共 10 页