数控非圆曲线加工工艺研究方案

合集下载

数控车床加工椭圆类非圆曲线宏程序应用研究

数控车床加工椭圆类非圆曲线宏程序应用研究

数控车床加工椭圆类非圆曲线宏程序应用研究摘要:为了能够保证加工零件椭圆轮廓不同位置生产加工的实际要求,在加工内必须就需要应用坐标系旋转及坐标系平移方法,结合椭圆表达方程式,构建数控车装工件和传统坐标系之间关联,结合实例研究案例完成宏程序及粗车循环整体编程控制,真正实现零件加工。

数控车装加工椭圆类非圆曲线宏程序在实际应用内,可以完成不同椭圆轮廓在数控机床内生产,计算流程十分简单,具有良好应用前景。

椭圆属于代表性非圆曲线,本文在分析研究内以某型号数控车削系统作为研究案例对结合坐标系旋转及坐标系平移形式,加强实际生产和数控技能大赛结合,了解数控车装加工任意位置椭圆宏程序编制流程。

关键词:数控加工;宏程序;坐标平移;坐标旋转前言:一般情况下,数控车床主要具有两种指令,分别为直线指令和圆弧插补指令,零件轮廓形状相对简单情况下,直接可以应用直线插补指令借助手工编程形式实现零件生产加工要求。

科学技术水平在快速发展建设内,工业产品类别逐渐多样化建设,非圆曲线开始逐渐出现在零件内。

数控车床由于缺少非圆曲线插补功能,进而非圆曲线加工无法直接应用传统手工编程形式实现。

要是应用软件实现自动编程,所产生的程序数量将会较大,实用性及灵活性得不到有效保证。

宏程序在实际应用内,可以借助函数公式形式,分析了解工件轮廓,程序实用性及灵活性可以得到有效保证。

1、利用坐标平移与坐标旋转将原坐标系的点坐标转移为工件坐标系的新坐标零件在实际生产加工内,经常出现待加工和工件坐标系出现偏差问题,这就需要寻找待加工坐标系和加工工件坐标系之间关联,保证借助加工坐标系,构建专门非圆曲线方程。

数控车床轮廓在划分内,是在xoz平面上所实现,进而非圆曲线方程坐标系在设置内,坐标系内任何一点都应该由坐标旋转方法和坐标平移方法实现。

工件坐标系在生产完毕之后,工件可以获取全新坐标系。

因此,即便数控车床没有专门非圆曲线方程指令,但是依然可以借助坐标旋转指令及坐标平移指令,借助有关数据处理手段,完成非圆曲线方程在不同坐标系内处理任务。

浅谈数控非圆曲线零件配合及工艺分析

浅谈数控非圆曲线零件配合及工艺分析

浅谈数控非圆曲线零件配合及工艺分析江苏工贸技师学院摘要随着当今科学技术的发展,数控技术及数控机床在当今机械制造业的现实应用也日益增加,数控技术的应用不仅给传统制造业带来了革命性的变化,使制造业成为工业化的象征,并对国计民生的一些重要行业【工厂,汽车,轻工,医疗等】的发展起着越来越重要的作用,它既显示了其在国家基础工业现代化中的战略性作用,并成为了实现企业自动化,柔性化,集成生产的一个重要标志。

关键词:数控技术螺纹配合椭圆工艺分析引言在数控车加工过程中,很多工件的加工不仅仅是会编程、会操作就可以完成的,其中工艺知识应用、数据处理能力、软件绘图能力是非常重要的,这些将直接导致工件是否可以加工完成和加工完整。

数控车床是目前使用比较广泛的数控机床,主要用于轴类和盘类回转体工件的加工,能自动完全内外圆面、柱面、锥面、圆弧、螺纹等工序的切削加工,并能进行切槽、钻、扩、铰孔等加工,适合复杂形状工件的加工。

与常规车床相比,数控车床还适合加工如下工件。

(1) 轮廓形状特别复杂或难于控制尺寸的回转体零件(2) 精度要求高的零件(3) 特殊的螺旋零件(4) 淬硬工件的加工因此在先了解所要车削对象后,针对工件的特点来进行工艺分析,本文就对常见配合零件做具体分析1.非圆曲线配合件,图1(件1)图2(件2)图1(件1)801图2(件2)802技术要求:1不允许使用砂布或锉刀修整表面2未注倒角为45°3无硬度和淬火要求4毛坯为45号钢5工件配合时不允许存在间隙一.零件图分析1.零件包括外椭圆,内外螺纹,外圆及内孔内槽的加工。

毛坯为45号钢,毛坯规格为58mm×48mm,为55mm×48mm2.加工时需重点把握外圆精度,椭圆配合,及内孔螺纹配合,保证零件在符合精度,配合要求的基础上,采用较好的数控工艺车削方法3.外椭圆:长半轴a为30mm,短半轴b为20mm4.外圆:φ44.640+0.021mm5.螺纹配合:螺纹大径为24mm,螺距为1.5,小径为22.05mm6.精度分析:外圆Ф44.640+0.021mm,φ30-0.02+0.02mm,外槽φ20-o.o2+0.02mm,7.内轮廓φ300+0.031mm,内槽φ20-0.02+0.02mm,长度50-0.021+0.031mm,50+0.031mm,200+0.02mm,5-0.02+0.02mm8.配合分析:件1件2通过内孔螺纹配合,重点为尺寸的把握,外椭圆需配合加工,一次装夹,避免配合间隙,和同轴度偏差9.确定加工方法:由于工件对精度要求较为严格,所以要采用能满足精度要求的加工工艺方法,从半精加工到精加工。

最新-数控车加工非圆曲线编程研究 精品

最新-数控车加工非圆曲线编程研究 精品

数控车加工非圆曲线编程研究摘要从数控技术的角度出发,对采用数控技术的数控机床进行介绍,针对数控加工和编程的方式进行深入探究,并重点研究非圆曲线的数控和编程方式,为数控车加工技术提供借鉴。

关键词数控技术;非圆曲线加工;编程数字化时代已经来临,各行各业都在积极向着数字化的方向转型,制造业也不例外。

数控技术的出现,打破了传统制造业的发展瓶颈,为制造业创造了新的发展机遇。

数控技术是数字化控制技术的简称,是工作人员编辑好的程序对机械设备进行控制的技术,在编写的程序中加入对机械设备的运动方式和操作循序等方面的功能,从而更加方便制造。

随着计算机技术的发展,现代的数控技术在原有的技术上加入了更多的存储、处理、运算和逻辑等功能,能够更加智能化地进行工业制造。

数控车又叫数控机床,是执行数控编译程序的主体。

随着人们艺术欣赏水平的上升,加上对物质和精神双方面的需求,现代的制造业要求更加精细,制造的过程也越加复杂。

在制造业设计中,非圆曲线的应用十分广泛,不仅具有很高的美观性,同时也更加复杂多变[1-2]。

因此,研究数控机床加工非圆曲线编程具有很高的意义和价值,能够推动现代数控加工技术的发展。

1宏程序编译在日常生活中,人们通过仔细观察就能发现,不少物品的外形和设计都具有非圆曲线的工艺,常见的非圆曲线有椭圆、双曲线、抛物线等。

非圆曲线产品具有较高的复杂性,在产品设计中非圆曲线能够采取较为复杂的组合,从而实现产品的工艺特性。

非圆曲线在工业制造中作为直线和圆插补的一个补充,需要采取精细的程序编辑才能够实现。

随着计算机技术的发展,现代数控技术的程序设计有两种方式,一种为传统的宏程序编译,一种为自动程序编译。

宏程序编译是采用传统的指令方式,采取复杂的数学、逻辑等运算方式,从而实现一系列的运算指令,让数控车在读取程度的时候,能够按照编译的方式来进行操作。

由于不同的产品对工艺的要求有所不同,尺寸、大小、非圆曲线的形状都会产生差异,因此每一种产品如果要采用宏程序编译的方式进行生产,都需要对产品进行特定的编译。

非圆曲线形状的工件在数控车床上加工方法之探讨

非圆曲线形状的工件在数控车床上加工方法之探讨

(. 2河南 工业 职业技 术学 院 机 械工程 系 , 南 南 阳 4 30 ) 河 709 摘要 : 过详 细介 绍 G 3指令 在} r 的使 用格 式 、 参数 的意 义、 通 7 v:时 - 各 刀具循 环路径 、 X 轴 方 向 △( 退刀距 离) 的应 用公 式和非 圆 曲线 的宏程序 模板 , 讲述 了在数控 车床 上运 用 G 3指 令加 工 非 圆曲 7
Mae : t)
G 3 △ ) ( K) d 7 U( IW △ R( ) G 3 ( sQ(fU( U) ( W) () () t 7 P n ) n) △ W △ F fS sT() N(s ・ ・ n )・ ・ ・・ N(f・ - n )・ ・ ・・
指令 中各参数 的意义如下所示: F为进给率 , s为 主轴转 速 , 为处 于 加工 位 置 的 刀位 号 , 车过 程 T 粗 中从顺序号 n 到 n 的程序段中之间的 F S T都 s f ,, 无效 , 只有 在 G 3指令 中指定 的 F ST功 能有效 ; 7 ,, △ 为 x轴方向退刀距离( I 半径指定 ); K为 Z轴 A 方 向退刀距 离 ; 粗加 工 循 环 次数 ;s 精加 工 d为 n为 形状 程 序 的第 一个 段 号 ;f n 为精 加 工 形状 程 序 的
非 圆 曲线形状 的工 件 在数 控 车 削 中属 于较 复
距 离及方 向。
杂的零件类别, 一般运用拟合法来进行加工。而此 类方 法 的特点是根 据零件 图纸 的形状误 差要 求 , 把 曲线用许多小段的直线来代替 , 根据零件 图纸 的形 状误差, 如果要求高, 直线 的段数就多 , 虽然可以凭 借 C D 软件 来计 算 节点 的坐标 , 是 节点 太 多也 A 但

数控车加工非圆曲线编程探讨

数控车加工非圆曲线编程探讨

数控车加工非圆曲线编程探讨摘要:随着科学技术的进步,现代化制造业较之传统制造业取得了相当大的进步,数控技术和数控设备是现代化制造业的基础,它们的发展水平关系到国家的经济发展、综合国力和战略地位,因此,我国在数控技术及产业发展方面采取了重大措施,使我国数控领域得到可持续发展。

本文简要介绍了数控机床的概念,详细论述了数控加工和数控加工的编程方法,并且重点研究了非圆曲线的编程方法。

关键词:数控机床;数控加工;非圆曲线加工;编程方法前言:数控技术也叫做数字化控制技术,是一种按照控制程序,控制程序是工作人员用计算机事先编好的,来执行对机械设备的运动轨迹和外设的操作时序逻辑控制功能,进行机械零件加工的技术,计算机软件的应用代替了原先用硬件逻辑电路组成的数控装置,实现了存储数据、处理数据、运算数据、逻辑判断等各种控制机能,是制造业信息化的重要组成部分。

随着智能化、网络化技术的发展,数控技术向着高效率、高质量、高精度的方向发展。

数控技术在信息产业、生物产业、航空航天国防工业等各领域得到广泛应用,以提高制造能力和水平,提高对市场的适应力和竞争力,数控技术的应用是制造业成为信息化的象征,对我国社会经济的发展起着越来越重要的作用,因此,为实现经济迅速发展、提高综合国力和国家地位,必须大力发展以数控技术为核心的现代化制造技术及其产业。

1.数控机床数控机床也叫做数字控制机床,是一种装有能够逻辑地处理具有控制编码或其他符号指令规定的程序控制系统,并通过译码,用代码化的数字表示出来,通过信息载体输入数控装置,经运算处理由数控装置发出的各种控制指令,来控制机床的动作,按照图纸要求的尺寸和形状,自动的将零件加工出来的自动化机床,具有高度柔性、高精度、加工质量稳定可靠、加工效率高、自动化程度高等优点,数控机床能够很好地解决复杂、精密、小批量、多品种零件的加工。

数控机床的基本组成包括加工程序载体(主机)、伺服与测量反馈系统、数控装置、数控机床辅助装置、机床主体。

数控车床上非圆曲线加工方法探讨

数控车床上非圆曲线加工方法探讨

o d s o f n o n c i r c u l a r C H I V e w a s i n t r o d u c e d, wh i c h wa s u s e d t o p r o g r a m a n d p r o c e s s w i t h t h e F AN UC O i Ma —
No n— c i r c ul a r Cu r v e Pr o c e s s i n g Me t h o d o f CNC La t h e
Z HA N G J i e — y u , Q U A N X i u - m i n , H U A N G H o n g - b i n g
t e TC NC s y s t e m wi t h ma c r o p r o ra g m f u n c t i o n a n d u s i n g o f s o f t wa r e a u t o ma t i c g e ne r a t i o n o f f u n c t i o n a 1 . Ac c o r d i n g t o t h e a c t u a l s i t u a t i o n, i t c a n c ho o s e d i f f e r e n t me t h o d s c o mp i l e d NC p r o g r a m i n p r o d u c t i o n t o i mp r o v e t h e a c c u r a c y o f n o n c i r c u l a r c u r v e p r o g r a mmi n g . Ke y wo r d s: CNC t u r n i n g; ma c r o p r o ra g m; n o n — c i r c u l a r c u r v e

非圆曲线加工

非圆曲线加工

模块七 非圆曲线加工
图7.4 标号(1~ 3)可以多次使用 b.DO的范围不能交叉,如图7.5所示。
图7.5 DO的范围不能交叉 c.DO循环可以3重嵌套,如图7.6所示。
模块七 非圆曲线加工
图7.6 循环可以3重嵌套 d.(条件)转移可以跳出循环的外边,如图7.7所示。
图7.7 条件转移可以跳出循环 e.(条件)转移不能进入循环区内,注意与上述d对照。 如图7.8所示。
模块七 非圆曲线加工
局部变量(#1~#33)是在宏程序中局部使用的变 量。当宏程序1调用宏程序2而且都有变量#l时,由于 变量#1服务于不同的局部,所以1中的#1与2中的#1不 是同一个变量,因此可以赋于不同的值,且互不影响。 公共变量(#100~#199、#500~#999)贯穿于 整个程序过程。同样,当宏程序1调用宏程序2而且都 有变量#100时,由于#100是全局变量,所以1中的 #100与2中的#100是同一个变量。 5.变量的赋值 赋值是指将一个数据赋予一个变量。例如:#1=0, 则表示#1的值是0。其中#1代表变量,“#”是变量符 号(注意:根据数控系统的不同,它的表示方法可能 有差别),0就是给变量#1赋的值。这里的“=”是赋 值符号,起语句定义作用。
模块七 非圆曲线加工
(7)括号的应用 表达式中括号的运算将优先进行。连同函数中使用 的括号在内,括号在表达式中最多可用5层。 7.控制指令 通过控制指令可以控制用户宏程序主体的程序流程, 常用的控制指令有以下三种: 转移和循环: IF语句:条件转移;格式为:IF…GOTO… 或IF…THEN… GOTO语句:无条件转移 WHILE语句:当…时,执行循环 (1)条件转移(IF语句) IF之后指定条件表达式。 ①IF [<条件表达式>] GOTO n 表示如果指定的条件表达式满足时,则转移(跳转) 到标有顺序号n(即俗称的行号)的程序段。

普通数控车床准确加工母线为非圆曲线的工件方法初探

普通数控车床准确加工母线为非圆曲线的工件方法初探

N l G0 0. Z一5 1 2 X5 0. R5. t
N 1 0 X5 2 G0 5. Z1 t . N l 3 X3 . 4
N 1 4 G0 X4 . 1 0 Z-2 F 4t . 0. N 1 G0 5 . Z 0 5 0 X1 0 2 0.T0 0 10
N 1 0 S 5 0 T0 0 6 M 3 1 0 2 2 t N 1 0 5 0 T0 6 M 3 S1 0 2t
N 1 G0O 2. 7 X0 Z t N l G0 Z 8 1 一4. F0. 2 1t
N 1 G0 2. 9 0Z 。
N2 O X l 0. Z 0 5 2 0.T0 0 2 0l N21 0 ¥ 0 4 4 M 0 M 3 5 0 T0 0 8l
N2 0 XO 2 t 2 G0 2.
N2 3 G0 W 一1 l 5. F 1 0. 2。 N2 0 W 5. 4 G0 t N2 5 G0 W 一1 . F0 1 1 5 . 2:
戡广
2 、走刀方 向的科学设计方法
一 是无 限的 , 这就需在制定加工工 艺时 , 须考虑合理而充分地利用 内 存。 粗加工 时可采用径向走刀方案, 能够充分将 内存 加以利用 。 多次 循环径 向走刀 , 就产生了许多插补数据 , 比轴向走刀 , 相 明显节省 了 内存 空间 , 使得精加工 的插补 点数大大增 加, 从而使得插补精度大 大随着提高 。 可见 , 精加工采用沿曲线轴 向走刀 、 圆弧插补的加工方
1 、插补精度技术 方法
() I选择 圆弧插补 方式。 线插补方式 , 直 占用 内存较大 , 主要 的 原因就是这种方式的 曲线划分段数 , 需要足够 多 , 可使得较高 的 方 加工精度得到保证 。 这样 在选择加工 曲线插补方式时 , 最好 的方 式 应该是 采用圆弧插补方 式了 。 () 2插补 圆半径 的选取——选取等弦长 曲线 内各微 曲线的平 均 曲率 半 径 。 由于 曲线上某点的曲率 圆跟 曲线在该点 , 在切线和曲率上是相 同的。 圆弧插补半径 , 就采取划分好的各曲线段 的曲率半径。 这样操 作 的好处就 是 , 提高 圆弧插补半 径始 终与 曲线 的弯曲程度 吻合度 , 并使得插 补精 度能够 大大地提高 。 这就要求必须 保证 插补 准确性 , 那 么方法就 是求取准确的 曲率 半径。 如果对 曲线进行划分 , 将划分的标准定为等坐标长 , 就特别 的 需要注意 , 沿该坐标不均匀变化的曲线 , 曲率准确性 , 受不同坐标点 的曲线形状变化的严重影响 。 了提高曲率准确 性 , 为 笔者划分 的方 法 采用沿 曲线走 向, 以等弦长进行曲线划分。 这样 能得 到最佳 的拟 合效果。 因是该段 曲线的曲率半径为 , 原 经过再细分 的许 多微 线段 的平均 曲率半径 。 这样操作的效果是, 也能获得较好 的拟合效果 , 其 中也包括 了起伏较大 、 变化很不 均匀 的曲线。

非圆曲线数控加工解决方案研究

非圆曲线数控加工解决方案研究
2 0 1 3年 1 1 月
安 阳工 学 院 学 报
J o u na r l o f An y a n g I n s t i t u t e o f T e c h n o l o g y
NO V . 2 0 1 3
第 l 2卷 第 6期 ( 总第 6 6期 )

( _ 5 z _ 2 )
图 1端 面 为 椭 球 面 的 零 件

- Z 2 ( - 5 < - z 一 2 )
图 2图 1所 示 零 件 的 椭 圆 及 其 方 程
加工如图 1 所 示 零 件 .在 设 置 Z轴 零点 偏 置 时, 须计 算 R 2 0 ( 即 Z轴 零 点偏 置 ) 初始值 , 方 法 是
工作。
1 4
安 阳工 学 院学 报
2 0 1 3正
给量 降低 至 O . 1 m m / r , Z向最 大切 削 深度 为 0 . 3 mm。 加工 程序 如下 : F R1 1 . MPF 主程 序名
T1 D1
M3 S 1 O 0 o G9 5 F 0 . 3 G0 X1 0 0 Z1 0 0
曲线零件加工 。 提 出 了一 种 具 有 普 遍 意 义的 解 决 方 案 。 关键词 : 非圆曲线; 零点偏置 ; 参数编程 ; 解 决 方 案
中图 分 类 号 : T G6 5 9 文 献 标 志码 : A 文章编号 : 1 6 7 3 — 2 9 2 8 ( 2 0 1 3 ) 0 6 — 0 0 1 3 — 0 3
X2 7 . 5 Z5 R2 0 =2 . 8 P Y:
首先计算 z轴剩余切削余量 ,然后进行微量调整 ,
保 证 半 精加 工 第 一次 走 刀 有 适 当 的切 削 深度 且 精 加 工有 合适 的余 量 。该 椭 圆短半 径为 5 mm, 椭 圆对 称 中心位 于工 件右 端面右 侧 2 m m, 所 以 z轴剩余 切 削余量为 3 mm, 若 保 证精 加 工 余 量 为 0 . 3 m m, 可 设 置 初始 Z轴 零点 偏置 值 为 2 . 8 m m, 半 精 加工 第一 次 走 刀最 大切 削深度 为 3 — 2 . 8 - - 0 . 2 mm,接下 来半精 加 工 还需要 五 次走 刀 。 每刀 Z方 向最 大切 削深 度 均为 0 . 5 m m, 最 后 一 刀精 加 工 , 转速提高至 l 8 0 0 / mi n , 进

数控车削加工非圆曲线轴

数控车削加工非圆曲线轴
情境5 数控车削加工非圆曲线轴
圆锥轴套
圆锥轴
任务一数控车削 加工圆锥轴套配 合件
任务二数控车 削加工非圆曲 线轴
1. 2. 3. 4. 5.
掌握加工零件的工艺规程制定内容。 掌握锥面配合的应用知识。 掌握非圆曲线的参数方程。 掌握数控车非圆曲线的基本方法。 掌握淬火钢加工的知识。
1. 能正确完成装配图、零件图样分析。 2. 能进行组合件的加工步骤分析,提高复杂 零件工艺分析的能力。 3. 能在实际编程中运用非圆曲线方程。 4. 提高复杂及曲面零件数控编程的能力。 5. 能合理给定相关宏程序编程的数值,提高 非圆曲线图的加工精度。 6. 能合理选择刀具并确定切削参数。 7. 能正确选用、使用通用工艺装备。
2)刀具安装
车刀不能伸出过长;刀尖应与主轴中心等高。
首次对刀包括X和Z两个坐标轴方向。 调头后,X轴方向的对刀值不变,仅进行 Z方向的对刀即可。
(1)输入程序
(2)刀具补偿 (3)自动加工
质 量 检 验
拆除工件,去毛刺倒棱并进行自检自 查。
【注意事项】 1)工件需调头加工,注意工件的装夹部位和程序零点设置 的位置。 2)合理安排零件粗、精加工,保证零件精度要求。 3)外圆车刀不应与正弦曲面产生干涉。 4)合理选用淬火钢外圆车刀的切削用量。精加工时最好选 用带高精度刀垫的可转位刀体。刀尖宜低于工件中心0.020.03mm。
知 识 链 接
1.圆锥结合的特点 2.圆锥结合的种类 3.关于圆锥配合的部分术语及定义 4 圆锥配合的基本要求 5.圆锥结合的误差分析 6.锥角的测量
迷 你 测 试
1.完成下列任务: (1)请记录机床操作流程。 (2)进行如图5-9、5-10、5-11、图5-12所示零件的加工并组装。

数控车非圆曲面螺纹编程与加工的探讨

数控车非圆曲面螺纹编程与加工的探讨

两个变量 ( 和 Y 的值 。 ) 宏 指 令 编程 属 于 高 级 语 言 编程 。它 可 以在 数 控 程 序 中 使 用 变 量 ,通 过 对 变 量 进 行 赋 值 ,变 量 问 可 以进 行 算 术 运 算 、逻 辑 判 断 和 跳 转 等 操 作 。 对 上 述 曲线 轮廓 的 加 工 .笔 者 认 为 :求 出 曲线 上 任 意
于 非 圆 曲 面螺 纹 加 工 ,数 控 系 统 则 没 有 现 成 的螺 纹 加 工 指
令 。本 文 图 2工 件 的编 程 正 是 利 用 G 2螺 纹 指 令 结 合 非 圆 3 # =a 1 # =b 2
#= 3 #l
( 值# 赋 l为 a长 半 轴 ) ( 值{ 赋 } 2为 b短 半 轴 )
时 ,执 行 以下 WH L IE至 E D1 序 段 ) N 程 # = 2 C S [ 1 4# "O # ] # = "3 SN [ 1 5 2# " I # ]
G1 # X 5 Z 4 #
或 转 向语 句 G T 编 程 。用 直 线 插 补 G1 令 进 行 “ 近 ” OO 指 逼 加 工 :而对 于 同 一 类 中的 相 似 零 件 ,用 宏 指 令 对 该 组 中 某
( 3为 Z 向为 变 量 ) #
曲线 轮 廓 宏程 序 编 写 的 。其 中 G 2螺 纹 切 削指 令 格 式 为 : 3
G3 ( 2X U)_ ( Z W)一 一 F
式 中 :X ( ) U 、z ( )为 螺纹 切 削 的终 点 坐 标 值 ; w x ( 值 省 略 时 为 圆柱 螺 纹 切 削 ; U) Z ( )值 省 略时 为端 面 螺 纹 切 削 ; W F值 为 导 程 ( 螺距 × 数 ) 。 线 同 样 地 ,笔 者 分 别 以直 径 、长 度 和 角 度 为变 量 探 讨 其

巧用数控车床对非圆曲线类零件加工

巧用数控车床对非圆曲线类零件加工

巧用数控车床对非圆曲线类零件加工前言以抛物线、椭圆、双曲线为例,介绍了数控车削加工中,采用宏程序编制非圆曲线零件的加工程序的几种方法,并进行比较。

有效地解决了数控车削加工中非圆曲线零件的粗精加工,简化了此种零件加工程序的编制。

关键词:宏程序非圆曲线椭圆抛物线摘要文章分析了宏程序功能的突出特点、编程思路及常用编程格式,并以FANUC或SIEMENS系统数控车床为例,对含抛物线椭圆、双曲线轮廓的非圆曲线类数控车削零件,如何用宏程序来加工的设计思路、工艺参数、结构流程图及程序编制等进行了具体分析。

在数控车削加工中,宏程序使用变量、算术、逻辑运算及循环语句等方法,能够编制传统数控编程无法实现的非圆曲线类零件的加工,其变量编程方式增加了应用对象的灵活性,使宏程序具有通用性,大大增强了数控机床的使用功能。

正文部分:1.宏程序1.1.宏程序简介宏程序的适用范围:①. 形状类似但大小不同②大小相同但位置不同. ③特殊的形状(如椭圆、抛物线等等).1.1.1 宏程序的特点宏程序是一种具有计算能力和决策能力的数控加工程序。

特点:1.1.1.1计算能力使用了变量或者表达式。

如:⑴ G01 X[3+5] 其中包含了表达式⑵ G00 X4 F[#1] 其中包含了变量⑶ G01 Y[50*SIN[3]] 其中包含了函数1.1.1.2决策能力使用了程序流程控制。

如:⑴ IF #3 GE 9 其中包含了选择执行命令……END⑵ WHILE #1 LT #4*5 DO 其中包含了条件循环命令……END1.1.2 宏程序的格式1.1.2.1变量的表示#1=m #2=n1.1.2.2 计算原则遵守四则混合运算法则,先乘除,后加减,有括号的自里向外计算。

1.1.2.3 比较运算符大于--GT小于--LT大于等于--GE小于等于--LE1.1.2.4 转移指令1.1.2.4.1 无条件跳转移GOTO XX XX表示跳转目标1.1.2.4.2 有条件跳转移IF MM GOTO XX MM表示条件,XX表示跳转目标WHILE MM DO XX MM表示条件,XX表示跳转目标1.2抛物线零件抛物线零件图1.2.1 分析加工工艺:1.刀具选择: 90°外圆车刀2.加工路线选择:从加工难度考虑,零件轮廓直径30mm外圆柱面轮廓较为简单,其中包括长20mm抛物线轮廓,分析图样得知,该零件应该可以在一次装夹中完成,装夹方案如下:使用三爪卡盘夹持部分在毛坯直径40mm处,伸出长度超过45mm即可。

非圆曲线编程方法分析与研究

非圆曲线编程方法分析与研究
G0 0 X1 00 Z1 o 0
M0 2
2 方法二 : 粗 加 工 自定 义 法
3 方 法三 : L C Y C 9 5切削循环
粗加工 自定义方法编程 ,在程序中设置 x轴方 采用 L C Y C 9 5 循环方法编程 , 刀具路径类似于方 向的变量 R 4 0 , 每循环一次 , R 4 0 就减小一个设定值 , 此设定值就是 切削深度 , 此处设 定值为 1 , 也就是粗 法二 ,它是由数控系统根据机床操作人员所设定的 L C Y C 9 5 参数值计算得 出的 , 切 削深度较均匀 , 刀具 加 工 切 削深 度 为 1 a r i n( 半径量 ) 。粗 加 工工 进 运 用 路径较优 , 编程方法较为简单 , 是一种 比较好 的编程 G 0 1指 令 , 沿 z轴 直 线 插 补 , 主轴转速 6 0 0 r / mi n 、 进
《 装 备制造 技术 ) 2 0 1 3 年第 1 0期
非 圆 曲线编 程 方 法分 析 与研 究
范仁杰 , 赵美云
( 铜陵职业技术学院, 安徽 铜陵 2 4 4 0 0 0 )
摘 要: 提 出了母 线为椭圆的回转体零件粗 、 精加 工的三种编程方法 , 分别是 G1 5 8零点偏置法、 粗加 工 自定义法、 L C YC 9 5
在编程工作 中,经常把能完成某一功能 的一 系列指 令像子程序那样存人存储器 ,用一个总指令来代表 T I D1 ; 调 用粗 车刀 S 6 0 0 它们 , 使用时只需给出这个总指令就能执行其功能 , M03
程序格式 : G 1 5 8 X _ _ z _ 可编程零点偏移 G 1 5 8 取消偏移 程 序如 下 :
刀, 工件直径不足 4 8毫 米 时 , 前 几 刀 很 可 能 会 切 不

数控加工中非圆曲面加工工艺研究

数控加工中非圆曲面加工工艺研究

进行三维零件造型, 然后根据使用 的数控机床和刀 具输入正确的加工参数就可以生成正确 的数控加工 程序 。只要造型和刀具参数正确 , 就基本上能加工
出正确的零件 , 在 电脑屏幕上看到 的形状 , 就是加 工出来的产品形状 了, 正是 由于它的这种直观性 , 更 便于制造工程师进行工艺分析 , 制定 出最佳 的工艺 方案。C A D / C A M 软件的这种特性 同样可用来为数 控手工编程服务。以椭圆加工为例 , 如图 1 所示。
第2 9 卷 第1 4 期 2 0 1 3 年7 月
甘肃科技
Ga n s u S c i e n c e a n d T e c h n o l
0 r f . 2 9
^ r D . 1 4
1 试. 2 0 1 3
数 控 加 工 中 非 圆 曲面 加 工 工 艺 研 究
程 , 2 0 0 6 . Nhomakorabea[ 3 ] 王睿 . M a s t e r C A M 9实 用教程 [ M] . 北京: 人 民邮 电出
版社 , 2 0 0 7 .
[ 4 ] 周 志强 . 模具数控加 工技术 [ M] . 北京 : 高等教 育 出版
社, 2 0 0 2 .
( 上接第 4 5页)

计算 , 生成加工程序传送到数控机床进行零件加工。 手工编程产生的数控程序比较简练, 适合加工一些
相对 比较简单 的零件 , 而加工 比较复杂的曲线 、 曲面 等要编写较复杂的宏程序 , 所以对数控编程也提 出 了更高的要求 。一般都是利用二维的零件 图纸进行 工艺分析 , 技术人员在分析一些具有复杂曲面 的零 件时, 往往难 以想象零件的空间三维形状 , 难以进

数控机床非圆曲线的加工

数控机床非圆曲线的加工

OCCUPATION932012 10案例C ASES数控机床非圆曲线的加工耿艳梅 胡庆峰数控机床加工非圆曲线,因数控系统不同,其编程方法也有所不同,FANUC系统用的是宏程序编程,SINUMERIK 系统所用的是R参数编程,FAGOR系统所用的是计算机高级语言编程。

笔者主要探讨宏程序编程的方法。

一、宏程序编程特点将一组命令所构成的功能,像子程序一样事先存入存储器中,用一个命令作为代表,执行时只需写出这个代表命令,就可以执行其功能。

这一组命令称做用户宏主(本)体(或用户宏程序),简称为用户宏(Custom Macro)指令,这个代表命令称为用户宏命令,也称作宏调用命令。

使用时,操作者只需会使用用户宏命令即可,而不必记忆用户宏主(本)体。

用户宏的特征有以下几点:一是可以在用户宏主(本)体中使用变量;二是可以进行变量之间的运算;三是用户宏命令可以对变量进行赋值。

使用用户宏的方便之处在于可以用变量代替具体数值,因而在加工同一类的零件时,只需将实际的值赋予变量即可,而不需要对每一个零件都编一个程序。

用户宏程序功能有A、B两种类型,笔者主要研究B类宏程序编写非圆曲线的加工方法。

二、抛物线的加工加工如图1所示的抛物线,方程为Z =-2X 201。

设工件坐标系统如图1所示,抛物线的原点为工件坐标系统的原点。

设刀尖在参考点上与工件系统原点的距离为X =400mm,Z=400mm。

采用线段逼近法编制程序。

图1 抛物线B类型的宏程序加工程序:主程序:%0080N0010 G50 X200.0 Z400.0;N0020 M03 S700;N0030 T1010;N0040 G42 G00 X0 Z3.0 D10;N0050 G99 G01 Z0 F0.05;N0060 G65 P9010 A0.01 B2.0 C20.0 D-80.0 E0 F0.03;(调用加工抛物线的子程序,步距为 0.01mm,直径编程。

)N0070 G01 Z-110.0 F0.05;N0080 G40 G00 X200.0 Z400.0 T1000 M05;N0090 M02;子程序:P9010 子程序号N0010 #6=#8; 赋初始值N0020 #10=#6+#1; 加工步距(直径编程)N0030 #11=#10/#2; 求半径(方程中的X)N0040 #15=#11*#11;求半径的平方(方程中的X 2)N0050 #20=#15/#3; 求 X 2/20N0060 #25=-#20; 求 - X 2/20N0070 #12=#11*#2; 求 2X(直径)N0080 G99 G01 X#12 Z#25 F#9; 走直线进行加工N0090 #6=#10; 变换动点N0100 IF [#25 GT #7] GOTO 0020;终点判别N0110 M99; 子程序结束三、正弦曲线的加工加工图2所示的零件。

车工技师论文--用普通数控车床准确加工母线为非圆曲线的工件

车工技师论文--用普通数控车床准确加工母线为非圆曲线的工件

车工技师论文--用普通数控车床准确加工母线为非圆曲线的工件摘要:讨论了用普通数控车床准确加工母线为非圆曲线工件的插补技术要点,编制了通用的加工程序生成软件。

只需将工件的母线方程和几何参数输入该软件,即可生成NC 代码加工程序,并可在计算机上动画模拟加工全过程。

该软件应用于GSK-928 型数控车床加工时取得了良好效果。

1 引言普通数控车床的数控系统内存有限,计算功能不足,在拟合加工曲线时,一般只能采用直线插补和圆弧插补两种方式。

因此,用普通数控车床加工母线为非圆曲线的工件时较为困难,尤其对于一些母线较复杂而对形状精度要求较高的非圆曲线工件,其加工难度更大。

为简化母线为非圆曲线工件的加工程序编制,提高对该类工件的加工准确性和适应性,本文提出一种针对母线为非圆曲线工件的准确加工方法,并编制了相应的通用加工程序生成软件,经在数控车床上实际应用,效果良好。

2 提高插补精度的技术要点2.1 选择圆弧插补方式在选择加工曲线插补方式时,由于直线插补方式的曲线划分段数必须足够多才能保证较高加工精度,因此占用内存较大。

为兼顾对各种加工曲线的通用性,合理利用内存,保证较高加工精度,采用圆弧插补方式比较有利。

2.2 以等弦长曲线内各微曲线的平均曲率半径作为插补圆半径曲线上某点的曲率圆与曲线在该点具有相同的切线和曲率。

用划分好的各曲线段的曲率半径作为圆弧插补半径,可使圆弧插补半径始终与曲线的弯曲程度较好吻合,从而保证较高的插补精度。

因此,求取准确的曲率半径是保证插补准确性的关键。

若以等坐标长对曲线进行划分,则对于沿该坐标不均匀变化的曲线,其在不同坐标点的曲线形状变化对曲率准确性的影响不容忽视。

为此,我们采用了沿曲线走向以等弦长进行曲线划分的方法。

由于该段曲线是以经过再细分的许多微线段的平均曲率半径作为其曲率半径,所以即使对于起伏较大、变化很不均匀的曲线,也能获得较好的拟合效果。

其实现方法为借助计算机快速、准确的运算能力,用极小的递增量划分曲线并计算各段微曲线的曲率半径,将所得点到起点的直线距离与指定长度相比较,一旦达到规定的弦长长度时即产生一个插补点,计算出该段所有微曲线的平均曲率半径并将其作为圆弧插补半径。

非圆二次曲线的车削加工方法实例研究

非圆二次曲线的车削加工方法实例研究

本模块学习非圆二次曲线的车削加工方法,通过实例熟练掌握尺寸精度、形状位置公差和表面粗糙度的控制方法和确保方法,理解数控加工宏程序的编制方法。

1、零件图纸图1 实训图纸一2、工艺分析该零件主要的加工内容包括外圆粗、精加工、切槽及螺纹的加工。

加工工艺如下:<1)零件左端加工左端加工时从M20X1.5一直加工到外圆。

装夹时也应考虑工件长度,应以一夹一顶的装夹方式加工。

<2)零件右端加工右端加工较简单,只需夹住外圆,粗精加工椭圆即可。

3、刀具选择<1)选用的中心钻钻削中心孔。

<2)粗、精车外轮廓及平端面时选用93°硬质合金偏刀<刀尖角35°、刀尖圆弧半径0.4mm)。

<3)螺纹退刀槽采用4mm切槽刀加工。

<4)车削螺纹选用60°硬质合金外螺纹车刀。

具体刀具参数见下表刀具卡4、切削用量选择<1)背吃刀量的选择。

粗车轮廓时选用ap=2mm,精车轮廓时选用ap=0.5mm;螺纹车削选用ap=0.5。

<2)主轴转速的选择。

主轴转速的选择主要根据工件材料、工件直径的大小及加工的精度要求等都有联系,根据图2-1要求,选择外轮廓粗加工转速800r/min,精车为1500r/min。

车螺纹时,主轴转速n=400r/min。

切槽时,主轴转速n=400r/min。

<3)进给速度的选择。

根据背吃刀量和主轴转速选择进给速度,分别选择外轮廓粗精车的进给速度为130mm/min和120mm/min;切槽的进给速度为30mm/min。

具体工步顺序、工作内容、各工步所用的刀具及切削用量等详见下表。

切削用量表5、加工程序图2 实训图纸二图3 实训图纸三搜集整理,转载保留地址,谢谢!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数控非圆曲线加工工艺研究方案目录1 前言 (1)2 非圆曲线逼近的关键 (1)2.1 算法的选择 (1)2.2 算法实现的关键 (1)3 非圆曲线逼近的算法实现 (1)3.1 算法的流程图 (1)3.2 算法的解析 (4)4 软件开发与运行 (7)4.1 系统界面 (7)4.2 软件运行 (8)4.3 运行分析 (9)5 总结 (9)1 前言数控机床是一种依靠数字化的信息来实现自动控制的高度自动化机床,它具有高效率、加工精度高和加工质量稳定等优点,这使得数控机床在机械制造业中得到了日益广泛的应用。

当前我国的经济型数控机床,一般只具有直线插补和圆弧插补功能,并不具备抛物线、椭圆等非圆曲线的插补功能。

因此,当我们需要数控加工非圆曲线的轮廓时,就必须用直线或圆弧段去逼近非圆曲线。

对非圆曲线的逼近有直线逼近、圆弧逼近,分别可由G01、G02、G03完成加工,其中直线逼近较为简单,但逼近节点数多,导致数控程序往往过多,而圆弧逼近具有高效性,但计算过于复杂。

直线逼近的方法有等间距直线逼近、等弦长直线逼近和等误差直线逼近,圆弧逼近的方法有曲率圆法、三点圆法和相切圆法。

对于一个已知曲线,它的节点数主要取决于所用逼近线段的形状(直线段还是圆弧段)、曲线方程的特性和允许的逼近误差。

2 非圆曲线逼近的关键2.1 算法的选择对非圆曲线进行逼近,有不同的实现方法,包括直线逼近和圆弧逼近。

方法不同,最终得到的节点数也有所不同,因此选择好的一个算法对提高加工的效率和降低加工成本有着重要的作用。

在这次课程设计中,我们选择的算法是等间距直线逼近,并用等误差直线逼近作为优化算法。

2.2 算法实现的关键算法实现需要求出曲线的节点,而要求曲线的节点得先求出直线段与所逼近的曲线之间的最大逼近误差,而最大逼近误差的计算点就在曲线上某一点的切线斜率与直线段斜率相等的切点处,故关键问题是求出该切点。

一旦求出了该切点,就可以求出逼近时的最大误差,用于与允许误差作比较。

另外,由于此次课程设计是对任意非圆曲线进行逼近,因此求导数也成了一个关键的问题。

3 非圆曲线逼近的算法实现3.1 算法的流程图图1 等间距直线逼近的流程图2 等误差直线逼近的流程图3.2 算法的解析3.2.1 等间距直线逼近 等间距直线逼近是最简单的方法,已知椭圆方程12222=+by a x ,给定第一点(x(0),y(0)),间距步长Δx =0.1,求出i x ,将i x 代入12222=+by a x 即可求得一系列i y 。

i x 、i y 即为每个线段的终点坐标,并以该坐标值编制直线程序段(图3)。

图3 等间距直线逼近根据M ( x(0) , y(0) )、N ( x(1) , y(1) )两节点的坐标可求得如图3所示的逼近误差,方法如下:MN 方程:y=kx+c ,则直线MN 的斜率为 )0()1()0()1(x x y y k --= (3-1) 将M ( x(0) , y(0) )代入MN 方程:y=kx+c ,求得c=y(0)-kx(0) (3-2)利用椭圆参数方程x=a Cos(i),y=b Sin(i),求出椭圆曲线上的切线斜率为k 的切点坐标(x(2),y(2)),对参数方程进行求导得切点对应的参数弧度为 akb j -=arctan(3-3) 从而求出(x(2),y(2))。

联立式(3-1)、(3-2)、(3-3)求出逼近误差为1)0( )0()2()2(2+-+-=kkx yykxw(3-4)如果计算出来的逼近误差w小于或等于输入的允许误差v,则满足误差要求,即可进行直线逼近;否则令Δx为原来的一半,且返回重新计算逼近误差再次比较,直到满足误差要求为止。

等间距直线逼近的流程图如图1所示,星形线的等间距直线逼近算法与椭圆计算方法相同,参考椭圆计算过程即可。

3.2.2 等误差直线逼近等间距直线逼近虽然计算简单,但由于取定值Δx应保证曲线曲率最大处的逼近误差小于允许值,所以程序可能过多。

因此,在选择优化算法时,我们采用的是等误差直线逼近的节点计算法,而且对于曲率变化较大的曲线,用等误差法求得的节点数最少,从而输出的NC代码也大大减少,等误差算法计算如下:等误差直线去逼近曲线,就是使所有逼近线段的误差δ相等,如图4。

图4 等误差直线逼近椭圆参数方程为x=a Cos(i),y=b Sin(i),A点坐标(x(0) , y(0)),T点坐标(x(1) , y(1)),B点坐标(x(2) , y(2))。

(1)确定所有逼近线段的误差δ允的圆方程,即以起点A(x(0) , y(0))为圆心,允δ为半径作圆;(2)确定等误差圆与曲线公切线PT 的斜率k :以A 点为起点,利用参数方程x=a Cos(i),y=b Sin(i),增大弧度i 从而使横坐标变大。

从而得到下一个点T 坐标(x(1) , y(1)),弧度i 增大的步长为Δi=0.001*π。

对椭圆方程进行求导,利用T 点坐标求出曲线切线PT 斜率k : )1()1(22y a x b k -= (3-5) PT 直线方程为y=kx+c,代入点T 求得:c=y(1)-kx(1) (3-6)联立2式(3-5)、(3-6)和点A (x(0) , y(0))求得A 点到直线PT 距离: 1)1()1()0()0(2+-+-=k kx y y kx w (3-7)比较距离w 与等误差圆半径δ是否相等,若相等,则直线PT 为等误差圆与曲线两者的公切线;若w<δ,则返回以上算法令Δi 增大一倍重新计算距离w 直到w=δ;若w >δ,则返回以上算法令Δi 变为原来一半重新计算距离w 直到w=δ。

(3)求B 点坐标(x(2) , y(2))。

使AB 弦的斜率为k ,即使AB 平行PT ,设AB 的方程为y-y(0)=k(x-x(0)),联立式(3-5)公切线PT 的斜率k 和椭圆方程12222=+b y a x 可求得: )(2))0(2)0(2()2(2222222b k a a x k y ka x +∆+--= (3-8) 其中)(2))0()0(2)0()0(1)()((4))0(2)0(2(22222222222222222b k a b x ky y x k b a b k a a x k y ka +-+-++--=∆ 进而求出 y(2)=k(x(2)-x(0))+y(0) (3-9)(5)按以上步骤顺次求得其他各节点坐标。

星形线等误差逼近算法与椭圆相似,参考椭圆计算方法即可求得。

4 软件开发与运行4.1 系统界面本次课程设计使用Visual Basic 6.0软件,设计了两个窗口为一体的可执行程序,其中主界面可选择所需加工的非圆曲线函数、走刀方向、刀补、起刀点、NC代码坐标以及相关的加工参数,具有等间距直线逼近和等误差直线逼近两种逼近方法,并且对这两种方法进行比较分析。

通过点击“生成NC代码”按钮,可以进入图6的生成NC代码的窗口,可以对NC代码进行保存,可以返回主界面,也可以退出该程序。

图5 主界面图6 生成NC代码窗口4.2 软件运行以椭圆内轮廓加工、顺时针走刀方向为例说明等间距算法和等误差算法直线逼近非圆曲线的刀具轨迹,并比较两者的节点数和生成NC代码程序的长度,设允许误差为0.01,选择项和输入参数如图7所示。

图7 加工参数的选择与输入单击“绘原图”、“等间距逼近”按钮,运行结果的刀具轨迹如图8所示,等间距逼近所用的线段数为5920,生成的NC代码如图9所示。

图8 等间距逼近的刀具轨迹图9 等间距逼近的NC代码单击“绘原图”、“等误差逼近”按钮,运行结果的刀具轨迹如图10所示,等误差逼近所用的线段数为666,生成的NC代码如图11所示。

图10 等误差逼近的刀具轨迹图11 等误差逼近的NC代码4.3 运行分析从以上运行结果可以看出,非圆曲线的等间距直线逼近算法虽然简单,但逼近处理后的直线段较多,从经济效益上讲,此方法较差。

而由等误差直线逼近处理后,可以得到相对较少的直线段,经济效益高。

5 总结这次的课程设计,在刚开始做之前,我们组的每个人都感到了压力,因为毕竟这次是要利用VB或VC编程语言结合数控技术课程内容来完成课程设计,而且时间也并不充足。

在刚开始接触题目时候,没有丝毫的头绪,借住前人的成果,理解前人所做的东西,来逐步摸清我们课程设计真正所要做的工作。

课堂上老师讲直线逼近非圆曲线的数学处理时大概讲了三种的方法:等间距、等弦长和等误差,在我们理解了三种方法之后,确定使用等间距为初步算法,等误差为优化算法,因为等间距计算简单,但程序过多,而等误差计算复杂,但程序和节点数都相对少。

确定算法之后,我们遇到的问题是如何地在Visual Basic 6.0编程软件平台去实现直线逼近椭圆和星形线,VB编程语言我们大致都弄懂,但是具体操作还是不明白。

一开始我们使用椭圆和星形线的参数方程进行数学处理,实现过程很容易,而且不用分每一个象限去讨论,但是又遇到了另一个问题,使用参数方程计算出来的逼近误差太大了,远大于日常所要求的加工误差,所以还是以失败告终。

通过查阅高数知识和数控技术课本还有其他的一些参考资料,借住高数知识所提供的数学方法,我们使用标准方程去进行数学处理,虽然要考虑每一个象限,程序也由此变得繁琐,但是最终还是实现了我们之前的设想,计算出来的逼近误差最终可以变到0.01甚至更小。

有了等间距直线逼近的成功基础,在做等误差算法直线逼近的时候,只需理解好等误差数学计算的方法即可完成逼近,也通过比较,等误差法确实比等间距法所走的步数少一倍以上,符合了我们之前的设想。

通过这次的课程设计,把VB语言和数控仿真结合起来,加深了对非圆曲线加工的算法及其实现过程的理解,也提高了我们查阅资料和独自解决问题的能力,在遇到问题时候,我们组成员的互相讨论,迸发出来的学习激情,也提高了我们课程设计的积极性,给我们不仅带来了知识的增长和能力的提高,而且带来了更多的乐趣。

附录 VB主要源程序Dim daolu As Integer, daobu As IntegerDim X(5) As Double, Y(5) As DoubleDim qidaox As Single, qidaoy As Single, qidaoz As SingleDim quxian As Integer, pi As Double, zuobiao As Integer ‘定义变量Private Sub Command1_Click()Picture1.ClsText8.Text = ""Text9.Text = ""End Sub ‘清屏绘图区域Private Sub Command2_Click() ‘绘制坐标系Picture1.DrawStyle = vbSolidPicture1.DrawWidth = 1Picture1.Scale (-50, 50)-(50, -50)Picture1.Line (-50, 0)-(50, 0)Picture1.Line -(48, 2)Picture1.Line (50, 0)-(48, -2)Picture1.Print "X"Picture1.Line (0, -50)-(0, 50)Picture1.Line -(-2, 48)Picture1.Line (0, 50)-(2, 48)Picture1.Print "Y"Picture1.CurrentX = 2Picture1.CurrentY = -2Picture1.Print "O"pi = 3.1415926Picture1.CurrentX = aPicture1.CurrentY = 0If quxian = 1 Thena = Val(Text1.Text)b = Val(Text2.Text)For i = 0 To 2 * pi Step 0.001 ‘点命令绘制非圆曲线原图Picture1.PSet (a * Cos(i), b * Sin(i))NextEnd IfIf quxian = 2 Thena = Val(Text1.Text)For i = 0 To 2 * pi Step 0.001Picture1.PSet (a * Cos(i) ^ 3, a * Sin(i) ^ 3)NextEnd IfEnd SubPrivate Sub Command3_Click() ‘等间距直线逼近s = 0.1pi = 3.1415926o = 4a = Val(Text1.Text) ‘输入加工参数b = Val(Text2.Text)v = Val(Text3.Text)n = Val(Text4.Text)F = Val(Text5.Text)r = Val(Text6.Text)qidaox = Val(Text10.Text)qidaoy = Val(Text11.Text)qidaoz = Val(Text12.Text)d = Val(Text13.Text)Picture1.DrawStyle = vbDashPicture1.DrawWidth = 1If quxian = 1 Then ‘画椭圆If daolu = 1 Then ‘顺时针走刀方向If daobu = 1 Thene = 1a = a + rb = b + rEnd IfIf daobu = 2 Thene = 2a = a - rb = b - rEnd IfX(0) = aY(0) = 0Picture1.PSet (qidaox, qidaoy), vbRedPicture1.Line -(X(0), Y(0)), vbRedPicture1.DrawStyle = vbSolidPicture1.PSet (X(0), Y(0)), vbRedp = Format(X(0), "##0.00")q = Format(Y(0), "##0.00")If zuobiao = 1 ThenForm2.Text1.Text = "N1 G90 G17 G00 G4" & e & " D01" & " Z30 M03 S" & n & vbCrLf Form2.Text1.Text = Form2.Text1.Text & "N2 X" & p & " Y" & q & vbCrLfForm2.Text1.Text = Form2.Text1.Text & "N3 Z-" & d & vbCrLfElseForm2.Text1.Text = "N1 G91 G17 G00 G4" & e & " D01" & " Z30 M03 S" & n & vbCrLfForm2.Text1.Text = Form2.Text1.Text & "N2 X" & p & " Y" & q & vbCrLfForm2.Text1.Text = Form2.Text1.Text & "N3 Z-" & d + 30 & vbCrLfEnd Ifline1:Do While X(0) >= (-a + 0.0001)X(1) = X(0) - sY(1) = -(b * Sqr(Abs(a ^ 2 - X(1) ^ 2))) / aIf X(1) <> X(0) And Y(1) <> Y(0) Thenk = (Y(1) - Y(0)) / (X(1) - X(0))If k > 0 Thenj = Atn(-b / (a * k))End IfIf k < 0 Thenj = Atn(-b / (a * k)) + piEnd IfX(2) = a * Cos(j)Y(2) = b * Sin(j)w = Abs(k * X(2) - Y(2) + Y(0) - k * X(0)) / (Sqr(k ^ 2 + 1))End IfIf w <= v ThenPicture1.Line -(X(1), Y(1)), vbRedElses = s / 2GoTo line1End IfIf zuobiao = 1 Thenp = Format(X(1), "##0.00")q = Format(Y(1), "##0.00")If o = 4 ThenForm2.Text1.Text = Form2.Text1.Text & "N4 G01 X" & p & " Y" & q & " F" & F & vbCrLf End IfIf o >= 5 ThenForm2.Text1.Text = Form2.Text1.Text & "N" & o & " X" & p & " Y" & q & vbCrLfEnd IfElseIf o = 4 Thenp = Format(X(1) - X(0), "##0.00")q = Format(Y(1) - Y(0), "##0.00")Form2.Text1.Text = Form2.Text1.Text & "N4 G01 X" & p & " Y" & q & " F" & F & vbCrLf End IfIf o >= 5 Thenp = Format(X(1) - X(0), "##0.00")q = Format(Y(1) - Y(0), "##0.00")Form2.Text1.Text = Form2.Text1.Text & "N" & o & " X" & p & " Y" & q & vbCrLfEnd IfEnd Ifo = o + 1X(0) = X(1)Y(0) = Y(1)LoopPrivate Sub Command4_Click() ‘等误差直线逼近s = 0.001pi = 3.1415926o = 4a = Val(Text1.Text) ‘输入加工参数b = Val(Text2.Text)v = Val(Text3.Text)n = Val(Text4.Text)F = Val(Text5.Text)r = Val(Text6.Text)qidaox = Val(Text10.Text)qidaoy = Val(Text11.Text)qidaoz = Val(Text12.Text)d = Val(Text13.Text)i = Val(Text7.Text)Picture1.DrawStyle = vbDashPicture1.DrawWidth = 1If quxian = 1 Then ‘画椭圆If daolu = 1 Then ‘顺时针走刀方向If daobu = 1 Thene = 1a = a + rb = b + rEnd IfIf daobu = 2 Thene = 2a = a - rb = b - rEnd IfX(0) = a * Cos(i)Y(0) = b * Sin(i)Picture1.PSet (qidaox, qidaoy), vbGreenPicture1.Line -(X(0), Y(0)), vbGreenPicture1.DrawStyle = vbSolidPicture1.PSet (X(0), Y(0)), vbGreenp = Format(X(0), "##0.00")q = Format(Y(0), "##0.00")If zuobiao = 1 ThenForm2.Text1.Text = "N1 G90 G17 G00 G4" & e & " D01" & " Z30 M03 S" & n & vbCrLf Form2.Text1.Text = Form2.Text1.Text & "N2 X" & p & " Y" & q & vbCrLfForm2.Text1.Text = Form2.Text1.Text & "N3 Z-" & d & vbCrLfElseForm2.Text1.Text = "N1 G91 G17 G00 G4" & e & " D01" & " Z30 M03 S" & n & vbCrLf Form2.Text1.Text = Form2.Text1.Text & "N2 X" & p & " Y" & q & vbCrLfForm2.Text1.Text = Form2.Text1.Text & "N3 Z-" & d + 30 & vbCrLfEnd Ifline1:Do While i > 0i = i - s * piX(1) = a * Cos(i)Y(1) = b * Sin(i)If Y(1) <> 0 Thenk = -(b ^ 2 * X(1)) / (a ^ 2 * Y(1))w = Abs(k * X(0) - Y(0) + Y(1) - k * X(1)) / (Sqr(k ^ 2 + 1))End IfIf (w - v) >= 0.0001 ThenPicture1.Line -(X(1), Y(1)), vbGreenElses = s + 0.001GoTo line1End IfIf zuobiao = 1 Thenp = Format(X(1), "##0.00")q = Format(Y(1), "##0.00")If o = 4 ThenForm2.Text1.Text = Form2.Text1.Text & "N4 G01 X" & p & " Y" & q & " F" & F & vbCrLf End IfIf o >= 5 ThenForm2.Text1.Text = Form2.Text1.Text & "N" & o & " X" & p & " Y" & q & vbCrLfEnd IfElseIf o = 4 Thenp = Format(X(1) - X(0), "##0.00")q = Format(Y(1) - Y(0), "##0.00")Form2.Text1.Text = Form2.Text1.Text & "N4 G01 X" & p & " Y" & q & " F" & F & vbCrLf End IfIf o >= 5 Thenp = Format(X(1) - X(0), "##0.00")q = Format(Y(1) - Y(0), "##0.00")Form2.Text1.Text = Form2.Text1.Text & "N" & o & " X" & p & " Y" & q & vbCrLfEnd Ifo = o + 1X(0) = X(1)Y(0) = Y(1)LoopForm2.Text1.Text = Form2.Text1.Text & "N" & o & " G40 M02" & vbCrLfEnd IfEnd IfPrivate Sub Command5_Click()Form2.Visible = TrueEnd SubPrivate Sub Command6_Click() ‘程序结束EndEnd SubPrivate Sub Label21_Click()End SubPrivate Sub Option1_Click() ‘显示当前绘制的非圆曲线方程quxian = 1Label4.Visible = TrueText2.Visible = TrueLabel1.Caption = "标准方程:x^2 / a^2 + y^2 / b^2 = 1" & vbCrLf & vbCrLf & "参数方程:x=a * Cos(i) , y=b * Sin(i)"End SubPrivate Sub Option2_Click()quxian = 2Label4.Visible = FalseText2.Visible = FalseLabel1.Caption = "标准方程:x^(2/3) + y^(2/3) = a^(2/3)" & vbCrLf & vbCrLf & "参数方程:x=a * Cos(i)^3 , y=a * Sin(i)^3"End SubPrivate Sub Option3_Click() ‘选定顺时针走刀方向daolu = 1End SubPrivate Sub Option4_Click() ‘选定逆时针走刀方向daolu = 2Private Sub Option5_Click() ‘选定左刀具补偿daobu = 1End SubPrivate Sub Option6_Click() ‘选定右刀具补偿daobu = 2End SubPrivate Sub Option7_Click() ‘选定输出绝对坐标的NC代码zuobiao = 1End SubPrivate Sub Option8_Click() ‘选定输出相对坐标的NC代码zuobiao = 2End Sub。

相关文档
最新文档