作者yuleen123 (.......................)
看板Mechanical
標題Re: [技術] 一個有關CNC Macro刀具半徑和加工範圍??
時間Thu Jun 20 00:18:19 2013
※ 引述《a777starmy (那些年一起ptt的日子)》之銘言:
: 用直徑4的刀具銑一個平面
: X:8 U:0 銑2刀[下刀點分別為6(第1刀)、2(第2刀)]
: X:9 U:0 銑3刀[下刀點分別為7(第1刀)、4(第2刀)、2(第3刀)]
: 現在問題來了,我寫了一個Macro
: #24= (X) 最遠的加工X點
: #21= (U) 走到U點
: #20= (T) 刀具直徑
: While[[#24-#21] GT #20] Do 1;
: G01 X[#24-[#20/2]] F#9;
: END 1;
: M05;
: G91 G28 Z0;
試著寫一下
(#24=X, start point, width, x direction)
(#21=U, end point, width, x direction)
(#25=Y, start point, length, y direction)
(#22=V, end point, length, y direction)
(#26=Z, tool nose point)
(#20=T, tool diameter)
(#9=F, feedrate)
Oxxxx;
......
......
IF [#24 EQ #21] GOTO 999;
IF [#20 LE 0] GOTO 999;
(Set start and end point)
IF [#24 GT #21] GOTO 10
#1 = #24; (Start point)
#2 = #21; (End point)
GOTO N20;
N10;
#1 = #21; (Start point)
#2 = #24; (End point)
N20;
(Calculate step increament)
#3 = #20*0.8 (20% overlap)
(Set initial point)
IF [#2-#1 LE #20/2] GOTO N30;
#4 = #1 + #20/2; (Initial point)
GOTO N40;
N30;
#4 = [#1+#2]/2; (Initial point)
N40;
(Goto initial point)
G90 G0 X[#4] Y[#25];
G1 Z[#26] F500;
(Start machining)
#5 = 0; (counting)
WHILE [#4 LT #2] DO1;
G1 X[#4] F[#9];
IF [#5 MOD 2 EQ 0] THEN GOTO 100;
G1 Y[#25] F[#9];
GOTO 110;
N100;
G1 Y[#22] F[#9];
N110;
#4 = #4 + #3;
#5 = #5 + 1;
END1;
G91 G28 Z0.;
......
......
N999;
M99;
沒有測試過,不過大概的原理是這樣
1. 起始位置 #1 和終止位置 #2 不管傳進來的參數誰大誰小,永遠是 #2 > #1
2. 如果傳進來的起始位置 = 終止位置,就跳到程式結尾不執行
3. 設定每刀切寬 #3 為刀具直徑的 80%
4. 切削起始位置 #4 有兩種設定方式
(1) 如果 #2 - #1 比刀具半徑還要大,則設定為 #1 + 刀具半徑
(2) 如果 #2 - #1 比刀具半徑還小,則設定為 [#2+#1]/2,也就是指定位置的中間
5. 迴圈中的銑削模式為來回銑削,設置 counting #5 決定移動方向
#5 為 2 的倍數時執行 Y(#25) -> V(#22)
#5 不是 2 的被數時執行 V(#22) -> Y(#25)
: 問題是怎麼讓它跑迴圈??用一把直徑4的刀子,可以跑X-U=20,也可以跑X-U=4的
: 用IF是可以寫的出來,但不知有無人有學過迴圈的寫法???
: 原理是:(X-U)/T 看有無小數點,有的話最後一刀的下刀點在 U+(T/2),不然最後那塊
: 肉無法銑到!!
: 第一刀的下刀點則為X-(T/2)
: U (T/2) X <==座標
: ----------- ----
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.24.40
推 d1d1:先推程式寫的很整齊,看了就爽 06/20 07:22
推 whface:附和板大講的! 06/20 12:53
→ yuleen123:對了,刀具直徑不要用參數傳入,直接讀刀補的資料比較好 06/20 13:00
推 johnnycgi:專業清爽的程式與良好的註解習慣,看了就爽 +1 06/23 14:20