刀具补偿设计论文_第1页
刀具补偿设计论文_第2页
刀具补偿设计论文_第3页
刀具补偿设计论文_第4页
刀具补偿设计论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

攀枝花学院本科课程设计 刀具半径补偿的原理 1 目录 1 刀具半径补偿的原理 .1 1.1 刀具半径补偿的坐标计算 .1 1.2 直线两端处刀具中心的位置 .1 1.3 转接矢量计算 .2 1.3.1 缩短型 .2 1.3.2 伸长型 .2 1.3.3 插入型 .3 1.4 缩短型转接交点的坐标计算 .9 1.4.1 直线与直线连接 9 1.4.2 直线与圆弧连接 10 1.4.3 圆弧与圆弧连接 11 2 刀具半径补偿程序流程图 13 2.1 流程图 .13 3 刀具半径补偿程序设计示列 14 3.1 伸长型 .14 3.1.1 G41 和 G02 刀具半径补偿准备工作 14 3.1.2 G42 和 G02 刀具半径补偿准备工作 .17 3.1.3 G41 和 G03 刀具半径补偿准备工作 .19 3.1.4 G42 和 G03 刀具半径补偿准备工作 .21 3.2 缩短型 .22 3.2.1 G41 和 G02 是加工不出来的 23 3.2.2 G41 和 G03 刀具半径补偿准备工作 .23 3.2.3 G42 和 G02 刀具半径补偿准备工作 .24 3.2.4 G42 和 G03 是加工不出来的 26 参考文献 .27 致谢 .28 攀枝花学院本科课程设计 刀具半径补偿的原理 2 1.刀具半径补偿的 原理 1.1 刀具半径补偿的坐标计算 在机床数控技术中已经讲述了刀具半径补偿的编程指令,刀具半径补偿建立和取消时刀具中心点的运动轨迹。本节将要介绍刀具半径十限的坐标计算,在轮廓加工过程中,刀具半径补偿分三个过程:刀具半径补偿的建立;刀具半径补偿的进行;刀具半径补偿的取消。在这三个过程中,刀具中心的轨迹都是根据被加工工件的轮廓计算的。通常,工件轮廓是由直线和圆弧组成的,加工直线时,刀具中心线是工件轮廓的平行线且距离等于刀具半径值,加工圆弧时,半径之差是刀具半径值,本节将要介绍的半径补偿计算是计算刀 具半径补偿建立和取消时刀具中心点与工件轮廓起点和终点的位置关系;工件轮廓拐角时刀具中心拐点与工件轮廓拐点的位置关系。由于轮廓线的拐点可是直线与直线、直线与圆弧、圆弧与圆弧的交点;拐角的角度大小又不同;又由于刀具半径补偿可是左侧 (c41)或右侧 (跳 )偏置,因此,计算公式很多,下面仅介绍部分计算公式: 1.2 直线两端处刀具中心的位置 若用半径为 r 的立铣刀加工图 3 20 中的直线 45,刀具中心的轨迹在刀具左例偏置时 (G41 方式 ),是 ab 直线;右侧偏置 (G42 方式 )时是 cd 线 ,只要计算 出端点 a,b 或 c,d 的坐标值, 就可使刀具准确移动。由于直线 Aa Ac r,过 A 点垂直于 AB 线, Bb Bc r,过 B 点垂直于 AB 线, A 点和 B 点的坐标值BBAA YXYX 、 、已由零件程序中给出,因此: 攀枝花学院本科课程设计 刀具半径补偿的原理 3 图 1.2.1 直线两端刀具位置 若把式 (3 18)中的 r 值的符号改为负号,则和式 (3 17)完全一样,因此在实际应用中,只用式 (3 17)计算直线端点处的刀具中心位置,在 G41 方式下 r 取正值 在 G42 方式下 r 取负值。 式 (3 15)、 (3 16)、 (3 17),适合于各种不同方向的直线,当 ABAB YYXX 、为负值时, sincos 和 为负值,当 AB 线平行于 X 轴时, 0sin,1co s ,当AB 线平行 Y 轴时 1sin,0co s 。 1.3 转接矢量计算 工件轮廓有拐角时,拐点可是直线与直线交点,如图 3 22、 3 23、 3 24所示。直线拐角时拐角的大小等于两直线矢量的夹角;直线与圆弧连接时拐角的大小是直线矢量与拐点处圆弧切线矢量的夹角;圆弧与圆弧连接时是两圆弧在交点处切线矢量的夹角,由于两矢 量夹角不同以及 G41, G42 偏置方向不同,使刀具中心轨迹的转接方式有所不同,共有三种转接方式: 1.3.1 缩短型 在 G41 方式下两矢量夹角。在 1800在 之间;在 G42方式下两向量夹角在 360180 之间,是缩短型,如图 3 22、 3 24a, b 及图 3 23c, d 所示,刀具中心在 c 点转折,没有到达由式 (3 17)算出的 B 点,比只加工 OA 直线时少走 CB 的距离,也比单程加工 AF 直线少走 DC 的距离。 1.3.2 伸长型 在 G41 方式 下,两矢量的夹角 360270在 之间;在G42 方式下,两向量的夹角 900在 之间,是伸长型,如图 3 22d、 3 23a 及攀枝花学院本科课程设计 刀具半径补偿的原理 4 3 24d 所示,刀具中心越过由式 (3 17)算出的 B 点,在 C 点转折,也比单独加工AF 直线多走 CD 的距离。 1.3.3 插入型 在 G4l 方式下,两矢量的夹角 270180在 之间,在G42 方式下,两向量夹角 18090在 之间,如图 3 22c、 3 23b 及 3 24c 所示,刀具中心在 C 点和 C点两次转折, CC是插入直线必须保证 BC=CD r(刀具半径 )。 图 3-22 G41 直线与直线转接情况 攀枝花学院本科课程设计 刀具半径补偿的原理 5 图 3 23 G42 直线与直线转接情况 攀枝花学院本科课程设计 刀具半径补偿的原理 6 图 3 24 G41 圆弧接圆弧时的转接情况 对于伸长型和插入型转接交点 c 和 c的计算适合于直线与直线、直线与圆弧、圆弧与圆弧的连接方式,但对于缩短型,由于连接线的不同算法是不同的。 伸长型转接交点 c 的坐标计算 攀枝花学院本科课程设计 刀具半径补偿的原理 7 图 3-23( a) 上两式中 21 和 是以 X 坐标轴正向为起始边,逆时针方向对轮廓线矢量的夹角,在图 3 22d 和图 3 24d 中, 2 270。 在 G41 方式时上式中 r 的符号为负。 即在 G41 时方式时的公式: )c o s (1 s ins in)( 12 21 rAC X )c o s (1 c o sc o s)( 12 21 rAC Y YX ACAC )(,)( 是 c 点对 A 点的坐标值,由于 A 点在工件坐标系中的坐标值已由 程序中给出,因此可求出 c 点对工件坐标系的坐标值。 插入型转接交点 C, C的坐标计算 根据刀具偏置方向 (G41, G42)不同,计算方式也不相同,图 3 22c 是 G41方式。 攀枝花学院本科课程设计 刀具半径补偿的原理 8 由于: 则有 图 3-22( c) 图 3 23b 是 G42 方式 攀枝花学院本科课程设计 刀具半径补偿的原理 9 同理: 图 3 23(b) 缩短型转接交点的坐标计算 直线与直线连接如图 3 22a、 b,图 3 24c、 d 所示, (AC)x 和 (AC)y 所用公式与伸长型相同,缩短型与伸长型 r 的符号也相同,即: G41 方式 r 为负, G42 方式 r 为正 。 图 3 22a 攀枝花学院本科课程设计 刀具半径补偿的原理 10 s in)( CBA BBABCBABAC X 1121 c o s2t a ns in rr 12 21c o s1 s ins in r 1121 s i n2t a nc o s ABABBEBBAC Y 12 21c o s1 c o sc o s r 在 G42 方式下 s in)( CBA BBABCBABAC X 1121 c o s2t a ns in rr 12 21co s1 sinsin r 1121 s i n2t a nc o s ABABBEBBAC Y 12 21c o s1 c o sc o s r 1.4 缩短型转接交点的坐标计算 1.4.1直线与直线连接 直线与直线连接如图 3 22, 23 所示, ()XAC 和 ()YAC所用公式与仲长型相同 v 缩短型与伸长型 r 的符 号也相同,即:以 G41 方式 r 为负, G42 方式为正。攀枝花学院本科课程设计 刀具半径补偿的原理 11 图 1-1 直线与圆弧转接交点 1.4.2直线与圆 弧连接 图 1-1 是以 1 方式直线与圆弧联接形式,工件轮廓线 是 ABC,B 点是直线与圆弧的支点, O 点是圆弧中心,,( , ) , ( , ) , ( ) , ( , )A A B B C C OOA X Y B X Y C X Y O X Y为已知点, ( , )AAA X Y点可用式( 3 17)求得。 也是已知点,由图可知 攀枝花学院本科课程设计 刀具半径补偿的原理 12 在 AOB 中,已知 AO , OB; OB =(r刀具半径 )。根据余弦定理可求出 AO 的模 由上式可求得直线与圆弧的两个交点,离 8 点近的为 B 点, AB 在 x 轴和 y 轴上的投影为 B 点的坐标 根据上述方 法,还可求出 N2 方式直线与圆弧的转按交点,及以 1, N2 方式圆弧与直线的转接交点。 1.4.3圆弧与圆弧连接 图 3 26 是以 G41 方式顺圆弧与顺圆弧联接时刀 具中心转接点计算图。1O圆弧的半径为1R,2O圆 弧半径为2R,刀具半径为 r,则 1 1 2 2 1 0 1 , 0 1 2 0 2 0 2, ; ( ) ( , )O B R r O B R r O X Y X Y 、 O为已 知点, 则三角形的三个边为己知边,根据余弦 定理可求出 21O O B 攀枝花学院本科课程设计 刀具半径补偿的原理 13 攀枝花学院本科课程设计报告 刀具半径补偿程序流程图 14 2.刀具半径补偿程序流程图 2.1 流程图 刀具半径补偿程序设计流程图如图 5 所示。首先打开数控加工源程序,读取被加工零件的轮廓信息以及刀具的走刀信息、刀具半径,采用矢量算法结合刀具偏置方向计算经刀具半径补偿后各段线段的刀具中心轨迹方程。然后确定相交两线段尖角过渡处的内、外偏形式,根据内偏求交点和外偏采用辅助圆弧过渡的处理方法计算出整个刀具中心运动轨迹。在利用 C语言开发的 WTUAPT系统软件中,采用这种计算方法成功地解决了刀具半径补偿问题,并经实际应用证明这种处理方法是简单有效的。 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 15 3.刀具半径补偿程序设计示列 3.1.伸长型 在 G41 方式下,两矢量的夹角 360270在 之间;在 G41 方式下,两向量的夹角 900在 之间,是伸长型。如下图所示: 3.1.1 G41 和 G02 刀具半径补偿准备工作 设刀具半径 r=20mm 的情况下带入公式: 22s i n ( ) ( ) ( )B A B A B AY Y Y Y X X 22c o s ( ) ( ) ( )B A B A B AX X X X Y Y 22s i n ( ) ( ) ( )O A O A O AY Y X X Y Y 22()c o s( ) ( )OA O A O AXXX X Y Y 在 AOB 中,已知 AO , OB; OB (R+r刀具半径 )。根据余弦定理可求出 2 2 2( ) s i nR r a o 的模 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 16 由上式可求得直线与圆弧的两个交点,离 8 点近的为 B 点, AB 在 x 轴和 y 轴上的投影为 B 点的坐标 刀具半径补偿清单 : /*650597 Lurunmin exp1.c LINE*/ /*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */ Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 , 1 , 2 , 3 , 1 , 2 , 3 x x x y y y; float , , ,R, a0 ,ab; int r=20; a0=sqrt( 22( 4 1 ) ( 4 1 )x x y y ); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入 A,B,C点和圆心坐标 */ Scanf(“%d”,&R) 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 17 =arcsin( 22( ) ( ( ) ( ) )B A B A B AY Y s q r t Y Y X X ); =arccos( 22( ) ( ( ) ( ) )B A B A B AX X s q r t X X Y Y ); = - ; ab=a0cos + 2 2 2( ) 0 s i nR r a ; /*AB的模长 */ x1=x1-rsin ,y2=y1+rcos ; x2=x1-rsin +abcos ,y2=y1+rcos +ab*sina ; /*B的坐标 */ Printf(“ d d d%d%d%dn”, x1,y1,x1,y1,x2,y2); int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色) */ Line(x1,y1,x2,y2); /* 画编程轨迹直线 AB*/ arc(x4,y4, , 31arctan31yyxx, R);/* 画编程轨迹圆弧 BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线 AB */ arc (x4,y4,, () , 3 1 a rc ta n3 1 yyxx, R+20); /* 画刀具中心轨迹直线 BC */ Getch(); /* 关闭程序 */ Closegraph(); / *关闭图形 */ 仿真结果 基于 Visual C 6.0 和 Microsoft Excel 软件,对前面所提出算法进行实现和 仿真。刀具半径补偿进行中(如图 3-1) 坐标 A(0,0),B(300,200), C 点( 694.517, 77.4)和 R=231.33. 图 3-1 刀具半径补偿进行中 G41 和 G02 方式下 伸长型转接 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 18 仿真结果 A (-11.09,16.64),B (287.15,215.47),C (714.24,80.7)。 3.1.2 G42和 G02 刀具半径补偿准备工作 设刀具半径 r=20mm 的情况下带入公式: 22s i n ( ) ( ) ( )B A B A B AY Y Y Y X X 22c o s ( ) ( ) ( )B A B A B AX X X X Y Y 22s i n ( ) ( ) ( )O A O A O AY Y X X Y Y 22()c o s( ) ( )OA O A O AXXX X Y Y 在 AOB 中,已知 AO , OB; OB =(R+r刀具半径 )。根据余弦定理可求出 2 2 2( ) s i nR r a o 的模 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 19 由上式可求得直线与圆弧的两个交点,离 8 点近的为 B 点, AB 在 x 轴和 y 轴上的投影为 B 点的坐标 刀具半径补偿清单 : /*650597 Lurunmin exp1.c LINE*/ /*650597 Lurunmin exp1.c ARC*/ #include /* 文件包含命令 */ Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 , 1 , 2 , 3 , 1 , 2 , 3 x x x y y y; float , , ,R, a0 ,ab; int r=20; a0=sqrt( 22( 4 1 ) ( 4 1 )x x y y ); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入 A,B,C点和圆心坐标 */ Scanf(“%d”,&R) =arcsin( 22( ) ( ( ) ( ) )B A B A B AY Y s q r t Y Y X X ); =arccos( 22( ) ( ( ) ( ) )B A B A B AX X s q r t X X Y Y ); = - ; ab=a0cos - 2 2 2( ) 0 s i nR r a ; /*AB的模长 */ x1=x1+rsin ,y2=y1-rcos ; x2=x1+rsin +abcos ,y2=y1-rcos +ab*sina ; /*B的坐标 */ Printf(“ d d d%d%d%dn”, x1,y1,x1,y1,x2,y2); int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 20 Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白 色) */ Line(x1,y1,x2,y2); /* 画编程轨迹直线 AB*/ arc(x4,y4, , 31arctan31yyxx, R);/* 画编程轨迹圆弧 BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线 AB */ arc (x4,y4,, () , 3 1 a rc ta n3 1 yyxx, R+20); /* 画刀具中心轨迹直线 BC Getch(); /* 关闭程序 */ Closegraph(); / *关闭图形 */ 仿真结果 基于 Visual C 6.0 和 Microsoft Excel 软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中在 A(0, 0), B(300, 200), C(694.517)和 R=231.33代入 图 3-2 刀具半径补偿进行中 G42 和 G02 方式下 伸长型转接 结果为 A (11.09, -16.64), b ( 312.93, 84.58), c ( 674.79, 74.1) . 3.1.3 G41和 G03 刀具半径补偿准备工作 刀具半径补偿清单: /*650597 Lurunmin exp1.c LINE*/ /*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */ Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 , 1 , 2 , 3 , 1 , 2 , 3 x x x y y y; float , , ,R, a0 ,ab; 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 21 int r=20; a0=sqrt( 22( 4 1 ) ( 4 1 )x x y y ); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入 A,B,C 点和圆心坐标 */ Scanf(“%d”,&R) =arcsin( 22( ) ( ( ) ( ) )B A B A B AY Y s q r t Y Y X X ); =arccos( 22( ) ( ( ) ( ) )B A B A B AX X s q r t X X Y Y ); = - ; ab=a0cos + 2 2 2( ) 0 s i nR r a ; /*AB的模长 */ x1=x1-rsin ,y2=y1+rcos ; x2=x1-rsin +abcos ,y2=y1+rcos +ab*sina ; /*B的坐标 */ Printf(“ d d d%d%d%dn”, x1,y1,x1,y1,x2,y2); int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色) */ Line(x1,y1,x2,y2); /* 画编程轨迹直线 AB*/ arc(x4,y4, , 31arctan31yyxx, R);/* 画编程轨迹圆弧 BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线 AB */ arc (x4,y4,, () , 3 1 a rc ta n3 1 yyxx, R-20); /* 画刀具中心轨迹直线 BC*/ Getch(); /* 关闭程序 */ Closegraph(); / *关闭图形 */ 仿真结果 基于 Visual C 6.0 和 Microsoft Excel 软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中。图 3-3 刀具半径补偿进行中 G41 和 G03 方式下 伸长型转接。 代入 A(0,0),B(300,200),C(338.57,611.32), R=231.33。 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 22 图 3-3 刀具半径补偿进行中 G41 和 G03 方式下 伸长型转接 得 A (-11.09,16.64),B (290.74,217.86),C (327.93,594.38) 3.1.4 G42和 G03 刀具半径补偿准备工作 刀具半径补偿清单: /*650597 Lurunmin exp1.c LINE*/ /*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */ Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 , 1 , 2 , 3 , 1 , 2 , 3 x x x y y y; float , , ,R, a0 ,ab; int r=20; a0=sqrt( 22( 4 1 ) ( 4 1 )x x y y ); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入 A,B,C点和圆心坐标 */ Scanf(“%d”,&R) =arcsin( 22( ) ( ( ) ( ) )B A B A B AY Y s q r t Y Y X X ); =arccos( 22( ) ( ( ) ( ) )B A B A B AX X s q r t X X Y Y ); = - ; 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 23 ab=a0cos + 2 2 2( ) 0 s i nR r a ; /*AB的模长 */ x1=x1+rsin ,y2=y1-rcos ; x2=x1+rsin +abcos ,y2=y1-rcos +ab*sina ; /*B的坐标 */ Printf(“ d d d%d%d%dn”, x1,y1,x1,y1,x2,y2); int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色) */ Line(x1,y1,x2,y2); /* 画编程轨迹直线 AB*/ arc(x4,y4, , 31arctan31yyxx, R);/* 画编程轨迹圆弧 BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹 直线 AB */ arc (x4,y4,, () , 3 1 a rc ta n3 1 yyxx, R+20); /* 画刀具中心轨迹直线 BC Getch(); /* 关闭程序 */ Closegraph(); / *关闭图形 */ 仿真结果 基于 Visual C 6.0 和 Microsoft Excel 软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中 代入 A( 0, 0) ,B( 300, 200) ,C( 338.57, 611.32)三点和 R=231.33。 图 3-4 刀具半径补偿进行中 G42 和 G03 方式下 伸长型转接 得出 A (11.09,-16.64)B (309.34,182.19),C (349.2,628.26)。 3.2 缩短型 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 24 3.2.1 G41 和 G02 是加工不出来的 3.2.2 G41 和 G03 刀具半径补偿准备工作 这个里面要用到圆弧接圆弧的情况,直线的就参考前面编程就可以了。 刀具半径补偿清单: /*650597 Lurunmin exp1.c LINE*/ /*650597 Lurunmin exp1.c ARC*/ #include /* 文件包含命令 */ Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3 ,y4, 1 , 2 , 3 , 1 , 2 , 3 x x x y y y; float , , ,1R=20,2R, oo; int r=20; oo=sqrt( 22( 4 3 ) ( 4 3 )x x y y ); Scanf(“%d%d%d%d%d%d%d%dn”, &x1,&y1,&x2,&y2, &x3,&y3,&x4,&y4); /*输入头 2个点和 2个点的圆心坐标 */ Scanf(“%d”, &2R); /*输入后一个圆的半径 */ =arccos( 2 2 21 2 1( ( ) ( ) ) ( 2 * * ( ) )o o R r R r o o R r ); oo=sqrt( 2( 4 3)XX + 2( 4 3)YY ); /*求 2 个圆心的距离 */ 13 ( ) s i nBY X R r ; = + ; =arccos( + ); 13 ( ) c o sBX X R r ; 13 ( ) s i nBY X R r ; /*B的坐标 */ Printf(“ d d n”,,BBXY); x1=x1-rsin ,y2=y1+rcos ; x2=x1-rsin +abcos ,y2=y1+rcos +ab*sina ; int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 25 路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色) */ Line(x1,y1,x2,y2); /*画直线 AB*/ Arc (x4,y4, , 31arctan31yyxx, r); /*画编程圆弧轨迹 BC*/ Line( 1x , 1y , 2x , 2y ); /* 画头刀具段轨迹直线 AB*/ Arc(x2,y2, ,1a r c ta n1BBYyXx,r); /*换前段刀具中心圆弧轨迹 BB*/ Arc(x4,y4, 1a r c ta n1BBYyXx , 1a rc ta n1BByyxx,2R-20); /* 画后段刀具中心圆弧轨迹 BC*/ Getch(); /* 关闭程序 */ Closegraph(); / *关闭图形 */ 仿真结果 基于 Visual C 6.0 和 Microsoft Excel 软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中 ,代入 A(0, 0), B(243.34, 136.8), C(441.69,-68.92)圆心( 342.47, 33.94), R=142.85。 刀具中心轨迹编程轨迹 图 3-2-1 刀具半径补偿进行中 G41 和 G03 方式 下缩 短型转 接 仿真出A (-22.95,40.83)B (221.57,176.13)B (274.53,104.43)C (410.4,-36.55)。 3.2.3 G42 和 G02 刀具半径补偿准备工作 攀枝花学院本科课程设计报告 刀具半径补偿程序设计示列 26 刀具半径补偿清单: /*650597 Lurunmin exp1.c LINE*/ /*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */ Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3 ,y4, 1 , 2 , 3 , 1 , 2 , 3 x x x y y y; float , , ,R,1R,2R, oo; int r=20,1R= =r; oo=sqrt( 22( 4 3 ) ( 4 3 )x x y y ); Scanf(“%d%d%d%d%d%d%d%dn”, &x1,&y1,&x2,&y2, &x3,&y3,&x4,&y4); /*输入 3 个点和圆心坐标 */ Scanf(“%dn”, &2R); /*输入第二个圆的半径 */ =arccos( 2 2 21 2 1( ( ) ( ) ) ( 2 * * ( ) )o o R r R r o o R r ); oo=sqrt( 2( 4 3)XX + 2( 4 3)YY ); /*求 2 个圆心的距离 */ 13 ( ) s i nBY X R r ; = + ; =arcos( + ); 13 ( ) c o sBX X R r ; 13 (

温馨提示

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

评论

0/150

提交评论