刀具半径补偿圆弧接圆弧设计_第1页
刀具半径补偿圆弧接圆弧设计_第2页
刀具半径补偿圆弧接圆弧设计_第3页
刀具半径补偿圆弧接圆弧设计_第4页
刀具半径补偿圆弧接圆弧设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、攀枝花学院本科课程设计刀具半径补偿的原理1 .刀具半径补偿的原理1.1 刀具半径补偿的坐标计算在机床数控技术中已经讲述了刀具半径补偿的编程指令,刀具半径补偿建立 和取消时刀具中心点的运动轨迹。本节将要介绍刀具半径十限的坐标计算,在轮 廓加工过程中,刀具半径补偿分三个过程:刀具半径补偿的建立;刀具半径 补偿的进行;刀具半径补偿的取消。在这三个过程中,刀具中心的轨迹都是根 据被加工工件的轮廓计算的。通常,工件轮廓是由直线和圆弧组成的,加工直线 时,刀具中心线是工件轮廓的平行线且距离等于刀具半径值,加工圆弧时,半径 之差是刀具半径值,本节将要介绍的半径补偿计算是计算刀具半径补偿建立和取 消时刀具中心

2、点与工件轮廓起点和终点的位置关系;工件轮廓拐角时刀具中心拐 点与工件轮廓拐点的位置关系。由于轮廓线的拐点可是直线与直线、直线与圆弧、 圆弧与圆弧的交点;拐角的角度大小又不同;又由于刀具半径补偿可是左侧(c41)或右侧(跳)偏置,因此,计算公式很多,下面仅介绍部分计算公式:1.2 直线两端处刀具中心的位置若用半径为r的立铳刀加工图320中的直线45,刀具中心的轨迹在刀具左 例偏置时(g41方式),是ab直线;右侧偏置(g42方式)时是cd线,只要计算出端点a,b或c,d的坐标值,就可使刀具准确移动。由于直线 aa=ac=r, 过a点垂直于ab线,bb=bc=r,过b点垂直于ab线,a点和b点的坐

3、标值xa、ya、xb、已由零件程序中给出,因止匕:a点:xa = xa-agya=ya + gab 点:xb=xbbeyb=ye+ebc 点:xc =xc ahyc 7a -hcd 点:xd =xb +bfyd =yb fd由图 1.2.1 可知:aaga、abeb、acha、adfb 都与 aamb 相似;am = xb xa,mb =% -yaam cosa =abxb-xa(xb -xa)2-(yb -ya)2(1-1)sina =mbabyb -ya/(xb-xa)2 -(yb -ya)2(1-2)14因此:a点:xa=xa-rsinag41b 点:xb=xbrsinaya =ya r

4、sinayb =yb rsi na(1-3)c点:xc = xa rsinag42d 点:xd = xb + rsinayc =ya - r sinayd =yb - rsina(1-4)图1.2.1直线两端刀具位置若把式(318)中的r值的符号改为负号,则和式(317)完全一样,因此在实际应 用中,只用式(317)计算直线端点处的刀具中心位置,在 g41方式下r取正值 在g42方式下r取负值。式(315)、(316)、(317),适合于各种不同方向的直线,当xb-xa、yb-ya 为负值时,cosa和sina为负值,当 ab线平彳t于x轴时,cosa = 1,sina = 0 ,当 ab 线

5、平行 y 轴时 cos® =0,sinu =1。1.3 转接矢量计算工件轮廓有拐角时,拐点可是直线与直线交点,如图322、323、324所示。直线拐角时拐角的大小等于两直线矢量的夹角;直线与圆弧连接时拐角的 大小是直线矢量与拐点处圆弧切线矢量的夹角;圆弧与圆弧连接时是两圆弧在交 点处切线矢量的夹角,由于两矢量夹角不同以及g41, g42偏置方向不同,使刀具中心轨迹的转接方式有所不同,共有三种转接方式:1.3.1 缩短型 在g41方式下两矢量夹角。在值在0一180-之间;在g42 方式下两向量夹角在180二 360 :之间,是缩短型,如图 322、3 24a, b及图3 23c, d所

6、示,刀具中心在c点转折,没有到达由式(317)算出的b点,比只加 工oa直线时少走cb的距离,也比单程加工 af直线少走dc的距离。1.3.2 伸长型 在g41方式下,两矢量的夹角a在270二360之间;在 g42方式下,两向量的夹角a在0二90二之间,是伸长型,如图322d、323a及 3-24d所示,刀具中心越过由式(317)算出的b点,在c点转折,也比单独加工 af直线多走cd的距离。1.3.3 插入型 在g41方式下,两矢量的夹角a在180二270二之间,在 g42方式下,两向量夹角a在90:180二之间,如图322c、323b及324c所示, 刀具中心在c点和c'点两次转折,

7、cc'是插入直线必须保证bc=c'd = r(刀具半 径)。c)d)图3-22 g41直线与直线转接情况图3 23 g42直线与直线转接情况图3 24g41圆弧接圆弧时的转接情况对于伸长型和插入型转接交点c和c'的计算适合于直线与直线、直线与 圆弧、圆弧与圆弧的连接方式,但对于缩短型,由于连接线的不同算法是不同的。伸长型转接交点c的坐标计算图132a是g42方式,由图可知:ab=ad=r (刀具半径),ab i ag , , ad _l af , bb _l ax ,又 zxag =a1 ,因此'b bad =ngaf = a = a2 -a,/abb = aa

8、1因为 abc之acd所以bac = (1/2) bad =(1/2)(a2a)bc = ab tan(a2 2 a1) = r tan(a2 2 a1)(1-5)因为bc jox,bc _oa所以. bce =a1ec=bccosa(1-6)将式(1-5)带入式(1-6)中,得ec = b'c ' = r tan( a2一a1) cos a12令ac在x轴和y轴的投影为(ac)x,(ac)y,则(ac)x = ab b c= asbn abb b c,声2-4、sinai sin a?=r sin a1 r tan()cos a1 = r 21 cos(a2 - a1)同理,

9、可求得 ac在y轴上的投影(ac)y为-cos a cos a?(ac)y = r21 cos(a2 - a1)图 3-23 (a)上两式中巴和豆2是以x坐标轴正向为起始边,逆时针方向对轮廓线矢量的火 角,在图 322d和图 324d 中,。2 >270。在g41方式时上式中r的符号为负。即在g41时方式时的公式:(ac)x(ac)y "sin 二 1 sin 二 21 cos(: 2 一二 1)-cos - 1 -cos - 21 cos(: 2 1 1)(ac)x,(ac)y是c点对a点的坐标值,由于a点在工件坐标系中的坐标值已 由程序中给出,因此可求出c点对工件坐标系的坐

10、标值。插入型转接交点c, c'的坐标计算根据刀具偏置方向(g41, g42)不同,计算方式也不相同,图 322c是g41 方式。由于:ab 二bc =ad =dc'=ra b_ o aa d_ afbay则有(ac)(= bh bl bcq *c bh sa n=r(cosa -sinai)(ac)y =al hc = abcos bay bcsin cbh = r(cosa1 sina1) 一一 ' _ _ _ _ _ '(ac )x = ed di = r cos. xad r sin ic d二 rcos(a2 90 ) sin(270 -a2)=r(-s

11、ina2 -cosa2) ''.(ac )y =ci -ae =rcos(270 -a2)-rsin(a2 90 )=r(一 sina2 cosa2)图1.3.1 (c)是g42方式(ac)x =lb-bh =rsin bal rcos cbh= r(sin& cosa2)(ac)y - al-ch -rcos lab rsin cbh=r cos(270 a1) r sina1二 r(sin a1 - cosa)同理:'、(ac)x = r(sina2-cosa2)'、(ac )y = r(-cosa2-sin a2)图 323(b)缩短型转接交点的坐

12、标计算直线与直线连接如图322a、b,图324c、d所示,(ac)x和(ac)y所用公 式与伸长型相同,缩短型与伸长型r的符号也相同,即:g41方式r为负,g42方 式r为正图 322a(ac)x =ab' b'c'=absin abb' b'c'2 11=-r sin -1 -rtanlcos - 12=-rsin 二:1 sin 二:21 cos:z2 - :1ac y =bb'-be =abcos: 1/«2 -«1 v-ab tan 1 isin%< 2 j cos% cos%r1 cos"2

13、一二 1在g42方式下(ac)x =ab' b'c'=absin. abb' b'c'., 二2 一% '=rsin «i + r tanicos«i 2)sin :1 sin .:2 二 r:-2 - :-1.sin -121 cos"2 t-1ac y = bb'-be = ab cos: 1 - ab tan一 cos.:1 cos.:2二 r1 cos)2 一 : 11.4缩短型转接交点的坐标计算1.4.1 直线与直线连接直线与直线连接如图322, 23所示,(ac)x和(ac)y所用公式与仲

14、长型相同v缩短型与伸长型r的符号也相同,即:以g41方式r为负,g42方式为正图1-1直线与圆弧转接交点1.4.2 直线与圆弧连接图1-1是以1方式直线与圆弧联接形式,工件轮廓线是 abc,b 点是直线与圆弧的支点,o'点是圆弧中心,a(xa,ya),b(xb,y3),c(xcyc),o(xo',yo')为已知点,a(xa',ya')点可用式(317) 求得。也是已知点,由图可知yb -ya(xb -xa)2 -(yb-ya)2cos:(xb - xaxb-xa)2-(yb -ya)2yo' -ya.(xo' -xa')2 (yo

15、'-ya')2cos =二(xo' - xa'xo' "xa')2(yo'-ya')22,b在aao'b'中,已知ao', o'b'=r + r。根据余弦定理可求出 ao'的模a'b|2 +| a'02-| o 2|a' b'| a'o'''2ababao cos? 土cosy2 ao'|2 + (r + r)2'ii '/''29-2 a b | ao cosv|+|a

16、o -(r-r)2=ao' cosv±j(r + r)2 -|ao1|2sin2cos =cos(: - -) =cos: cos-,-, ; sin j sin :由上式可求得直线与圆弧的两个交点,离 8点近的为b'点,a'b'在x轴和y 轴上的投影为 j _'-' _'abx = a bd o sa' by =| a' bsi nb'点的坐标 ,''xb' =xa +ab xyb'=ya' + aby根据上述方法,还可求出 n2方式直线与圆弧的转接交点,及以1,

17、 n2方式圆弧 与直线的转接交点。1.4.3圆弧与圆弧连接图3 26是以g41方式顺圆弧与顺圆弧联接时刀具中心转接点计算图。q圆弧的半径为r,。2圆弧半径为 r2,刀具半径为 r,则 oib'=r+jo2b'=r2+r;oi(xoi,yoi)、q(x02,yo2)为已知点,则三角形的三个边为己知边,根据余弦定理可求出. o2o1 b' =.44图 3-26弧与圆弧转接交点cos1 二o1o2|2+|o1b'|2 -|o2b'|2o1o2|2+(r + r)2 -(r+r)22o1o2 oib'l2o1o2io1b'。1。2 = (xoi

18、二xo2)l(丫。11%2)2x =xq坐标轴与。1。2的夹角(顺时针)cos:=xo2 - xo1o1o2icos:yo2o1o2/ =a +6cos =cos(:)=cos 二 cos 二 sin 二 sinsin =sin(:?) =sin : cos?sin : cos -因此o1b v = r+ cos , x 'o1b= r1 +r sin /yb的坐标为xb =xoi(oib)x, ,yb =yoi (oib)y根据上述的方法可求出 g42方法及其他g41、g42方法顺圆相交时的转接计算。2 .刀具半径补偿程序流程图2.1 流程图刀具半径补偿程序设计流程图如图 5所示。首

19、先打开数控加工源程序,读取 被加工零件的轮廓信息以及刀具的走刀信息、刀具半径,采用矢量算法结合刀具 偏置方向计算经刀具半径补偿后各段线段的刀具中心轨迹方程。然后确定相交两 线段尖角过渡处的内、外偏形式,根据内偏求交点和外偏采用辅助圆弧过渡的处 理方法计算出整个刀具中心运动轨迹。在利j用c语言开发的wtuapt系统软件中, 采用这种计算方法成功地解决了刀具半径补偿问题,并经实际应用证明这种处理 方法是简单有效的。攀枝花学院本科课程设计报告刀具半径补偿程序设计示列矢曲3位阳5 ,j禺一刀补睦村*%:1疝阳用3 .刀具半径补偿程序设计示列3.1 .伸长型在g41方式下,两矢量的夹角口在270 = 3

20、60=之间;在 g41方式下,两向 量的夹角值在0:90= 之间,是伸长型。如下图所示:3.1.1 g41和g02刀具半径补偿准备工作设刀具半径r=20mm勺情况下带入公式:sin: =(yb-ya) "(yb二工)2一(xb二xa)2cos: =(xb xa) ,(xb-xa)2 (yb-ya)2sin - =(% -ya') (xo -xa)2 (yo -丫人)2xoxa')2 (yo-ya')2cos :二28在aao b中,已知ao , o b ; o b 阴+=刀具半径)。根据余弦定理可求 出 j(r +r)2 -ao2sin2、a 的模cosy =

21、w.l2 -b 14;g-'2 - ig7!2 2 ito71i才万产一2|万万: af0t icosy + |彳。12 - (/? + r)2 = 0.w = i 彳万 i cm. 土 jiwiiwa _ 1*032十(尺 十 r)2=i itt ' 08y ±+ r )2 - af0f i wycos/ = cosfo - /3) = cofeocoa/? + sin(ysin/?由上式可求得直线与圆弧的两个交点,离 8点近的为b'点,a'b'在x轴和y轴上 的投影为| tf |x = i 彳炉 i c06g| 丫 = i i sinctb

22、'点的坐标x® =+ i xfg, = ft + i y刀具半径补偿清单:/*650597 lurunmin expl.c line*/*650597 lurunmin exp1.c arc */#include<graphics.h> <math.h>/* 文件包含命令 */main()/* 主函数 */float x1,x2,x3,x4,y1,y2,y3,y4 , x1', x2', x3', y1', y2', y3'float a , p ,y,r, a0 ,ab;int r=20 ;a0=sqr

23、t(x4 -x1)2 (y4 - y1)2);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(yb -ya). sqrt(y -ya)2 (xb-xa)2);:=arccos(xb -xa). sqrt(xb -xa)2 (yb -ya)2);= .,-:;jab=a0cos? + j(r +r)2 a02sin2 ? ;/*a 'b&

24、#39;的模长 */x1 '=x1-rsina ,y2'=y1+rcos« ;x2'=x1-rsinu +abcospt ,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");/*初始化图

25、形系统,驱动程序所在路径*/cleardevice();/*清空屏幕 */setbkcolor(15);/*设置背景颜色(白色)*/line(x1,y1,x2,y2);/* 画编程轨迹直线 ab*/arc(x4,y4, a , arctan " ", r);/* 画编程轨迹圆弧 bc */x3 一x1line(x1',y1',x2',y2');/* 画刀具中心轨迹直线 a'b'7arc (x4,y4, (p +?), arctan-y3一y1 , r+20); /* 画刀具中心轨迹直线 b'cx3' - x1&

26、#39;*/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方式下 伸长型转接仿真结果 a (-11.09,16.64),b' (287.15,215.47),c ' (714.24,80.7)3.1.2 g42和g02刀具半径补偿准备工作设刀具半径r=20mr

27、ns情况下带入公式:sin: =(yb -ya). (yb -工)2 (xb -xa)2cos: =(xb -xa). (xb-xa)2 (yb - ya)2sinyo, ""(x。-xa)2 (yo ",侬)。'"v = a- p在aao'b'中,已知ao' , o'b' o'b' =(r+r =刀具半径)。根据余弦定理可求出 j(r+r)2 ao2sin2-s 的模j 十2 -orbf2cosz =2.ni;wiiti2 一2| : 09 icoay + i彳o i? -(/? +/&g

28、t; =o.布 i = w i ±,i不012cos2工十(a 十不二 i 47t ' cosy ±+ r)2 - af0f i wycosy = cos(o - /3) = cosqcoa/? + sin a sin/?由上式可求得直线与圆弧的两个交点,离 8点近的为b'点,ab'在x轴和y轴上 的投影为itlx = i育icosa! i y = i 彳炉 i sinab点的坐标xw =+ i 4'e” x= 丫*, + i afb* y刀具半径补偿清单:/*650597 lurunmin expl.c line*/*650597 luru

29、nmin exp1.c arc*/#include<graphics.h> <math.h>/* 文件包含命令 */main()/* 主函数 */float x1,x2,x3,x4,y1,y2,y3,y4 , x1', x2', x3', y1', y2', y3'float a , p ,尸,r, a0 ,ab;int r=20 ;a0=sqrt(x4 x1)2 (y4 - y1)2);scanf( %d%d%d%d”,&x1,&x2,&x3,&x4);/*输入a,b,c点和圆心scanf

30、( %d%d%d%d",&y1,&y2,&y3,&y4);坐标*/scanf( %d”,&r)二二arcsin(yb -丫人丫的虫%-ya)2 (xb -xa)2);1 =arccos(xb .xa). sqrt(xb -xa)2 (yb -ya)2);二:-:;ab=a0cos¥- j(r + r)2 -a02 sin2 丁 ;/*a 'b'的模长 */x1 '=x1+rsina ,y2'=y1-rcoso(;x2'=x1+rsina +abcosa ,y2'=y1-rcosa +ab

31、*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*

32、/arc(x4,y4, 0 , arctan、y ", r);/* 画编程轨迹圆弧 bc */ x3 一x1line(x1',y1',x2',y2');/* 画刀具中心轨迹直线 a'b'7arc (x4,y4,伊 + 丁),arctan"y3y1 , r+20); /* 画刀具中心轨迹直线 b'c' x3' -x1'getch();/*关闭程序*/closegraph();/ *关闭图形 */ 仿真结果 基于visual c + 6.0和microsoft excel 软件,对前面所提出算法进行

33、实 现和仿真。刀具半径补偿进行中在 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<graphics.h> <math.h>/

34、* 文件包含命令 */main()/* 主函数 */float x1,x2,x3,x4,y1,y2,y3,y4 , x1', x2', x3', y1', y2', y3' ;float « , b,y,r, a0 ,ab;int r=20 ;_ 2 ,.、2、a0=sqrt(x4 -x1)(y4-y1);scanf( %d%d%d%d”,&x1,&x2,&x3,&x4);scanf( %d%d%d%d",&y1,&y2,&y3,&y4);/*输入 a,b,c 点

35、和圆心坐标 */scanf( %d”,&r)二二arcsin(yb -丫3 四>(% -ya)2 (xb-xa)2);:=arccos(xb -xa), sqrt(xb -xa)2 (yb -ya)2);=:-:; jab=a0cos;' + j(r +r)2 a02sin2 ? ;/*a 'b'的模长 */x1 '=x1-rsina ,y2'=y1+rcosa ;x2'=x1-rsinu +abcospt ,y2'=y1+rcos。+ab*sina« ;/*b '的坐标*/printf( "%d

36、%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, a , arctan " ", r);/*

37、 画编程轨迹圆弧 bc */ x3 一x1line(x1',y1',x2',y2');/* 画刀具中心轨迹直线 a'b'7arc (x4,y4, (p +丫),arctan型业,r-20); /* 画刀具中心轨迹直线 b'c'7 x3' - x1'getch();/*关闭程序*/closegraph();/ *关闭图形 */ 仿真结果基于visual c + 6.0和microsoft excel 软件,对前面所提出算法进行实 现和仿真。刀具半径补偿进行中。图 3-3刀具半径补偿进行中 g41和g03方式下 伸长

38、型转接。代入 a(0,0),b(300,200),c(338.57,611.32), r=231.33。_x xo图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<graphics.h> <math.h>

39、 main()float x1,x2,x3,x4,y1,y2,y3,y4 , x1', x2', x3', y1', y2', y3'float a, b,y,r, a0 ,ab;int r=20 ;a0=sqrt(x4 x1)2 (y4 - y1)2);scanf( %d%d%d%d”,&x1,&x2,&x3,&x4);scanf( %d%d%d%d",&y1,&y2,&y3,&y4);/*输入 a,b,c 点和圆心坐标*/scanf( %d”,&r)二二arcs

40、in(yb -ya), sqrt(yb -工)2 (xb -xa)2);3 =arccos(xb -xa). sqrt(xb -xa)2 (yb -ya)2);二二-:;ab=a0cos¥ + j(r +r)2 a02sin2 ? ;/*a 'b'的模长 */x1 '=x1+rsina ,y2'=y1-rcosc(;x2'=x1+rsina +abcosa ,y2'=y1-rcos口 +ab*sinaa ;/*b '的坐标*/printf( "%d%d%d%d%d%dn",x1,y1,x1',y1&#

41、39;,x2',y2');int gdriver=detect,gmode;/*定义驱动程序,设置图形模式 */initgraph(&gdriver,&gmode, "c:tc");/*初始化图形系统,驱动程序所在路径*/cleardevice();/* 清空屏幕 */setbkc010r(15);/*设置背景颜色(白色)*/line(x1,y1,x2,y2);/* 画编程轨迹直线 ab*/arc(x4,y4,汽,arctan3y1, r);/* 画编程轨迹圆弧 bc */ x3 -x1line(x1',y1',x2'

42、,y2');/* 画刀具中心轨迹直线 a'b'7arc (x4,y4, (b+¥), arctan y3 " , r+20); /* 画刀具中心轨迹直线 b'c' x3' -x1'getch();/*关闭程序*/c1osegraph();/ *关闭图形 */ 仿真结果 基于visual c + 6.0和microsoft excel 软件,对前面所提出算法进行实 现和仿真。刀具半径补偿进行中 代入 a (0, 0) ,b (300, 200) ,c (338.57, 611.32)三点和 r=231.33。图3-4 刀

43、具半径补偿进行中g42和g03方式下伸长型转接得出 a (11.09,-16.64)b ' (309.34,182.19),c ' (349.2,628.26)。3.2 缩短型3.2.1 g41 和g02是加工不出来的3.2.2 g41和g03刀具半径补偿准备工作这个里面要用到圆弧接圆弧的情况,直线的就参考前面编程就可以了。 刀具半径补偿清单:/*650597 lurunmin expl.c line*/*650597 lurunmin exp1.c arc*/#include<graphics.h> <math.h>/* 文件包含命令 */main()

44、/* 主函数 */float x1,x2,x3,x4,y1,y2,y3 ,y4, x1', x2', x3', y1', y2', y3' ;float « , p , ?, r =20 , r, , oo;int r=20 ;oo=sqrt(x4 -x3)2 (y4 - y3)2);scanf( %d%d%d%d%d%d%d%dn",&x1,&y1,&x2,&y2 , &x3,&y3,&x4,&y4);/*输入头2个点和2个点的圆心坐标*/scanf( %d”,

45、&r2);/*输入后一个圆的半径*/二二arccos(oo2 (r1 r)2 -(0 r)2),. (2* oo*( r1 r);/*求2个圆心的距离*/oo=sqrt(x 4 - x3)2 + (y4 - y3)2);yb' =x3 (r r)sin ;=二,+ ;;=arccos(二 + 二);xb,=x3(r r)cos ;yb, =x3+(r + r)sin y; /*b '的坐标*/printf( "%d%d n",xb,%,);x1 '=x1-rsina ,y2'=y1+rcosa ;x2'=x1-rsina +a

46、bcos< ,y2 "=y1+rcos« +ab*sinaa ;int gdriver=detect,gmode;/*定义驱动程序,设置图形模式*/initgraph(&gdriver,&gmode, "c:tc");/*初始化图形系统,驱动程序所在路径*/cleardevice();/* 清空屏幕 */setbkcolor(15);/*设置背景颜色(白色)*/line(x1,y1,x2,y2);/*画直线 ab*/arc (x4,y4, 口,arctan 3y1, r); /* 画编程圆弧轨迹 bc*/ x3 - x1line(x

47、1',y1',x2', y2');/* 画头刀具段轨迹直线 a'b'*/yd - y1'arc(x2,y2, a , arctan ,r);/*换前段刀具中心圆弧轨迹 b'b'*/xb,-x11yb, - y1'vb, - y1'_arc(x4,y4, arctan , arctan, r-20); /* 回后段刀具中x°,- x1'xd,-x1'bb心圆弧轨迹b'c'*/getch();/*关闭程序*/closegraph();/ *关闭图形 */ 仿真结果基于v

48、isual 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.5 5)。3.2.3 g42和g02刀具半径补偿准备工作刀具半径

49、补偿清单:/*650597 lurunmin expl.c line*/*文件包含命令*/*主函数*/*650597 lurunmin exp1.c arc */#include<graphics.h> <math.h> main()float x1,x2,x3,x4,y1,y2v3 ,y4, x1', x2', x3', y1', y2', y3' ;float a , 口,?,r, r , r2, oo;int r=20, r= =r;22、oo=sqrt(x4 -x3)(y4 - y3);scanf( %d%d%d%d%d%d%d%dn",&x1,&y1,&x2,&y2 , &x3,&y3,&x4,&y4);/*输入3个点和圆心坐标*

温馨提示

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

评论

0/150

提交评论