數(shù)控機(jī)床關(guān)于非圓曲線加工工藝可行性研究方案_第1頁(yè)
數(shù)控機(jī)床關(guān)于非圓曲線加工工藝可行性研究方案_第2頁(yè)
數(shù)控機(jī)床關(guān)于非圓曲線加工工藝可行性研究方案_第3頁(yè)
數(shù)控機(jī)床關(guān)于非圓曲線加工工藝可行性研究方案_第4頁(yè)
數(shù)控機(jī)床關(guān)于非圓曲線加工工藝可行性研究方案_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

171721YNY圖1等間率直線逼近的流程給定曲線峋姻瘀點(diǎn),步長(zhǎng)s,結(jié)束"X系數(shù)a,b,f允許誤差v過(guò)起點(diǎn)作與切線平行NYNY圖1等間率直線逼近的流程給定曲線峋姻瘀點(diǎn),步長(zhǎng)s,結(jié)束"X系數(shù)a,b,f允許誤差v過(guò)起點(diǎn)作與切線平行N直線,求出直線與曲線的交點(diǎn),則另一旁點(diǎn)(x(1),y(1))為插*歐2,等曲!熊血曲漏屈g補(bǔ)點(diǎn)3.2算法的解析3.2.1等間距直線逼近等問(wèn)距直線逼近是最簡(jiǎn)單的方法,已知橢圓方程2x~2a2土1,給定第一點(diǎn)b2x2(x(0),y(0)),間距步長(zhǎng)△*0.1,求出為,將為代入—a2yb21即可求得一系列yi0K、yi即為每個(gè)線段的終點(diǎn)坐標(biāo),并以該坐標(biāo)值編制直線程序段(圖 3)圖3等間距直線逼近根據(jù)M(x(0),y(0))、N(x(1),y(1))兩節(jié)點(diǎn)的坐標(biāo)可求得如圖3所示的逼近誤差,方法如下:MW程:y=kx+c,則直線MNB斜率為k^1^(3-1)x(1)x(0)將Mx(0),y(0))代入MW程:y=kx+c,求得c=y(0)-kx(0) (3-2)利用橢圓參數(shù)方程x=aCos(i),y=bSin(i), 求出橢圓曲線上的切線斜率為 k的切點(diǎn)坐標(biāo)(x(2),y(2)),對(duì)參數(shù)方程進(jìn)行求導(dǎo)得切點(diǎn)對(duì)應(yīng)的參數(shù)弧度為bjarctan(3-3)ak從而求出(x(2),y(2))。聯(lián)立式(3-1)、(3-2)、(3-3)求出逼近誤差為wI版⑵_y(2y(0)_kx(0)|?、k21如果計(jì)算出來(lái)的逼近誤差w小丁或等丁輸入的允許誤差v,則滿足誤差要求,即可進(jìn)行直線逼近;否則令A(yù)x為原來(lái)的一半,且返回重新計(jì)算逼近誤差再次比較,直到滿足誤差要求為止。等問(wèn)距直線逼近的流程圖如圖1所示,星形線的等問(wèn)距直線逼近算法與橢圓計(jì)算方法相同,參考橢圓計(jì)算過(guò)程即可。3.2.2等誤差直線逼近等問(wèn)距直線逼近雖然計(jì)算簡(jiǎn)單,但由丁取定值 △x應(yīng)保證曲線曲率最大處的逼近誤差小丁允許值,所以程序可能過(guò)多。因此,在選擇優(yōu)化算法時(shí),我們采用的是等誤差直線逼近的節(jié)點(diǎn)計(jì)算法, 而且對(duì)丁曲率變化較大的曲線,用等誤差法求得的節(jié)點(diǎn)數(shù)最少,從而輸出的NC代碼也大大減少,等誤差算法計(jì)算如下:等誤差直線去逼近曲線,就是使所有逼近線段的誤差 相等,如圖4。

圖4圖4等誤差直線逼近橢圓參數(shù)方程為x=aCos(i),y=bSin(i),A點(diǎn)坐標(biāo)(x(0),y(0)),T點(diǎn)坐標(biāo)(x(1),y(1)),B點(diǎn)坐標(biāo)(x(2),y(2))。(1)確定所有逼近線段的誤差 允的圓方程,即以起點(diǎn)A(x(0),y(0))為圓心,允為半徑作圓;(2)確定等誤差圓與曲線公切線(2)確定等誤差圓與曲線公切線PT的斜率k:以A點(diǎn)為起點(diǎn),利用參數(shù)方程x=aCos(i),y=bSin(i),增大弧度i從而使橫坐標(biāo)變大。從而得到下一個(gè)點(diǎn)T坐標(biāo)(x(1),y(1)),弧度i增大的步長(zhǎng)為△i=0.001*兀。對(duì)橢圓方程進(jìn)行求導(dǎo),利用T點(diǎn)坐標(biāo)求出曲線切線PT斜率k:b2b2x(1)a2y(1)(3-5)PT直線方程為y=kx+c,代入點(diǎn)T求得:c=y(1)-kx(1) (3-6)聯(lián)立2式(3-5)、(3-6)和點(diǎn)A(x(0),y(0))求得A點(diǎn)到直線PT距離:kx(0)y(0) y⑴kx(1)]w (3-7)Q1比較距離w與等誤差圓半徑是否相等,若相等,則直線PT為等誤差圓與曲線兩者的公切線;若w<,則返回以上算法令△i增大一倍重新計(jì)算距離w直到w=;若W>,則返回以上算法令△i變?yōu)樵瓉?lái)一半重新計(jì)算距離w直到w=。

(3)求B點(diǎn)坐標(biāo)(x(2),y(2))。使AB弦的斜率為k,即使AB平行PT,設(shè)2L1可求得:b22 22 2(2kay(0)2kx(0)a)廠(3書(shū))2(a2k2b2L1可求得:b22 22 2(2kay(0)2kx(0)a)廠(3書(shū))2(a2k2b2)TOC\o"1-5"\h\z.2 2 2,c cc cc oo o o c l<y/n\ \/ fn\ oif\/(n\yYn\2 22 2、2 22 2 2 2 kx(0) y (0) 2ky(0)x(0).(2kay(0)2kx(0)a) 4(akb)(ab)(1 2 )b2I2~2 22(a2k2b2)進(jìn)而求出y(2)=k(x(2)-x(0))+y(0)(3-9)(5)按以上步驟順次求得其他各節(jié)點(diǎn)坐標(biāo)。星形線等誤差逼近算法與橢圓相似,參考橢圓計(jì)算方法即可求得。4軟件開(kāi)發(fā)與運(yùn)行4.1系統(tǒng)界面本次課程設(shè)計(jì)使用VisualBasic6.0軟件,設(shè)計(jì)了兩個(gè)窗口為一體的可執(zhí)行程序,其中主界面可選擇所需加工的非圓曲線函數(shù)、走刀方向、刀補(bǔ)、起刀點(diǎn)、NC代碼坐標(biāo)以及相關(guān)的加工參數(shù),具有等問(wèn)距直線逼近和等誤差直線逼近兩種逼近方法,并且對(duì)這兩種方法進(jìn)行比較分析。通過(guò)點(diǎn)擊“生成 NC代碼”按鈕,可以進(jìn)入圖6的生成NC代碼的窗口,可以對(duì)NC代碼進(jìn)行保存,可以返回主界面,也可以退出該程序。

圖5主界面圖6生成NC弋碼窗口4.2軟件運(yùn)行以橢圓內(nèi)輪廓加工、順時(shí)針走刀方向?yàn)槔f(shuō)明等間距算法和等誤差算法直線逼近非圓曲線的刀具軌跡,并比較兩者的節(jié)點(diǎn)數(shù)和生成NC弋碼程序的長(zhǎng)度,設(shè)允許誤差為0.01,選擇項(xiàng)和輸入?yún)?shù)如圖7所示。

選擇麟走刀為向刀補(bǔ)坐標(biāo)選擇際橢圓*II廁針廣左刀補(bǔ)p絕對(duì)坐標(biāo)1E星形線廣逆時(shí)針,?右刀補(bǔ)|r相對(duì)坐標(biāo)曲線方程標(biāo)準(zhǔn)方程:變沱/乏*2+y*2/b*2=1參數(shù)方程:s-a牛Cos(i),y=b*Sin(i)曲線參數(shù)wa=40b=— i(弧度)=|收〔等誤差逼近起切盧)允許誤差;001兩種算法對(duì)比等間距逼近所用線段裁;兩種算法對(duì)比等間距逼近所用線段裁;等誤差逼近所用線段數(shù);主軸轉(zhuǎn)諫,I2000rAin進(jìn)給凝度||霧° MlAdlL刀具豐徑E廠 顧圖7加工參數(shù)的選擇與輸入單擊“繪原圖”、“等間距逼近”按鈕,運(yùn)行結(jié)果的刀具軌跡如圖8所示,等間距逼近所用的線段數(shù)為5920,生成的NG弋碼如圖9所示N1090G17GOOG42001230M03S2000N2^37.00Y0.00M3Z-3114001X3S.9SY-0.99F200N5E3C.g5Y-L.40N6^36.03Y-l.72nt^36.90Y-i.geNSX36.8SY-2.22N9XMJ.85Y-2.43N10X36.83Y-2.62NilX36,83Y-2.80H12X36.79Y-2.97N13X36.75Y-3.13H14X36.73Y-3.29N15K36.73Y-3.43N16X36.6SY-3.57N17X36.65Y-3.70圖8等間距逼近的刀具軌跡圖9等間距逼近的NC弋碼單擊“繪原圖”、“等誤差逼近”按鈕,運(yùn)行結(jié)果的刀具軌跡如圖10所示,等誤差逼近所用的線段數(shù)為666,生成的NC弋碼如圖11所示。

N1G9Lr;17il:CG42TOlZ30配352000皿K37.00v-o.yo網(wǎng)2-33WGOl前.SY-O.25F2O0I-U.C1Y-0.42NET7.£EW71-0.01Y-O.25mX-D.C2T-O.;5ILI-D.(.2Y-O.25J:10K-0.02E鳩~V1'MF.gEMK12HrO.03T-0.25msmmfMM4K-0.C4HigM5K-0,C4Y-fl,25M16X-ClQdT-QM5KI"".05E%M18K-0,Q5Y-0,25K19佛YFU51-0*06Y-042S圖10等誤差逼近的刀具軌跡圖11等誤差逼近的NC弋碼4.3運(yùn)行分析從以上運(yùn)行結(jié)果可以看出,非圓曲線的等問(wèn)距直線逼近算法雖然簡(jiǎn)單,但逼近處理后的直線段較多,從經(jīng)濟(jì)效益上講,此方法較差。而由等誤差直線逼近處理后,可以得到相對(duì)較少的直線段,經(jīng)濟(jì)效益高。5總結(jié)這次的課程設(shè)計(jì),在剛開(kāi)始做之前,我們組的每個(gè)人都感到了壓力,因?yàn)楫吘惯@次是要利用VB或VC編程語(yǔ)言結(jié)合數(shù)控技術(shù)課程內(nèi)容來(lái)完成課程設(shè)計(jì),而且時(shí)間也并不充足。在剛開(kāi)始接觸題目時(shí)候,沒(méi)有絲毫的頭緒,借住前人的成果,理解前人所做的東西,來(lái)逐步摸活我們課程設(shè)計(jì)真正所要做的工作。課堂上老師講直線逼近非圓曲線的數(shù)學(xué)處理時(shí)大概講了三種的方法:等問(wèn)距、等弦長(zhǎng)和等誤差,在我們理解了三種方法之后,確定使用等間距為初步算法,等誤差為優(yōu)化算法,因?yàn)榈乳g距計(jì)算簡(jiǎn)單,但程序過(guò)多,而等誤差計(jì)算復(fù)雜,但程序和節(jié)點(diǎn)數(shù)都相對(duì)少。確定算法之后,我們遇到的I可題是如何地在VisualBasic6.0編程軟件平■臺(tái)去實(shí)現(xiàn)直線逼近橢圓和星形線,VB編程語(yǔ)言我們大致都弄懂,但是具體操作還是不明白。一開(kāi)始我們使用橢圓和星形線的參數(shù)方程進(jìn)行數(shù)學(xué)處理,實(shí)現(xiàn)過(guò)程很容易,而且不用分每一個(gè)象限去討論,但是乂遇到了另一個(gè)問(wèn)題,使用參數(shù)方程計(jì)算出來(lái)的逼近誤差太大了,遠(yuǎn)大丁日常所要求的加工誤差,所以還是以失敗告終。通過(guò)查閱高數(shù)知識(shí)和數(shù)控技術(shù)課本還有其他的一些參考資料,借住高數(shù)知識(shí)所提供的數(shù)學(xué)方法,我們使用標(biāo)準(zhǔn)方程去進(jìn)行數(shù)學(xué)處理,雖然要考慮每一個(gè)象限,程序也由此變得繁瑣,但是最終還是實(shí)現(xiàn)了我們之

前的設(shè)想,計(jì)算出來(lái)的逼近誤差最終可以變到0.01甚至更小。有了等問(wèn)距直線逼近的成功基礎(chǔ),在做等誤差算法直線逼近的時(shí)候,只需理解好等誤差數(shù)學(xué)計(jì)算的方法即可完成逼近,也通過(guò)比較,等誤差法確實(shí)比等間距法所走的步數(shù)少一倍以上,符合了我們之前的設(shè)想。通過(guò)這次的課程設(shè)計(jì),把VB語(yǔ)言和數(shù)控仿真結(jié)合起來(lái),加深了對(duì)非圓曲線加工的算法及其實(shí)現(xiàn)過(guò)程的理解,也提高了我們查閱資料和獨(dú)自解決問(wèn)題的能力,在遇到問(wèn)題時(shí)候,我們組成員的互相討論,迸發(fā)出來(lái)的學(xué)習(xí)激情,也提高了我們課程設(shè)計(jì)的積極性,給我們不僅帶來(lái)了知識(shí)的增長(zhǎng)和能力的提高, 而且?guī)?lái)了更多的樂(lè)趣。附錄VB主要源程序DimdaoluAsInteger,daobuAsIntegerDimX(5)AsDouble,Y(5)AsDoubleDimqidaoxAsSingle,qidaoyAsSingle,qidaozAsSingleDimquxianAsInteger,piAsDouble,zuobiaoAsInteger 定義變量PrivateSubCommand1_Click()Picture1.ClsText8.Text=""Text9.Text=""EndSubPrivateSubCommand2_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=0Ifquxian=1Thena=Val(Text1.Text)b=Val(Text2.Text)清屏繪圖區(qū)域繪制坐標(biāo)系點(diǎn)命令繪制非圓曲線原圖清屏繪圖區(qū)域繪制坐標(biāo)系點(diǎn)命令繪制非圓曲線原圖Picture1.PSet(a*Cos(i),b*Sin(i))NextEndIfIfquxian=2Thena=Val(Text1.Text)Fori=0To2*piStep0.001Picture1.PSet(a*Cos(i)A3,a*Sin(i)A3)NextEndIfEndSubPrivateSubCommand3_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=1Ifquxian=1ThenIfdaolu=1ThenIfdaobu=1Thene=1a=a+rb=b+rEndIfIfdaobu=2Thene=2a=a-rb=b-rEndIfX(0)=aY(0)=0Picture1.PSet(qidaox,qidaoy),vbRedPicture1.Line-(X(0),Y(0)),vbRedPicture1.DrawStyle=vbSolidPicture1.PSet(X(0),Y(0)),vbRed等間距直線逼近輸入加工參數(shù)畫(huà)橢圓順時(shí)針走刀方向p=Format(X(0),"##0.00")q=Format(Y(0),"##0.00")Ifzuobiao=1ThenForm2.Text1.Text="N1G90G17G00G4"&e&"D01"&"Z30M03S"&n&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N2X"&p&"Y"&q&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N3Z-"&d&vbCrLfElseForm2.Text1.Text="N1G91G17G00G4"&e&"D01"&"Z30M03S"&n&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N2X"&p&"Y"&q&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N3Z-"&d+30&vbCrLfEndIfline1:DoWhileX(0)>=(-a+0.0001)X(1)=X(0)-sY(1)=-(b*Sqr(Abs(aA2-X(1)A2)))/aIfX(1)<>X(0)AndY(1)<>Y(0)Thenk=(Y(1)-Y(0))/(X(1)-X(0))Ifk>0Thenj=Atn(-b/(a*k))EndIfIfk<0Thenj=Atn(-b/(a*k))+piEndIfX(2)=a*Cos(j)Y(2)=b*Sin(j)w=Abs(k*X(2)-Y(2)+Y(0)-k*X(0))/(Sqr(kA2+1))EndIfIfw<=vThenPicture1.Line-(X(1),丫(1)),vbRedElses=s/2GoToline1EndIfIfzuobiao=1Thenp=Format(X(1),"##0.00")q=Format(Y(1),"##0.00")Ifo=4ThenForm2.Text1.Text=Form2.Text1.Text&"N4G01X"&p&"Y"&q&"F"&F&vbCrLfEndIfIfo>=5ThenForm2.Text1.Text=Form2.Text1.Text&"N"&o&"X"&p&"Y"&q&vbCrLfEndIfElseIfo=4Then

p=Format(X(1)-X(0),"##0.00”)q=Format(Y(1)-Y(0),"##0.00")Form2.Text1.Text=Form2.Text1.Text&"N4G01X"&p&"Y"&q&"F"&F&vbCrLfEndIfIfo>=5Thenp=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&vbCrLfEndIfEndIfo=o+1X(0)=X(1)Y(0)=Y(1)Loop等誤差直線逼近PrivateSubCommand4_Click()等誤差直線逼近s=0.001pi=3.1415926輸入加工參數(shù)o=4輸入加工參數(shù)a=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=1畫(huà)橢圓順時(shí)針走刀方向畫(huà)橢圓順時(shí)針走刀方向Ifdaolu=1ThenIfdaobu=1Thene=1a=a+rb=b+rEndIfIfdaobu=2Thene=2a=a-rb=b-rEndIfX(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”)Ifzuobiao=1ThenForm2.Text1.Text="N1G90G17G00G4"&e&"D01"&"Z30M03S"&n&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N2X"&p&"Y"&q&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N3Z-"&d&vbCrLfElseForm2.Text1.Text="N1G91G17G00G4"&e&"D01"&"Z30M03S"&n&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N2X"&p&"Y"&q&vbCrLfForm2.Text1.Text=Form2.Text1.Text&"N3Z-"&d+30&vbCrLfEndIfline1:DoWhilei>0i=i-s*piX(1)=a*Cos(i)Y(1)=b*Sin(i)IfY(1)<>0Thenk=-(bA2*X(1))/(aA2*Y(1))w=Abs(k*X(0)-Y(0)+Y(1)-k*X(1))/(Sqr(kA2+1))EndIfIf(w-v)>=0.0001ThenPicture1.Line-(X(1),Y(1)),vbGreenElses=s+0.001GoToline1EndIfIfzuobiao=1Thenp=Format(X(1),"##0.00")q=Format(Y(1),"##0.00")Ifo=4ThenForm2.Text1.Text=Form2.Text1.Text&"N4G01X"&p&"Y"&q&"F"&F&vbCrLfEndIfIfo>=5ThenForm2.Text1.Text=Form2.Text1.Text&"N"&o&"X"&p&"Y"&q&vbCrLfEndIfElseIfo=4Thenp=Format(X(1)-X(0),"##0.00”)q=Format(Y(1)-Y(0),"##0.00")Form2.Text1.

溫馨提示

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

評(píng)論

0/150

提交評(píng)論