設計正多邊形外輪斜面、 倒角和錐台的加工宏程序, 以立銑刀實現邊數為 n 邊的外輪廓自下而上環繞分層加工出周邊斜面,如圖 5-26 所示。
同時能通過控制多邊形中心與其中一頂點的連線與水平方向的夾角, 加工出不同擺放位置的正多邊形,為編程方便,我們將編程起始點,即多邊形的一個頂點 A 放在 X 水平軸上,要加工出所要求的擺放位置, 需用 G68 指令進行坐標系旋轉, 旋轉角度為 OA 與 OA』的夾角)。現以五邊形為例,如圖 5-27 所示,工件坐標系設在多邊形中心的上平面,以刀具中心點編程,編程起始點為 X 軸上的 A 點,用 G68 指令進行坐標系旋轉。 以順銑方式 (順時針方向)由下而上分層加工。
1)初始變量的設置,與多邊形外輪廓宏程序中一樣,各參數號相對應,僅增加斜面與垂直
面的夾角 α,設變量為 #7。
#1=__; 正多邊形的邊數
#2=__.; 正多邊形外接圓的直徑
#3=__; 周邊斜面的高度尺寸值
#4=__; 刀具半徑(平底立銑刀)
#5=__; Z 向加工起始點坐標,設為自變量,賦初始值 Z0
#7=__; 斜面與垂直面的夾角
#15= __.; 分層加工的層間距
#23= __; OA 與水平 X 軸的正向夾角(正三角形為 90,正四邊形為 45,正六邊形為 0)
2)宏程序中變量及表達式在正多邊形周邊斜面宏程序中,完成一圈(首辦加工最外圈)的 #10、#11、#12 變量的含義與計算表達式與正多邊形輪廓加工宏程序中一樣。
要實現正多邊形周邊斜面的加工,關鍵點是每層的正多邊形外接圓隨著高度的上升而縮小,即每層的極半徑 OA 在變化,極角不變。如圖 5-28 所示,計算每層多邊形的極半徑 OA』的表達式如下:
#18,OB』邊長。首先確定 OB』邊長, OB』邊長等於 OB(#11)減去圖中的 BC 邊長,在ABC 中,已知∠ α(#7 )和 AC(#5)邊長,根據正切函數 TAN等於對邊比鄰邊定義,即 BC=AC*TANα, 那麼 OB』邊長賦值表達式為:
#18==#11-#5*TAN[#7];
#19,每層多邊形的極半徑 OA』的賦值表達式為:
#19=#18/COS[#10];
(3)轉移循環設計
每層以極角變化次數循環加工邊數
#17=1; 極角變化次數,初始值為 1
WHILE[#17LE#1]DO2; 當極角變化次數小於正多邊形邊數,循環 2 繼續
G01X#19 Y[0-#17*[#10*2]]; 極坐標,每加工一邊極角依次遞減 2β
#17=#17+1; 極角變化次數遞增到邊數即結束循環
END2;
深度分層加工循環次數
WHILE[#5LE#3]DO1; 加工高度循環判斷
……
#5=#5+#15; 每層加工坐標遞增層間距值
END1;
O5016; 宏程序名
#1=5; 正多邊形的邊數賦值
#2=80.; 正多邊形外接圓的直徑賦值
#3=6.; 周邊斜面的高度尺寸值賦值
#4=8.; 刀具半徑(平底立銑刀)賦值
#5=0; Z 向加工起始點坐標,設為自變量,賦初始值 Z0
#7=15; 斜面與垂直面的夾角賦值
#15=2.; 分層加工的層間距賦值
#23=18; 正多邊形旋轉角度賦值
S1000M03;
G54G90G00X0Y0Z30.;
G68X0Y0R#23; 坐標系旋轉
G17G90G16; 極坐標編程
#10=180/#1; 計算角度 β,180 除以邊數
#11=#2/2*COS[#10]+#4; 計算最外圈正多邊形 OB邊長
#12=#11/COS[#10]; 計算最外圈加工起點的極半徑 OA 邊長
N11 G00 X#12Y0; 快速移到最外圈加工起始點 A
N12 Z2. ; 接近加工平面
N13 G01 Z-#3; 進給下刀到斜面底部(自下而上)
WHILE[#5LE#3]DO1; 當分層加工還未到斜面頂部時,循環 1繼續
#18=#11-#5*TAN[#7]; 計算每層加工的 OB』邊長(計算 OA的條件,隨 #5變化)
#19=#18/COS[#10]; 計算每層加工的極半徑 OA』邊長
N21 G01Z[-#3+#5]F1000.; 進給上升到上一層的起始點 Z坐標(隨 #5變化)
N22 X#19 Y0; 進給移到當前層的 XY平面起始點
#17=1; 極角變化次數,初始值為 1
WHILE[#17LE#1]DO2; 當極角變化次數小於正多邊形邊數,循環 2繼續
N23 G01 X#19 Y[0-#17*[#10*2]]; X 極徑, Y 為極角(每加工一邊極角依次遞減 2β)
#17=#17+1; 極角變化次數遞增到邊數即結束循環
END2;
#5=#5+#15; 層加工 Z向加工起始點坐標依次增加層間距
END1;
G00Z30.;
G15;
M30;
文章來源: https://twgreatdaily.com/Tnbs-G4BMH2_cNUgJTNS.html