D0I:10.13374/i.issn1001053x.2002.03.076 第24卷第3期 北京科技大学学报 Vol.24 No.3 2002年6月 Journal of University of Science and Technology Beijing Jun.2002 数控旋压图形编程系统中渐开线道次规划 阎群) 孙昌国”林文兴) 余达太》马振平”李宇) 1)北京科技大学机器人研究所,北京1000832)信息产业部第十二研究所,北京100016 摘要介绍了旋压加工中渐开线道次规划的基本原理,讨论了具体实现渐开线道次图形编 程的主要问题,并在Windows环境下,采用面向对象的程序设计语言Visual C++6.0实现了渐开 线道次图形编程 关键词数控旋压;图形编程系统;渐开线道次规划 分类号TH422.3;TP417.4;TP27.3 目前使用较为普遍的数控旋压系统中,图 在旋压加工中,建议的模板形状有直线形、 形编程系统被认为是道次规划的发展方向.在 圆弧形和渐开线形等多种,其中渐开线形是较 旋压过程中,旋轮有多种运动轨迹,如直线、圆 为理想的一种.如图2所示,设计渐开线模板 弧和渐开线等”直线和圆弧道次图形编程的实 时,需要根据旋压件的有关参数确定渐开线的 现比较简单,而渐开线道次与旋压件的形状密 基圆半径a,模板的回转中心o,等.根据旋压工 切相关,规划时考虑的因素比较多,设计比较复 艺理论和经验,其参数可按如下公式近似得到: 杂,目前研究较少.本文对渐开线道次的规划原 a=3.3d 理及图形编程系统进行了深人研究,并在Win- Zm=0.085a-0.57rn+6 (1) dows95环境下,采用面向对象的程序设计语言 Xn=0.085a-t6 Visual C++6.0,进行了相应的研究和开发工作. 其中,d为芯模端面直径;”m为芯模端面的圆角 半径;o为毛坯壁厚;Z、Xm如图中所示,是活动 1渐开线道次规划基本原理 模板的回转中心0与芯模端面和侧面的距离. 由此可得模板回转中心o在芯模坐标系ZOX下 旋压成形可制造各种复杂形状的薄壁旋转 的坐标为K,=-zm,K,=d2-xm 面零件.旋压道次数和旋压道次运动轨迹是成 绕o,点旋转角a 标准渐开线 形的关键.过去的旋压机大都是液压仿形机床, 后的渐开线 多道次拉伸旋压旋轮运动轨迹采用何种方式进 给,主要是靠模板来确定的.因此,加工每个不 同的零件,都要依据经验设计加工制造模板.固 定模板起着决定旋乐件最终形状的作用,而活 动模板用于确定中间道次的形状.最普通的方 式见图1,它是使具有一定形状的模板绕P点旋 转来确定旋轮在逐次旋压中的运动轨迹 图2渐开线道次规划示意图 活动模板的形状 Fig.2 Sketch map of designing involute roller path 与芯模形状相 同的固定模板 由模板理论可知,在渐开线道次规划中,各 个中间道次的规划是有条件的.第1个中间道 图1模板示意图 次要求渐开线与芯模的圆角相切;其它的中间 Fig.1 Sketch map of templet 道次,要求保持相互间的间距及它们与芯模轴 收稿日期20010904阁群女,32岁,硕士,助理研究员 线的夹角.因此,规划渐开线中间道次时,先将 *国家自然科学基金资助课题No.59575074) 标准渐开线绕0,点旋转,然后平移、截取所需的
第 2 4 卷 第 3 期 2 00 2年 6 月 北 京 科 技 大 学 学 报 OJ u r n a l o f U n vi e r s iyt o f S e i e n e e a n d Te e h n o l o yg B e ij i n g V b l . 2 4 N 0 . 3 J U n . 2 00 2 数控旋压 图形编程 系统 中渐开线道次规划 阎 群 ` , 孙 昌 国 ” 林 文兴 ` , 余达太 ” 马振平 2 , 李 宇 ” )北京科技大学机器人研究所 , 北京 10 0 0 83 2 )信息产业部第 十二研究所 , 北京 1 00 01 6 摘 要 介绍 了旋压加 工 中渐 开线道 次规 划的基 本原理 , 讨 论 了具 体实 现渐开 线道次 图形 编 程的 主要问题 , 并在 Wi nd o w s 环境下 , 采 用 面向对象 的程序设计语 言 Vi s ua 1C + +6 . 0 实 现 了渐 开 线道次 图形编 程 . 关键词 数控 旋压 ; 图形编 程系统 ; 渐开线 道次规 划 分类 号 T H 4 2 2 . 3 ; T P 4 17 . 4 : T P 2 7 . 3 目前使 用较 为普遍 的数控 旋压系统 中 , 图 形编程系统被认为是道次规划的 发展方 向 . 在 旋压过程 中 , 旋轮有多种运动轨迹 , 如直线 、 圆 弧和渐开线等 `, ’ . 直线和 圆弧道次图形编程的实 现 比较简单 , 而 渐开线道次 与旋压件 的形状 密 切相关 , 规划时考虑的 因素比较多 , 设计 比较复 杂 , 目前研究较少 . 本文对渐开 线道次 的规划原 理及 图形编程系统进行 了深人研究 , 并在 Wi n - d o w s 9 5 环境下 , 采用面向对象 的程序设计 语言 iV su al C料.6 0 , 进行 了 相应 的研究 和 开发工作 . 在旋压加工中 , 建议 的模板形状有直线形 、 圆弧形 和渐 开线形 等多种 , 其 中渐开线形是较 为理想 的一 种 . 如 图 2 所示 , 设计渐开 线模板 时 , 需要根据旋压件的有关参数确定渐开线 的 基 圆半径 a , 模板 的回 转中心 0 1等 . 根据旋压 工 艺理论和经验 , 其参数可 按如下公式 近似得到 : · a 一 0 . 5 7 mr + 0t · a 一 0t ( l ) 命=a3mZ .ód3 1 渐开线道次规划基本原理 旋压成形可 制造各种复杂形状 的薄壁旋转 面零件 . 旋压道次数 和旋压 道次运 动轨迹 是成 形 的关键 . 过去的旋压机大都是液压仿形机床 , 多道次拉伸旋压旋轮运 动轨迹采用何种方式进 给 , 主要是靠模板来确定 的 . 因此 , 加工每个不 同的零件 , 都要依据经验设计加工制造模板 . 固 定模板起着决定旋压件最终形状 的作用 , 而 活 动模板用于 确定 中间道次 的形状 . 最普通的方 式见 图 1 , 它是使具有一定形状 的模板绕尸点旋 转来确定旋轮在逐次旋压 中的运动 轨迹 ` .z] 其 中 , d为 芯模 端 面直 径 ; r 二 为芯模端 面 的 圆角 半径 ;0t 为毛 坯壁厚 ; mZ 、 Xm 如图 中所示 , 是 活动 模 板的 回转 中心 口 ,与芯模 端面 和 侧 面 的距离 . 由此 可得模 板 回转 中心 口 1在芯模坐标 系Z a Y下 的坐标 为戈 = 一 mz , xK 二 d/ 2 一 xm . ! ’梦丫酗 耳 l . ` 与芯模形状相 同的固定模板 、 \ \ \丫\ 活动模板 的形状 一 心或j ) 卜 尸 图 l 模板示 意 图 F ig · 1 S ke t e h m a p o f t e m P l e t 收稿 日期 2 0 01 刁9刁4 阎群 女 , 32 岁 , 硕 士 , 助理研究 员 * 国家自然科学基金 资助课题(N 让 59 57 5 0 7 4) 图 2 渐开线 道次规 划示 意 图 F ig . 2 Ske t e h m a P o f d e s ig n i n g i n v o l u et or ll e r p a t h 由模板理论可知 , 在渐开线道次规划 中 , 各 个 中间道次的规划是有条件 的 . 第 1 个 中间道 次要求渐开线与芯 模 的圆角相切 ; 其它 的中间 道次 , 要求保持 相互 间的间距及它 们与芯模轴 线 的夹角 . 因此 , 规划 渐开线 中间道次时 , 先将 标准渐开线绕 口 : 点旋转 , 然后平移 、 截取所需 的 DOI: 10. 13374 /j . issn1001 -053x. 2002. 03. 076
·358 北京科技大学学报 2002年第3期 一段即为规划的中间道次.图2中在坐标系z0x, 板”功能,将模板参数对用户开放,即用户可通 中,标准渐开线的方程为: 过人机对话的方式,在计算机自动设计的基础 [z1=a(cos0+0.sine)-a (2) 上设计渐开线模板.StandardJKX结构体中的参 x;=a(sin0-0.cose) 数与系统当前的模板相对应 绕o点旋转aα角(逆时针为正,顺时针为负)后,在 2.2类的定义及数据存储 z0x1坐标系中的方程为: 图形或图像是沟通思维的最自然的手段之 z=a(cos0+0.sine-1)cosa-a(sin0-0.cos0)sina x=a(cos0+0.sin0-1)sina-a(sine-0.cos0)cosa 一,复杂的数据以视觉表现最易理解.在数控旋 (3) 压图形编程系统设计中,抽取了一个图形编程 将旋转后的渐开线方程转换到芯模坐标系ZOX 对象模型,模型包含了图形对象的基本信息参 下为: 数,结合该对象的属性和方法描述,建立了相应 [z=a(cos0+0.sin0-1)cosa-a(sin0-0.cos0)sina+K: 的CGraph类.CGraph类为CObject类的派生类. x:=a(cos0+0.sin-I)sina-a(sin0-0.coso)sina+K. 对于整个图形编程系统来说,渐开线道次是其 (4) 中的一个图形元素.为了充分而简略地描述渐 也就是说,在芯模坐标系下,渐开线中间道次满 开线对象,提高数据和代码的利用率,该系统通 足式(4)所示的方程.该图形编程系统中渐开线 过继承建立了Ckx类,该类是CGraph类的派 道次规划以式(4)为基础 生类,用于处理渐开线道次的数据和操作,派生 类的定义框架见图3 2软件设计 由于有过多的加工条件汇集于旋压成形过 构造函数 成员 程中,渐开线道次规划还没有能够从理论上加 及析构函 变量 函数 以论证.我们设计的图形编程系统中渐开线道 图3派生类的定义框架 次规划以模板理论为基础 Fig.3 Frame of defining derive class 2.1模板设计 由式1可知,渐开线模板参数主要是基圆 C++模板可方便地用于生成操作各种不同 半径和回转中心.为便于管理,模板参数由名为 数据类型的函数族和类族,避免为各种类型写 StandardJKX的结构类型所定义.StandardJKX的 不同的函数和类.使用模板,可方便地写一个一 定义形式为: 般的函数或类定义,编译器自动将其转换成程 typedef struct 序实际使用的每个不同数据类型的函数.本系 统的开发使用了C++中模板的概念.在文档类 double a;∥渐开线基圆半径 中,自行定义的新数据成员m_JKXArray是MFC double TurningZ;/模板回转中心在芯模坐 类模板CTypedPtrArray的实例.CTypedPtrArray 标系下的Z坐标 生成一族类,分别由第1个模板参数指定的类 double TurningX;/模板回转中心在芯模坐 (CObArray或CPtrArray)派生,用于存放第2个 标系下的X坐标 模板参数指定类型的参数项.m JKXArray:是由 double ETheta;l/模板终止e角 CObArray类派生的对象,用来存放Ckax类对象 StandardJKX: 的指针.CObArray是M正FC的通用类之一,可以 进行渐开线道次规划时,系统根据芯模、毛 用来存放变量或对象的指针.CObArray对象用 坯等有关参数依据式(1)自动设计渐开线模板, 阵列状的数据结构存放一组CObject(或CObject 将渐开线模板参数存入StandardJKX结构体中 派生类)对象的指针,其中封装了完成各种数据 (系统默认模板起始角为0),并在适当的位置 操作功能的函数(如增加、删除、插人、得到数组 显示渐开线模板. 项等).m_JKXArray所存指针指向的CJkx对象 如前所述,渐开线模板设计是长期旋压经 中存放着图形绘制的各项数据,这些数据和屏 验的积累,是一个近似公式.为了提高旋压精 幕上的渐开线道次相对应.在屏幕上绘制渐开 度,该系统中在编辑菜单中增加了“渐开线模 线道次时,将新建一个C对象,并且将指向 该对象的指针存放于m JKXArray中.屏幕上的
北 京 科 技 一段 即为规划 的中间道次 . 图 中在坐标系 2 2 1 , 0 xl 中 , 标 准渐开线 的方 程为 : (2)在 z , = 试e o s s + 8 · s i n o) 一 a x , = a ( s in s 一 8 · e o s o) 绕 。 、点旋转 a 角 (逆时针为正 , 顺 时针为负 )后 局 ol x ,坐标系 中的方程为 : 【z , = a ( e o s决8 · s i n s 一 l ) c o s a 一 a ( s i n o 一 8 · e o s o) s i n a 足x ,= 口 t e o s 份+ 夕 · s 一n 夕一 l ) s 一n a 一 a ( s ln 夕一 夕 · e o s的e o s a ( 3 ) 将旋转后 的渐开线方程转换到芯模坐标 系Z 口万 下 为 : f z , = a ( e o s决8 · s i n o一 l ) c o s a 一 a ( s i n s 一 8 · e o s 必s i n a + .K t戈: 二口气C O S口十口 . 5 11 口一 l ) 5 11 以一 Q气5 1 口一 U · C O S口) 5 11 仪十入 x (4 ) 也就是说 , 在芯模 坐标 系下 , 渐开线 中间道次满 足式 (4 )所示 的方程 . 该 图形 编程 系统 中渐 开线 道次规 划以 式 (4 )为基础 . 大 学 学 报 20 02 年 第 3 期 板 ” 功能 , 将模板参 数对用户开放 , 即用户可通 过人 机对话的方式 , 在计算机 自动设 计的基础 上设计 渐开线模板 . S atn d a r id K X 结构 体 中的参 数与 系统当前 的模板相对 应 . .2 2 类的定义及数据存储 图形或 图像是沟通思维 的最 自然 的手段之 一 , 复杂的数据 以视觉表现最易理解 . 在数控旋 压 图形 编程系统设计 中 , 抽取 了 一个图形编程 对象模 型 , 模型 包含 了图形对象 的基 本信息参 数 , 结合该对 象的属性和方法描述 , 建立 了相应 的 C rG ap h 类 . C G arP h 类为 C O bj ec t 类 的派生类 . 对于整个 图形编程 系统来说 , 渐 开线 道次是其 中的一个 图 形元素 . 为 了充分而简 略地描述渐 开线对象 , 提高数据和 代码 的利用率 , 该 系统通 过继 承建立 了 C lk x 类 , 该 类是 C rG aP h 类 的派 生类 , 用于处理渐开线道次 的数据和 操作 , 派生 类的定 义框 架见 图 3 . 2 软件设计 由于有过 多的加 工条件 汇集 于旋 压成形过 程 中 , 渐开线道 次规划还没 有能够从理论上 加 以论证 . 我们设计 的 图形编 程系统 中渐开线 道 次规划 以模 板理论 为基础 .2 1 模板设计 由式 1 可知 , 渐开线模板参 数 主要是基 圆 半径和 回转 中心 . 为便 于管理 , 模板参数由名为 S t a n d a r dJ K X 的结构类型 所定义 . st an d a r dJ K X 的 定义形 式为 : ty Pe d e f s加 c t { do u bl e a ; / 渐 开线 基圆半径 d o u b l e T u nr in gZ ; / 模板 回转 中心 在芯模 坐 标 系下 的 Z 坐标 do ub l e T u m in gX ; / 模板 回转 中心 在芯模 坐 标 系下 的 x 坐标 d o u bl e E hT aet ; / 模 板终止夕角 } tS an d a 找UK X ; 进行渐开线道次规划时 , 系统根据芯模 、 毛 坯等有关参 数依据式 ( 1) 自动设 计渐开线模板 , 将渐开 线模 板参数存 入 S atn dar dJ K X 结构体 中 (系统默认模 板起始 0角为 o0 ) , 并在适 当的位 置 显示渐开线 模板 . 如前所述 , 渐 开线 模板设计是 长期旋压经 验 的积 累 , 是一个近似公 式 . 为了提高旋压精 度 , 该 系统 中在编辑菜单 中增加 了 “ 渐开线模 构造函数 及析构函 成 员 变量 补 充 函数 鼠标 处理 图 3 派生 类的定 义框架 F ig . 3 F r a m e o f d e 血祖9 d e r iv e e la s s C一模 板可 方便地 用于生成操作 各种不 同 数据类 型 的 函数族和类族 , 避免 为各种类型 写 不 同的函数和类 . 使用模板 , 可方便地写一个一 般 的函数 或类定义 , 编译器 自动将 其转换成程 序实际使用的每个不 同数据类型 的函数 13] . 本 系 统 的开发使用 了 C + + 中模板的概念 . 在文档类 中 , 自行定义的新数 据成员 m - 尽次声刃旧y 是 M F C 类模板 C yT Pe dP t rA ar y 的实例 , C yT Pe d P t rA ar y 生成一族类 , 分 别 由第 l 个模板参 数指定 的类 ( c o b A r ay 或 c p t r A r ay )派生 , 用于存放第 2 个 模板参数 指定 类型 的参数项 . m se J] ( X A r ay 是 由 c ob A r r ay 类派生 的对象 , 用来存放 C Jk x 类对象 的指针 . C ob A r ay 是 M F C 的通用类 之一 , 可 以 用来存放 变量或对象 的指 针 . c o b A r a y 对象用 阵列状的数据结构存 放一组 C 0 bj ce (t 或 C o bj ce t 派生类 )对象 的指针 , 其中封装了完成各种数据 操作功能的函数 ( 如增加 、 删 除 、 插人 、 得到数组 项等 ) . m -J K X A r ay 所存指针 指 向的 C Jk x 对象 中存放着 图形绘 制 的各项数 据 , 这 些数据 和屏 幕上 的渐开线 道次相对应 . 在屏幕 上绘制渐开 线 道次时 , 将 新建一个 C J掀 对象 , 并 且将指 向 该对 象的指 针存 放于 m -J K X A r a y 中 . 屏幕上 的
Vol.24 阁群等:数控旋压图形编程系统中渐开线道次规划 ·359· 图形与m_JKXArray中所存指针指向的CJkx对 在实际应用中,通过鼠标消息来完成对象的 象的处理相对应 生成和操作处理,图4为渐开线道次对象的生成 2.3渐开线道次的实现过程 和操作流程. 消息队列 鼠标事件 选 择 截获系统消息 鼠标左击 鼠标移动 对 业 业 象 鼠标左击? N 对象选择? 对象选择? 渐 亚 Y 开 对象生成及提示 执行对象鼠标 执行对象鼠标 线 业 左击处理函数 移动处理函数 系统消息处理← 图4渐开线道次对象的生成和操作流程 Fig.4 Flow chart of creating and handling the object of involute roller path 编程实例 板,首先利用鼠标左键旋转模板到适当位置,然 后利用鼠标左键确定该段渐开线道次的起始点 图5是利用该图形编程系统实现筒形件多 和终止点,系统根据以上输入自动求取该段渐开 道次规划(中间道次主要为渐开线和圆弧)的一 线道次的特征参数,生成渐开线道次对象,并将 个具体实例,操作非常方便.规划开始时按系统 指向该对象的指针存放于m JKXArray中,完成 提示依次输入芯模、毛坯、旋轮参数,系统自动生 该段渐开线道次规划. 成与之相对应的渐开线模板.按“渐开线”工具按 钮进行渐开线道次规划时,系统显示渐开线模 4结论 结合信息产业部十二所的具体要求,完成了 数控旋压道次规划图形编程系统的开发工作,实 现了旋压机床图形编程系统中渐开线道次规划 的可视化设计.开发的软件充分利用了模板设计 的优点,同时又为进一步完善旋压理论提供了硬 件支持.该软件已在一台数控旋压机床上使用, 效果很好. 参考文献 1王成和.旋压技术M北京:机械工业出版社,1986 2日本塑性加工协会,旋压成型技术M北京:机械工业 图5多道次规划界面(中间道次为渐开线和圆形) 出版社,1988 Fig.5 Interface of designing many roller paths(roller 3陈建春.Visual C+高级编程技术一开发实例剖析M paths are involute and circle) 北京:电子工业出版社,1999 Designing Involute Roller Path in Numeral Control(NC)Spinning Machine Graphic Programming System YAN Qun,SUN Changguo,LIN Wenxing,YU Datai,MA Zhenping",LI Yu 1)Robot Research Institute,UST Beijing,Beijing 100083,China 2)12th Research Institute,MEI,Beijing 100016,China ABSTRACT The principle of designing involute roller-path is presented.The fundamental problem,which must be resolved in accomplishing the graphic programming of designing involute roller-path,is discussed. Under Windows,using Microsoft Visual C++programming language,the automatic designing involute roller- path in the graphic programming system of NC spinning machine is materialized. KEY WORDS NC spinning;graphic programming;designing roller-pathl