數控銑刀一般都具備刀具半徑自動補償機能,以適應用圓頭刀具(如銑刀、圓頭車刀)加工時,可簡化程序編制,省去計算刀位的工作。
當數控裝置不具備刀具半徑自動補償機能時,必須用刀心運動軌跡的數據進行編程。其數據的計算有時是相當復雜的,特別是當刀具磨損、重磨以及換新刀而導致刀具半徑變化時,必須重新計算,這就更加繁瑣,又不易保證加工精度。

圖1 數控銑刀半徑自動補償示例
G41——左偏置(左補償)。沿著刀具前進方向看,刀具始終在工件左側。
G42——右偏置(右補償)。沿著刀具前進方向看,刀具始終在工件右側。
G40——注銷G41或G42指令。當包含G41或G42的程序段完成后,用G40注銷掉偏置值。
D刀具刀具(有的系統用H)——對應于刀補存儲器中補償值的補償號代碼。
補償號代碼為2位數,D00~D99,補償值由刀補撥碼開關輸入、MDI手動數據輸入或在刀具補償參數表菜單中設定,具體情況隨不同數控系統有所不同。補償號除用D(或H)代碼外,還可用刀具功能T代碼的低一位或低二位數字(如T01取消1號刀刀補,T11調用1號刀刀補)。
圖1為數控銑刀半徑自動補償例子。由于數控裝置具備了刀具半徑的自動補償,只需按已知的起刀點P和輪廓A、B、C、D的圖紙數據進行編程。在程序中只給出刀具偏置方向的指令G41(左偏置,此例刀具始終在工件左側)以及存儲補償值的補償號D⊿⊿,刀偏半徑值由操作者輸入到CNC裝置中并由D(或H)代碼調用,CNC裝置便能自動計算刀心軌跡并按刀心軌跡運動,使得編程十分簡便。
圖1所示程序如下(按坐標編程):
N001 G92 XP YP LF
N002 G90 G41 G01 XA YA D01 LF 建立刀補,刀具左補償
N003 XB YB LF 刀補繼續
N004 XC YC LF ┇
N005 XD YD LF ┇
N006 XA YA LF ┇
N006 G40 XP YP M02 LF 取消刀補
G40為注銷指令。即當調用G41或G42功能完成后,用G40指令注銷掉刀偏功能,使刀具中心與編程軌跡重合。D01為存放刀具補償值的存儲器的補償號。

圖2 粗、精加工補償法
數控銑刀徑自動補償機能除了上述可免除刀心軌跡的人工計算外,還可以利用同一加工程序適應不同的工況。如刀具磨損和刀具重磨后,刀具半徑變小,只要手動輸入改變后的刀具半徑即可,而不必修改已編好的程序。又如,用同一紙帶或同一程序、同一尺寸的刀具進行粗、精加工。圖2為粗、精加工的補償方法:假設精加工余量為△。先采用(r+△)的偏置量,進行粗加工至圖中虛線的位置。精加工時,采用實際刀具半徑r的偏置量,即可進行終輪廓的加工。同理,利用調整半徑值r的大小,可控制輪廓尺寸的精度。