PDA

View Full Version : viết Chương trình dịch ra G Code như thế nào ??



onono999
26-05-2015, 10:08:43 PM
Chào các bác ! Em đang cần một chương trình nho nhỏ có thể xuất ra G code từ một đường thẳng cho trước. Em đã mày mò linux CNC mấy ngày nay mà chưa ra vấn đề. Trong thực tế thì không quan tâm làm gì nhưng đây là bài tập lớn nên thầy giáo yêu cầu phải làm. Em đang cần RẤT GẤP. vì thế có cao nhân nào thì giúp em với ạ. ! Em sẽ cảm ơn và hậu tạ ạ !

anhcos
26-05-2015, 10:14:29 PM
Cái chữ "chương trình" bạn nói đến ở đây là code hay app vậy.
Đường thẳng thì qua 2 điểm (a1,b1) và (a2,b2) cho nên lệnh gia công là:

G0 Xa1 Yb1 (di chuyển đến a1b1
G1 Z... (là độ sâu ăn dao)
G1 Xa2 Yb2 (gia công từ a1b1 đến a2b2)

nhatson
26-05-2015, 10:15:31 PM
http://www.shapeoko.com/wiki/index.php/Programmatic_G-Code_Generators
ở đây có 1 ít thông tin

Nam CNC
26-05-2015, 10:15:44 PM
chương trình này tự viết hay là 1 chương trình nào đó của hãng , nếu hãng thì chú có thể chọn aspire ( cơ bản ) cao hơn là artcam , cao cấp công nghiệp là powermill , cả 3 em này là của hãng Dellcam , ngoài ra còn có mastercam , solidcam .... cứ chương trình gì đó có cái chữ cam chắc sẽ giúp chú xuất ra 1 file gcode , nhưng để có 1 file gcode đúng nghĩa ( có thể giải thích cho thầy hiểu rõ ) chú cần thời gian học nhiều thì mới tự mình làm được , chứ gấp quá , làm đai cho thầy xem mà thầy hỏi lại mà khong hiểu thì căng lắm à , nếu cần gấp lên mạng tìm đại 1 file nào đó cũng dễ mà.

onono999
26-05-2015, 10:35:23 PM
Cái chữ "chương trình" bạn nói đến ở đây là code hay app vậy.
Đường thẳng thì qua 2 điểm (a1,b1) và (a2,b2) cho nên lệnh gia công là:

G0 Xa1 Yb1 (di chuyển đến a1b1
G1 Z... (là độ sâu ăn dao)
G1 Xa2 Yb2 (gia công từ a1b1 đến a2b2)

Thưa anh nó là một phần mềm do mình tự viết ra anh ạ. em không biết viết :(

nhatson
26-05-2015, 10:38:38 PM
từ 1 đường thẳng > gcode > em nghĩ là phần mềm cam, túm gấu ông anhcos mà bám nhé

onono999
26-05-2015, 10:38:39 PM
chương trình này tự viết hay là 1 chương trình nào đó của hãng , nếu hãng thì chú có thể chọn aspire ( cơ bản ) cao hơn là artcam , cao cấp công nghiệp là powermill , cả 3 em này là của hãng Dellcam , ngoài ra còn có mastercam , solidcam .... cứ chương trình gì đó có cái chữ cam chắc sẽ giúp chú xuất ra 1 file gcode , nhưng để có 1 file gcode đúng nghĩa ( có thể giải thích cho thầy hiểu rõ ) chú cần thời gian học nhiều thì mới tự mình làm được , chứ gấp quá , làm đai cho thầy xem mà thầy hỏi lại mà khong hiểu thì căng lắm à , nếu cần gấp lên mạng tìm đại 1 file nào đó cũng dễ mà.

thưa anh giáo viên yêu cầu phần mềm do mình tự viết . và yêu cầu này đưa ra ngày 22/5 nên cũng đã quá gấp đối với em. anh có file thì cho em xin với. gấp gáp thì có phần mềm chạy được là được đồng ý cho báo cáo. không thì em không ra trường được ạ. lúc đăng ký đề tài em đăng ký là ứng dụng jdpaint để xuất gcode thế mà giờ bắt em viết phần mềm . thật sự quá khó và ngoài tầm của em !

Nam CNC
26-05-2015, 10:42:00 PM
tìm ông Anhcos ở trên ấy , ông ấy đã tự xử 1 chương trình viết gcode rồi , dữ dằn lắm .

onono999
26-05-2015, 10:42:06 PM
http://www.shapeoko.com/wiki/index.php/Programmatic_G-Code_Generators
ở đây có 1 ít thông tin

cảm ơn anh đã chia sẻ. anh có thể chia sẻ cho em một ít thông tin về cách sử dụng hay đại loại cái gì đó liên quan không ạ . em mong chờ thêm những chia sẻ của anh :)

nhatson
26-05-2015, 10:44:04 PM
http://jelinux.pico-systems.com/gcode.html

cao cấp hơn yêu cầu, xuất gcode để khoét lỗ tròn lỗ vuông, mất time đọc rồi hạ cấp độ phức tạp

onono999
26-05-2015, 10:48:23 PM
http://jelinux.pico-systems.com/gcode.html

cao cấp hơn yêu cầu, xuất gcode để khoét lỗ tròn lỗ vuông, mất time đọc rồi hạ cấp độ phức tạp

Bác ơi em chỉ cần đơn giản thôi. Việc gấp mà dính vào phức tạp thì càng không ra được vấn đề ạ. Dù sao cũng cảm ơn bác đã share

nhatson
26-05-2015, 10:49:46 PM
thấy bác trả lời là em doán bác chả thẻm xem nọi dung code
có là mừng rồi, ko lo mà đọc ở đó mà trả giá nữa, haiz

onono999
26-05-2015, 10:51:36 PM
Cái chữ "chương trình" bạn nói đến ở đây là code hay app vậy.
Đường thẳng thì qua 2 điểm (a1,b1) và (a2,b2) cho nên lệnh gia công là:

G0 Xa1 Yb1 (di chuyển đến a1b1
G1 Z... (là độ sâu ăn dao)
G1 Xa2 Yb2 (gia công từ a1b1 đến a2b2)

Anh ơi ! anh giúp em với !
Em sẽ hậu tạ anh mà . hihi

onono999
26-05-2015, 10:52:58 PM
thấy bác trả lời là em doán bác chả thẻm xem nọi dung code
có là mừng rồi, ko lo mà đọc ở đó mà trả giá nữa, haiz

vâng. em chưa xem. xin lỗi bác vì điều này. tại vì trình độ lập trình của em nó quá thấp , nhưng nhất định em sẽ xem anh ạ.

giaiphapcnc
26-05-2015, 11:01:38 PM
Theo mình hiểu thì bài toán của bạn là bài toán nội suy đường thẳng. Các sách ở VN hay hướng dẫn sử dụng thuật toán DDA. Chắc bạn cùng thấy giáo với 1 bạn ở đây (http://www.dientuvietnam.net/forums/forum/l%E1%BA%ADp-tr%C3%ACnh-v%C3%A0-m%C3%B4-ph%E1%BB%8Fng/matlab-labview-20sim/104772-gi%C3%BAp-%C4%91%E1%BB%A1-code-noi-suy-cnc-%C4%91%C6%A1n-gi%E1%BA%A3n)


Code thuật toán DDA trên Matlab có thể xem ở đây

http://www.mathworks.com/matlabcentral/fileexchange/25524-line-drawing-by-dda/content/DDA_Line.m

Bạn thử biến đổi theo ý thầy giáo

giaiphapcnc
26-05-2015, 11:04:03 PM
Theo mình hiểu thì thấy giáo bạn ra đề này với mục đích là tìm hiểu nội Suy đường thẳng. Thường thì sách CNC Việt Nam hay nói về thuật toán DDA

Bạn tham khảo link sau để biết thuận toán này trên Matlab

mathworks.com/matlabcentral/fileexchange/25524-line-drawing-by-dda/content/DDA_Line.m

giaiphapcnc
26-05-2015, 11:05:33 PM
Một người khác chắc cùng thầy giáo với bạn

dientuvietnam.net/forums/forum/lập-trình-và-mô-phỏng/matlab-labview-20sim/104772-giúp-đỡ-code-noi-suy-cnc-đơn-giản

onono999
26-05-2015, 11:06:10 PM
Theo mình hiểu thì thấy giáo bạn ra đề này với mục đích là tìm hiểu nội Suy đường thẳng. Thường thì sách CNC Việt Nam hay nói về thuật toán DDA

Bạn tham khảo link sau để biết thuận toán này trên Matlab

mathworks.com/matlabcentral/fileexchange/25524-line-drawing-by-dda/content/DDA_Line.m

cũng gần giống như anh nói. Tuy nhiên thầy yêu cầu có g code luôn cơ. em sẽ thử cách của anh. cảm ơn anh đã chia sẻ !

ahdvip
26-05-2015, 11:47:13 PM
Đường thẳng cho trước là đường thẳng ở định dạng như thế nào: toạ độ điểm đầu + toạ độ điểm cuối, DXF.. hay tự vẽ trên phần mềm tự viết.

onono999
26-05-2015, 11:54:57 PM
Đường thẳng cho trước là đường thẳng ở định dạng như thế nào: toạ độ điểm đầu + toạ độ điểm cuối, DXF.. hay tự vẽ trên phần mềm tự viết.

Thưa anh đường thẳng có thể vẽ ở phần mềm khác rồi cho qua apt cuả mình thì ra gcode. nếu vẽ luôn ở phần mềm của mình thì càng tốt ạ !

giaiphapcnc
27-05-2015, 06:51:20 AM
cũng gần giống như anh nói. Tuy nhiên thầy yêu cầu có g code luôn cơ. em sẽ thử cách của anh. cảm ơn anh đã chia sẻ !

Thực ra cũng ko có gì khó, trong link trên bạn đã có x(j),y(j) trong vòng lặp for rồi. Bạn chỉ cần write ra file hoặc màn hình theo yêu cầu đề bài cặp x(i) và y(j). Nếu màn hình sử dụng dụng print hoặc fprint

onono999
27-05-2015, 11:09:44 AM
Thực ra cũng ko có gì khó, trong link trên bạn đã có x(j),y(j) trong vòng lặp for rồi. Bạn chỉ cần write ra file hoặc màn hình theo yêu cầu đề bài cặp x(i) và y(j). Nếu màn hình sử dụng dụng print hoặc fprint

mình chưa biết viết thế nào . bạn giúp mình với !

anhcos
27-05-2015, 11:18:58 AM
https://c1.staticflickr.com/9/8899/17959357150_401082b62f_z.jpg

Chương trình này viết cho một người có nhu cầu như bạn khá là lâu rồi, hôm nay chỉnh lại tí cho phù hợp.
Nhập liệu bằng gõ tọa độ vào hoặc dùng chuột (có hỗ trợ bắt điểm).

Tải về: http://www.fshare.vn/file/NFWYSVSY94GQ

onono999
27-05-2015, 12:48:26 PM
https://c1.staticflickr.com/9/8899/17959357150_401082b62f_z.jpg

Chương trình này viết cho một người có nhu cầu như bạn khá là lâu rồi, hôm nay chỉnh lại tí cho phù hợp.
Nhập liệu bằng gõ tọa độ vào hoặc dùng chuột (có hỗ trợ bắt điểm).

Tải về: http://www.fshare.vn/file/NFWYSVSY94GQ

anh có thể cho em xin thông tin liên lạc được không ạ ? em có một số vấn đề cần hỏi riềng anh . nếu cần giữ riêng tư thì anh có thể gửi vào mail em ạ : ictudktdk9a@gmail.com
Trân trọng cảm ơn anh !

onono999
27-05-2015, 01:05:26 PM
Ai có thông tin liên lạc của anh AnhCos thì cho em xin với ạ. em đang cần gấp ạ !