數控加工宏案例銑孔分享 學透的關鍵點是舉一反三!

和你共勉的兩句話:

沒有實踐的學習是浪費時間

學透的關鍵點是舉一反三

給大家分享宏程序實戰案例中的銑孔案例

一、銑孔

說起孔加工,大家常用鑽頭鑽孔,鉸刀鉸孔,鏜刀鏜孔等方法。鑽削和鏜削依舊是孔加工的最快方法,但是對於小批量生產的零件,零件種類多,可能會因為不同尺寸的孔,採取不同種類的鑽頭,鏜刀加工。「一個蘿蔔一個坑」,每個規格的孔需要一種刀具。

而銑孔覆蓋各種尺寸的孔,無論是開粗(無論有無欲鑽底孔),擴孔,精銑(實現以銑代鉸、以銑代鏜),銑孔有顯著的優勢,尤其是用宏程序來編寫銑孔程序,對孔尺寸精度的控制及其方便。

那麼宏程序的優勢在哪呢?

如下圖:

我把孔的直徑、孔深、刀具直徑都用宏變數來代替,這樣的好處是你加工不同尺寸的孔,都可以用此程序來加工。只需要更具圖紙提供的尺寸給變數賦予不同數值即可。

Advertisements

比如:

#1=代表:孔的直徑

#2=代表:孔深

#3=代表:刀具直徑

根據圖紙提供的尺寸,給上面變數賦值即可。

如何編寫銑孔宏程序?

開始編寫程序(分析三點內容)

一、銑孔刀路分析:

刀具快速移動到下刀點,然後刀具每走一圈的同時下一定的距離至到銑至我需要的深度為止。

二、計算兩點(下刀點和退刀點)

大家都知道編程的時候下刀點和退刀點很重要,無論是軟體出程序,還是手工編寫程序,以及現場調試程序的時候,需要重視這兩點,以防刀具與零件碰撞……。

假設零件孔中心以及零件表面Z=0為編程原點

1、下刀點:如上示意圖(需要計算出刀具中心到孔中心的距離)

#1代表孔直徑

#3代表刀具直徑

Y方向坐標是0

X方向坐標可以推算出(孔半徑減去刀具半徑):#6=[#1-#3]/2

Advertisements

知道了下刀點,G0快速移動到下刀點,程序段即:

G0X#6 Y0

Z方向坐標是工件表面Z零點,即Z0,

2、退刀點:如上示意圖

銑完孔之後,刀具需要遠離零件孔內壁,可以計算出[#1-#3]/2-1

注意方向:朝負方向回退1mm所以[#1-#3]/2-1,退刀程序段即

G0X[#6-1]

三,圓弧插補G17G02/G03X_Y_Z_I_J_ 格式

1、G02/G03的格式: G17G02 X_Y_Z_R 或者 G17G02 X_Y_Z_I_J_

以G02X_Y_Z_I_J_(為例子,同理G03的格式也一樣)

G02後面的X_Y_Z_ 是圓弧的終點坐標數值

2、I_後面的數值是圓弧起點到圓心的距離(X方向)

J_後面的數值是圓弧起點到圓心的距離(Y方向)

上段程序G01X10Y50 。 X10,Y50就是圓弧起點坐標。

G02X50 Y10 。X50 Y10就是圓弧終點坐標

I0 J-40 為圓弧起點到圓心的距離(I0時候可以省略不寫)

備註:J_後面的數值是(Y方向)圓弧起點到圓心的距離。此句話含了兩方面的信息:

數值-----(Y方向)起點50,圓心10 ,所以J的數值是40

方向-----(Y方向)朝向負,所以J-40

3、銑孔是利用G02/G03 X_Y_Z_......三軸聯動實銑孔的,也就是旋轉一圈的同時Z需要下一定深度,設每一圈下降深度為#5(如下圖)

那麼銑孔程序段為:G3X_Y_Z_I_J_

採用順時針銑孔選擇G03,G03格式X_Y_Z_後面的數值為終點坐標。

X終點坐標點:#6

Y終點坐標點:0

Z終點坐標點:#5

I(X方向)圓弧起點到圓心的距離:-#6

J(Y方向)圓弧起點到圓心的距離:0

此程序段為:G3X#6Y0Z-#5I-#6 J0,數值為零可以省略

即:G3X#6Z-#5I-#6

有了以上三點的分析,主要程序段歸納如下:

刀具快速移動到下刀點位置:

G0X#6Y0

Z1

螺旋銑孔:

G03X#6Z-#5I-#6F500.

退刀:

G01X[#6-1]F50

G0Z50.

然後在銑孔的時候套用我之前文章講過的宏程序語句,如WHILE語句做判斷:判斷我設置的#5(下刀深度)與#2(孔深),當下刀深度小於孔深的時候,來實現內循環。這裡面涉及一個很重要的概念:自運算,通用自運算來協助WHILE語句做判斷。

我們知道宏程序一大特點是可以運算的。

比如下面程序段:

#5=1

#5=#5+1

#5的賦值是1,這1=1+1怎麼可能呢?我教程中講變數的時候說過,變數只是一個代號,不是一個具體的阿拉伯數值。比方說我有一張銀行卡,裡面有100元錢,現在我向卡里存了100元,那麼卡的總額是200元。這個過程中,卡還是那張卡,但裡面金額已經發生變化了。所以#5這張「卡」,由原來的1,存進了1,因此#5的「總額」就是2。

#5=#5+1就是自運算,大家先有個感性認識即可。

想學UG編程,在616857166群可以幫助你。

上述程序中,我把#5定義為每旋轉一圈下刀深度,#2定義為總深。(#1 ~ #26,這26個變數可以自由定義,關於變數我系統教程以大量篇幅講解,在這就不再贅述)

#5:代表每層切深

#2:代表總深

#5=2 (#5初始賦值為2,為什麼賦值為2,結合下面程序來講解)

#5=#5+1(每旋轉一圈下刀深度1mm,如果每圈下刀深度為2mm,那麼更改為#5=#5+2,至於每圈下多深,這是加工參數的事情和刀具,零件材質等有很大關係,推進大家看看我之前的課程直播-加工參數的選取。)

完整的程序如下:

%

O0001

N2 #1=30 (孔直徑)

N4 #2=10 (孔深)

N6 #3=20 (刀具直徑)

N8 #5=2(之所以初始變數賦值為2,是因為零件Z=0表面為編程零點,但在實際加工中為了安全期間,Z向需要離開工件表面一定距離,比如1mm ,我就把初始變數#5賦值為1。比如工件Z表面2mm外開始切削,那麼初始變數#5=2即可。)

想學UG編程,在616857166群可以幫助你。

N10 #6=[#1-#3]/2

N 12 S2000 M03

N14 G54 G90 G00 X0Y0 Z50.

N16 G0X#6Y0(G0快速移動到下刀點)

N18 Z2

N20 WHILE[#5LT#2]DO1(當加工深度#4小於孔深#2時,循環程序1)

N22 #5=#5+1(每旋轉一圈下刀深度1mm)

N 24 G3X#6Z-#5I-#6F500.(G03順時針螺旋加工至下一圈距)

N26 END1(循環1結束)

N28 G1X[#6-1](G01向中心退回1,即退刀)

N30 G0Z50.

N32 M30

%

上面程序模擬如下:

Advertisements

你可能會喜歡