刀具半徑補(bǔ)償計算程序的設(shè)計_第1頁
刀具半徑補(bǔ)償計算程序的設(shè)計_第2頁
刀具半徑補(bǔ)償計算程序的設(shè)計_第3頁
刀具半徑補(bǔ)償計算程序的設(shè)計_第4頁
刀具半徑補(bǔ)償計算程序的設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1.刀具半徑補(bǔ)償?shù)脑?.1刀具半徑補(bǔ)償?shù)淖鴺?biāo)計算 在機(jī)床數(shù)控技術(shù)中已經(jīng)講述了刀具半徑補(bǔ)償?shù)木幊讨噶?,刀具半徑補(bǔ)償建立和取消時刀具中心點的運(yùn)動軌跡。本節(jié)將要介紹刀具半徑十限的坐標(biāo)計算,在輪廓加工過程中,刀具半徑補(bǔ)償分三個過程:刀具半徑補(bǔ)償?shù)慕?;刀具半徑補(bǔ)償?shù)倪M(jìn)行;刀具半徑補(bǔ)償?shù)娜∠?。在這三個過程中,刀具中心的軌跡都是根據(jù)被加工工件的輪廓計算的。通常,工件輪廓是由直線和圓弧組成的,加工直線時,刀具中心線是工件輪廓的平行線且距離等于刀具半徑值,加工圓弧時,半徑之差是刀具半徑值,本節(jié)將要介紹的半徑補(bǔ)償計算是計算刀具半徑補(bǔ)償建立和取消時刀具中心點與工件輪廓起點和終點的位置關(guān)系;工件輪廓拐角時刀具中心

2、拐點與工件輪廓拐點的位置關(guān)系。由于輪廓線的拐點可是直線與直線、直線與圓弧、圓弧與圓弧的交點;拐角的角度大小又不同;又由于刀具半徑補(bǔ)償可是左側(cè)(c41)或右側(cè)(跳)偏置,因此,計算公式很多,下面僅介紹部分計算公式:1.2直線兩端處刀具中心的位置若用半徑為r的立銑刀加工圖320中的直線45,刀具中心的軌跡在刀具左例偏置時(G41方式),是ab直線;右側(cè)偏置(G42方式)時是cd線,只要計算出端點a,b或c,d的坐標(biāo)值,就可使刀具準(zhǔn)確移動。由于直線AaAcr,過A點垂直于AB線,BbBcr,過B點垂直于AB線,A點和B點的坐標(biāo)值已由零件程序中給出,因此:圖1.2.1 直線兩端刀具位置若把式(318)

3、中的r值的符號改為負(fù)號,則和式(317)完全一樣,因此在實際應(yīng)用中,只用式(317)計算直線端點處的刀具中心位置,在G41方式下r取正值 在G42方式下r取負(fù)值。 式(315)、(316)、(317),適合于各種不同方向的直線,當(dāng)為負(fù)值時,為負(fù)值,當(dāng)AB線平行于X軸時,當(dāng)AB線平行Y軸時。1.3轉(zhuǎn)接矢量計算 工件輪廓有拐角時,拐點可是直線與直線交點,如圖322、323、324所示。直線拐角時拐角的大小等于兩直線矢量的夾角;直線與圓弧連接時拐角的大小是直線矢量與拐點處圓弧切線矢量的夾角;圓弧與圓弧連接時是兩圓弧在交點處切線矢量的夾角,由于兩矢量夾角不同以及G41,G42偏置方向不同,使刀具中心軌

4、跡的轉(zhuǎn)接方式有所不同,共有三種轉(zhuǎn)接方式: 1.3.1縮短型 在G41方式下兩矢量夾角。在之間;在G42方式下兩向量夾角在之間,是縮短型,如圖322、324a,b及圖323c,d所示,刀具中心在c點轉(zhuǎn)折,沒有到達(dá)由式(317)算出的B點,比只加工OA直線時少走CB的距離,也比單程加工AF直線少走DC的距離。 1.3.2伸長型 在G41方式下,兩矢量的夾角之間;在G42方式下,兩向量的夾角之間,是伸長型,如圖322d、323a及324d所示,刀具中心越過由式(317)算出的B點,在C點轉(zhuǎn)折,也比單獨(dú)加工AF直線多走CD的距離。 1.3.3插入型 在G4l方式下,兩矢量的夾角之間,在G42方式下,兩

5、向量夾角之間,如圖322c、323b及324c所示,刀具中心在C點和C點兩次轉(zhuǎn)折,CC是插入直線必須保證BC=CDr(刀具半徑)。 圖3-22 G41直線與直線轉(zhuǎn)接情況圖323 G42直線與直線轉(zhuǎn)接情況圖324 G41圓弧接圓弧時的轉(zhuǎn)接情況 對于伸長型和插入型轉(zhuǎn)接交點c和c的計算適合于直線與直線、直線與圓弧、圓弧與圓弧的連接方式,但對于縮短型,由于連接線的不同算法是不同的。伸長型轉(zhuǎn)接交點c的坐標(biāo)計算圖3-23(a)上兩式中是以X坐標(biāo)軸正向為起始邊,逆時針方向?qū)喞€矢量的夾角,在圖322d和圖324d中,270。在G41方式時上式中r的符號為負(fù)。即在G41時方式時的公式:是c點對A點的坐標(biāo)值,

6、由于A點在工件坐標(biāo)系中的坐標(biāo)值已由程序中給出,因此可求出c點對工件坐標(biāo)系的坐標(biāo)值。插入型轉(zhuǎn)接交點C,C的坐標(biāo)計算 根據(jù)刀具偏置方向(G41,G42)不同,計算方式也不相同,圖322c是G41方式。由于: 則有 圖3-22(c)圖323b是G42方式 同理:圖323(b)縮短型轉(zhuǎn)接交點的坐標(biāo)計算 直線與直線連接如圖322a、b,圖324c、d所示,(AC)x和(AC)y所用公式與伸長型相同,縮短型與伸長型r的符號也相同,即:G41方式r為負(fù),G42方式r為正。圖322a 在G42方式下 1.4縮短型轉(zhuǎn)接交點的坐標(biāo)計算 1.4.1直線與直線連接 直線與直線連接如圖322,23所示,和所用公式與仲長

7、型相同v縮短型與伸長型r的符號也相同,即:以G41方式r為負(fù),G42方式為正。 圖1-1 直線與圓弧轉(zhuǎn)接交點 1.4.2直線與圓弧連接 圖1-1是以1方式直線與圓弧聯(lián)接形式,工件輪廓線是ABC,B點是直線與圓弧的支點,點是圓弧中心,為已知點,點可用式(317)求得。也是已知點,由圖可知在中,已知,; =(r刀具半徑)。根據(jù)余弦定理可求出的模由上式可求得直線與圓弧的兩個交點,離8點近的為點,在x軸和y軸上的投影為 點的坐標(biāo) 根據(jù)上述方法,還可求出N2方式直線與圓弧的轉(zhuǎn)按交點,及以1,N2方式圓弧與直線的轉(zhuǎn)接交點。 1.4.3圓弧與圓弧連接 圖326是以G41方式順圓弧與順圓弧聯(lián)接時刀具中心轉(zhuǎn)接點

8、計算圖。圓弧的半徑為,圓弧半徑為,刀具半徑為r,則為已知點,則三角形的三個邊為己知邊,根據(jù)余弦定理可求出2.刀具半徑補(bǔ)償程序流程圖2.1 流程圖刀具半徑補(bǔ)償程序設(shè)計流程圖如圖5所示。首先打開數(shù)控加工源程序,讀取被加工零件的輪廓信息以及刀具的走刀信息、刀具半徑,采用矢量算法結(jié)合刀具偏置方向計算經(jīng)刀具半徑補(bǔ)償后各段線段的刀具中心軌跡方程。然后確定相交兩線段尖角過渡處的內(nèi)、外偏形式,根據(jù)內(nèi)偏求交點和外偏采用輔助圓弧過渡的處理方法計算出整個刀具中心運(yùn)動軌跡。在利用C語言開發(fā)的WTUAPT系統(tǒng)軟件中,采用這種計算方法成功地解決了刀具半徑補(bǔ)償問題,并經(jīng)實際應(yīng)用證明這種處理方法是簡單有效的。3.刀具半徑補(bǔ)償

9、程序設(shè)計示列3.1.伸長型 在G41方式下,兩矢量的夾角之間;在G41方式下,兩向量的夾角之間,是伸長型。如下圖所示:3.1.1 G41和G02刀具半徑補(bǔ)償準(zhǔn)備工作 設(shè)刀具半徑r=20mm的情況下帶入公式: 在中,已知,; (R+r刀具半徑)。根據(jù)余弦定理可求出的模由上式可求得直線與圓弧的兩個交點,離8點近的為點,在x軸和y軸上的投影為 點的坐標(biāo) 刀具半徑補(bǔ)償清單: /* Lurunmin exp1.c LINE*/* Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函數(shù) */ float x1,x2,x3,x4,y1,y2,y3,

10、y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*輸入A,B,C點和圓心坐標(biāo)*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos+; /*AB的模長*/x1=x1-rsin,y2=y1+rcos;x2=x1-rsin+abcos,y2=y1+rcos+ab*sina; /*B的坐標(biāo)*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2)

11、;int gdriver=DETECT,gmode; /* 定義驅(qū)動程序,設(shè)置圖形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化圖形系統(tǒng),驅(qū)動程序所在路徑 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 設(shè)置背景顏色(白色)*/ Line(x1,y1,x2,y2); /* 畫編程軌跡直線AB*/ arc(x4,y4, ,R);/* 畫編程軌跡圓弧BC */ Line(x1,y1,x2,y2); /* 畫刀具中心軌跡直線AB */ arc (x4,y4,,R+20); /* 畫刀具中心軌跡直線BC *

12、/ Getch(); /* 關(guān)閉程序 */ Closegraph();/ *關(guān)閉圖形 */ 仿真結(jié)果基于Visual C 6.0和Microsoft Excel軟件,對前面所提出算法進(jìn)行實現(xiàn)和仿真。刀具半徑補(bǔ)償進(jìn)行中(如圖3-1)坐標(biāo)A(0,0),B(300,200), C點(694.517,77.4)和R=231.33.圖3-1 刀具半徑補(bǔ)償進(jìn)行中G41和G02方式下 伸長型轉(zhuǎn)接仿真結(jié)果A(-11.09,16.64),B(287.15,215.47),C(714.24,80.7)。3.1.2 G42和G02刀具半徑補(bǔ)償準(zhǔn)備工作設(shè)刀具半徑r=20mm的情況下帶入公式: 在中,已知,; =(R+

13、r刀具半徑)。根據(jù)余弦定理可求出的模由上式可求得直線與圓弧的兩個交點,離8點近的為點,在x軸和y軸上的投影為 點的坐標(biāo) 刀具半徑補(bǔ)償清單: /* Lurunmin exp1.c LINE*/* Lurunmin exp1.c ARC*/ #include /* 文件包含命令 */Main() /* 主函數(shù) */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /

14、*輸入A,B,C點和圓心坐標(biāo)*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos-; /*AB的模長*/x1=x1+rsin,y2=y1-rcos;x2=x1+rsin+abcos,y2=y1-rcos+ab*sina; /*B的坐標(biāo)*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriver=DETECT,gmode; /* 定義驅(qū)動程序,設(shè)置圖形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化圖形系統(tǒng),驅(qū)動程序所在路徑 */ Cleardevice

15、(); /* 清空屏幕 */ Setbkcolor(15); /* 設(shè)置背景顏色(白色)*/ Line(x1,y1,x2,y2); /* 畫編程軌跡直線AB*/ arc(x4,y4, ,R);/* 畫編程軌跡圓弧BC */ Line(x1,y1,x2,y2); /* 畫刀具中心軌跡直線AB */ arc (x4,y4,,R+20); /* 畫刀具中心軌跡直線BC Getch(); /* 關(guān)閉程序 */ Closegraph();/ *關(guān)閉圖形 */ 仿真結(jié)果基于Visual C 6.0和Microsoft Excel軟件,對前面所提出算法進(jìn)行實現(xiàn)和仿真。刀具半徑補(bǔ)償進(jìn)行中在A(0,0),B(3

16、00,200),C(694.517)和R=231.33代入圖3-2刀具半徑補(bǔ)償進(jìn)行中G42和G02方式下 伸長型轉(zhuǎn)接結(jié)果為A(11.09,-16.64),b(312.93,84.58),c(674.79,74.1).3.1.3 G41和G03刀具半徑補(bǔ)償準(zhǔn)備工作刀具半徑補(bǔ)償清單:/* Lurunmin exp1.c LINE*/* Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函數(shù) */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); S

17、canf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*輸入A,B,C點和圓心坐標(biāo)*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos+; /*AB的模長*/x1=x1-rsin,y2=y1+rcos;x2=x1-rsin+abcos,y2=y1+rcos+ab*sina; /*B的坐標(biāo)*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriver=DETECT,gmode; /* 定義驅(qū)動程序,設(shè)置圖形模式 *

18、/ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化圖形系統(tǒng),驅(qū)動程序所在路徑 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 設(shè)置背景顏色(白色)*/ Line(x1,y1,x2,y2); /* 畫編程軌跡直線AB*/ arc(x4,y4, ,R);/* 畫編程軌跡圓弧BC */ Line(x1,y1,x2,y2); /* 畫刀具中心軌跡直線AB */ arc (x4,y4,,R-20); /* 畫刀具中心軌跡直線BC*/Getch(); /* 關(guān)閉程序 */ Closegraph();/ *關(guān)閉圖形 */ 仿

19、真結(jié)果基于Visual C 6.0和Microsoft Excel軟件,對前面所提出算法進(jìn)行實現(xiàn)和仿真。刀具半徑補(bǔ)償進(jìn)行中。圖3-3刀具半徑補(bǔ)償進(jìn)行中G41和G03方式下 伸長型轉(zhuǎn)接。代入A(0,0),B(300,200),C(338.57,611.32), R=231.33。圖3-3刀具半徑補(bǔ)償進(jìn)行中G41和G03方式下 伸長型轉(zhuǎn)接得A(-11.09,16.64),B(290.74,217.86),C(327.93,594.38)3.1.4 G42和G03刀具半徑補(bǔ)償準(zhǔn)備工作刀具半徑補(bǔ)償清單:/* Lurunmin exp1.c LINE*/* Lurunmin exp1.c ARC */

20、#include /* 文件包含命令 */Main() /* 主函數(shù) */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*輸入A,B,C點和圓心坐標(biāo)*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos+; /*AB的模長*/x1=x1+rsin,y2=y1-rcos;x2=x1+rsin+abcos,y2

21、=y1-rcos+ab*sina; /*B的坐標(biāo)*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriver=DETECT,gmode; /* 定義驅(qū)動程序,設(shè)置圖形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化圖形系統(tǒng),驅(qū)動程序所在路徑 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 設(shè)置背景顏色(白色)*/ Line(x1,y1,x2,y2); /* 畫編程軌跡直線AB*/ arc(x4,y4, ,R);/* 畫編程軌跡圓弧BC */ Line(x1

22、,y1,x2,y2); /* 畫刀具中心軌跡直線AB */ arc (x4,y4,,R+20); /* 畫刀具中心軌跡直線BC Getch(); /* 關(guān)閉程序 */ Closegraph();/ *關(guān)閉圖形 */ 仿真結(jié)果基于Visual C 6.0和Microsoft Excel軟件,對前面所提出算法進(jìn)行實現(xiàn)和仿真。刀具半徑補(bǔ)償進(jìn)行中代入A(0,0),B(300,200),C(338.57,611.32)三點和R=231.33。圖3-4 刀具半徑補(bǔ)償進(jìn)行中G42和G03方式下 伸長型轉(zhuǎn)接得出A(11.09,-16.64)B(309.34,182.19),C(349.2,628.26)。3.

23、2 縮短型3.2.1 G41和G02是加工不出來的3.2.2 G41和G03刀具半徑補(bǔ)償準(zhǔn)備工作這個里面要用到圓弧接圓弧的情況,直線的就參考前面編程就可以了。刀具半徑補(bǔ)償清單:/* Lurunmin exp1.c LINE*/* Lurunmin exp1.c ARC*/ #include /* 文件包含命令 */Main() /* 主函數(shù) */ float x1,x2,x3,x4,y1,y2,y3 ,y4,; float , ,=20,oo;int r=20;oo=sqrt(); Scanf(“%d%d%d%d%d%d%d%dn”, &x1,&y1,&x2,&y2,&x3,&y3,&x4,&

24、y4); /*輸入頭2個點和2個點的圓心坐標(biāo)*/ Scanf(“%d”,&); /*輸入后一個圓的半徑*/ =arccos(); oo=sqrt(+); /*求2個圓心的距離*/ ; =+; =arccos(+); ; /*B的坐標(biāo)*/ Printf(“dd n”,); x1=x1-rsin,y2=y1+rcos;x2=x1-rsin+abcos,y2=y1+rcos+ab*sina;int gdriver=DETECT,gmode; /* 定義驅(qū)動程序,設(shè)置圖形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化圖形系統(tǒng),驅(qū)動程序所在路徑 */ Cl

25、eardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 設(shè)置背景顏色(白色)*/ Line(x1,y1,x2,y2); /*畫直線AB*/Arc (x4,y4, ,r); /*畫編程圓弧軌跡BC*/Line(,); /* 畫頭刀具段軌跡直線AB*/Arc(x2,y2, ,r); /*換前段刀具中心圓弧軌跡BB*/ Arc(x4,y4, , ,-20); /* 畫后段刀具中心圓弧軌跡BC*/ Getch(); /* 關(guān)閉程序 */ Closegraph();/ *關(guān)閉圖形 */ 仿真結(jié)果基于Visual C 6.0和Microsoft Excel軟件,對前面所提出算

26、法進(jìn)行實現(xiàn)和仿真。刀具半徑補(bǔ)償進(jìn)行中,代入A(0,0),B(243.34,136.8),C(441.69,-68.92)圓心(342.47,33.94),R=142.85。圖3-2-1刀具半徑補(bǔ)償進(jìn)行中G41和G03方式下縮短型轉(zhuǎn)接仿真出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刀具半徑補(bǔ)償準(zhǔn)備工作刀具半徑補(bǔ)償清單:/* Lurunmin exp1.c LINE*/* Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函數(shù) *

27、/ float x1,x2,x3,x4,y1,y2,y3 ,y4,; float , ,R,,oo;int r=20,= =r;oo=sqrt(); Scanf(“%d%d%d%d%d%d%d%dn”, &x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4); /*輸入3個點和圓心坐標(biāo)*/ Scanf(“%dn”,&); /*輸入第二個圓的半徑*/ =arccos(); oo=sqrt(+); /*求2個圓心的距離*/ ; =+; =arcos(+); ; /*B的坐標(biāo)*/ Printf(“dd n”,); x1=x1+rsin,y2=y1-rcos;x2=x1+rsin+abcos,y2=y1-rcos+ab*sina;int gdriver=DETECT,gmode; /* 定義驅(qū)動程序,設(shè)置圖形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化圖形系統(tǒng),驅(qū)動

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論