1.G代碼的宏程序
它提供了變量,算術運算指令(加、減、乘、除),功能函數(SIN,COS,TAN,…),還有控制指令(IF——GO-TO,WHILE——DO)。巧妙的運用這些指令,可以解決很多比較簡單、有規律的曲線,如正弦曲線、拋物線等。例1:正弦曲線(如圖1)。
主程序主程序
…
G65P9910AOB360.C100.F100
…
對局部變量設置
#l=0
#2=360.00
#3=100.00
#9=100.00
09910(子程序)
WHILE[#1IE#2]DO1
#10=#3*SIN[#1]
G90Gl#lY#10F#9
#1=#1+10.
END1
當然,此法還可以表達較復雜的曲線。宏程序短小精煉,對于存儲空間小的設備很適用。具有很強的適應性,只要改動一兩個數據就可以進行粗加工。但其晦澀難懂,邏輯復雜,過程中的錯誤不易發現,對于特別復雜的曲線無能為力。這種方法對編程人員的要求較高,須非常熟練G代碼,包括不常用的指令,要有相當扎實的高等數學知識,還要熟悉數控加工操作。
Mastercam軟件的應用
2.利用Mastercam軟件
此軟件廣泛應用于數控加工,界面親和,易學易用,能解決G代碼宏程序不能解決的問題。以本文給出的工件為例,如圖2所示,其曲線由一些離散的坐標點來定義(用于測量),如附表所示。
用Mastercam處理,操作流程如下:①先創建點,按坐標值繪制所有已知點。②把所有點按次序聯成Spline曲線。③選擇加工方式。④生成加工程序。具體步驟如下:
第1步,Create—Point—Position,然后直接輸入坐標值,先x軸后y軸,中間用逗號隔開。第2步,待所有給定數據輸入完畢后,命令Create—Spline—Auto-matic,系統提示選擇第一個點、第二個點及最后一個點,一一點擊完成后,系統自動生成Spline樣條曲線。第3步,命令Toolpaths—Finish—Chain,用鼠標點擊曲線的右(末)端,選擇End here命令,確認Done后,彈出Tool parameters刀具參數對話框,根據需要選擇合適刀具,再切換到Finish parameters對話框,如圖3所示,選擇切削參數。該過程中要特別注意幾個重要參數的確定:①Linearization決定加工精度,其值越小精度越高,則程序也越長,一般0.01就足夠了。②Compensa-tion type意為選擇刀補類型,常用的是Computer和Con-trol兩種。computer是根據刀具實際情況計算出刀具軌跡,生成程序,不用刀補;Control則不考慮刀具規格,生成有刀補的程序。③Compensation direction,選擇刀補方向,一般可根據加工方式和操作方法而定。以上參數確定后彈出管理菜單,如圖4所示。第4步,點擊Post鍵,打開后處理對話框,如圖5所示,確定機床數控操作系統,此處選擇的是FANUC系統,文件是MPLFAN。,注意:后處理文件以MPL開頭,其后幾位表示簡寫的數控操作系統。若想更改為其他系統,通過change Post鍵進行選擇,且選中Edit命令,然后點擊0K鍵,生成程序。#p#分頁標題#e#
該工件的加工經過幾次摸索:第一次加工時直接利用給出點的坐標值,將兩點間近似為一條直線,用G1指令寫出程序。結果加工出來的曲線是19段折線,是離散點過于稀疏造成的。第二次,在AutoCAD2002中把離散點用樣條曲線Spline命令串連起來,用垂線分曲線,等分它在X軸上的投影,將點的坐標求出來,增加了點的個數。且人為在原有兩點之間插入若干個點,全部寫入程序。此法雖然能解決問題,但很繁瑣,且程序龐大,易出錯。第三次,使用Mastercam,采用樣條線把離散的點連起來,直接生成滿足精度要求的程序,與方法二相比,生成程序短小精煉,正確率高。該方法高效、簡單、便捷,可以解決只給定離散點的曲線形式,對操作者要求較低。
曲線加工的數據編程
3.用C語言(或其他語言)生成程序的數據主體
某產品,其外形是一個很復雜的曲線方程,用宏程序很難(甚至不可能)把它寫出來,而Mastercam則無法輸入函數方程。此時,借助C語言來生成數據主體。
例:車工曲線方程如下:
0≤x≤22.1
Y=200.2+140.653√b
b=0.008754(x/168)+6.1455(x/168)2
-4.87544(x/168)3+0.568749(x/168)4
+0.76587(x/168)5
它很難在Mastercam中繪制。用C語言來計算其離散點,過程如下:
#Include”math.h”
#Include”conio.h”
#Include”stdio.h”
Main ()
{
double a,b,d,c,i,e;
FILE*fp;
fp=fopen(”d:\s77.txt”,”w+”);
for(i=0;i<22.1;i=i+0.1)/*③*/
{
c=i/168;
b=0.008754*c+6.1455*c*c-4.87544*c*c*c+
0.568749*c*c*c*c+0.76587*c*c*c*c*c;
d=0.3333*log(b);
e=exp(d);/*①*/
a=200.2+140.65*e;/*②*/
printf(“Z=%.4f”,i);
printf(“X=%.4f\n”,a);
fprintf(fp,”z%.3fX%.3f\n”,i,a);
結果輸出到文件S77.TXT*/
}
Printf (”ok”);
getch ()
}
程序①②兩句用到了一個公式a=eIna,b開3次方即是6的1/3方。此程序在TC2.0下通過。
運行此程序得到s771.txt文件,用編輯器(任何一個,如記事本)打開,只要在頭尾加上功能句,就是一個可用的程序。它的原理是:任何曲線可以分成無數很短的曲線,每個很短的曲線可以近似地認為是一段直線。當每段曲線的長度趨于零時,與直線的誤差也趨于零。足夠多的直線連起來可以替代一段曲線,這樣就把曲線轉化成有限段的直線。直線的程序很容易實現,問題得到簡化。為了盡可能的減小曲線誤差,每段曲線長度要盡可能的短,所以程序中的循環步長(控制曲線長度,注③i=i+0.1中的0.1)可以取得很小。但這樣做成的程序會很大,有大量的冗余數據產生。曲率與誤差成正比,因為步長固定,在曲率小的地方誤差小,曲率為零(即直線)時則有大量的無用數據(完全可以棄掉而不影響程序),而在曲線曲率大的地方誤差較大。新生代機床其數控系統容量都很大,所以不必過多考慮程序的大小,以保證曲線精度(線輪廓度)為第一要務。如果要生成一個沒有冗余的短小程序,要用到二次求導等數學知識,非常復雜,在此處不作討論。#p#分頁標題#e#
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF