Inkscape - Công cụ G-Code
... Nhiều chương trình có thể nhập định dạng này. Inkscape còn có thể làm được nhiều điều hơn là đồ họa. Loạt bài này sẽ chỉ cho bạn một số điều bạn có thể làm ngoài đồ họa với Inkscape. Bài viết đầu tiên của loạt bài này sẽ giới thiệu cách sử dụng tiện ích mở rộng G-Code Tools của Inkscape để tạo ra G-Code. G-Code, ngược lại, rất hữu ích cho các máy lập trình như máy vẽ và máy khắc laser.
G-Code là gì và nó được sử dụng để làm gì?
Việc chế tạo máy móc cho lĩnh vực sở thích đang bùng nổ. Việc công bố mã nguồn của máy in 3D RepRap để tự xây dựng và sự sẵn có của các thành phần điện tử, chẳng hạn như Arduino hoặc Raspberry Pi, có lẽ là một số nguyên nhân của sự bùng nổ này. Kỹ thuật cơ khí như một thú vui đang ngày càng được nhiều người áp dụng. Xu hướng này vẫn chưa dừng lại với máy in 3D. Ngoài ra còn có máy phay CNC, máy vẽ, máy khắc laser, máy cắt, và thậm chí cả máy móc mà bạn có thể tự chế tạo.
Bạn không cần phải tự thiết kế hoặc chế tạo những chiếc máy này. Bạn có thể mua những chiếc máy này với giá tương đối thấp dưới dạng bộ hoặc đã được lắp ráp sẵn. Tất cả các loại máy này đều có một điểm chung: chúng được điều khiển bằng máy tính. Sản xuất có sự hỗ trợ của máy tính (CAM), đã trở nên phổ biến trong sản xuất, giờ đây cũng được thực hiện tại nhà.
G-Code hoặc ngôn ngữ lập trình G
Ngôn ngữ được sử dụng rộng rãi nhất để lập trình máy CAM là G-Code. G-Code còn được gọi là ngôn ngữ lập trình G. Ngôn ngữ này được phát triển tại MIT vào những năm 1950. Kể từ đó, các tổ chức khác nhau đã phát triển các phiên bản của ngôn ngữ lập trình này. Hãy ghi nhớ điều này khi làm việc với nó. Các quốc gia khác nhau có các tiêu chuẩn khác nhau cho ngôn ngữ này. Cái tên này xuất phát từ thực tế là nhiều lệnh trong đoạn mã này bắt đầu bằng chữ G. Chữ cái này được sử dụng để truyền đạt các lệnh di chuyển hoặc định tuyến cho máy.
Các lệnh, theo đúng nghĩa của từ này, từ A (vị trí tuyệt đối hoặc tăng dần quanh trục X; xoay quanh X) đến Z (tuyệt đối hoặc tăng dần theo hướng của trục Z). Các lệnh có tiền tố M (nhiều) truyền các lệnh khác đến máy. Bật / tắt chất làm mát là một ví dụ về lệnh M. Nếu bạn muốn có một danh sách toàn diện hơn về các lệnh mã G, có một bảng trên Wikipedia.
%
G00 X0 Y0 F70
G01 Z-1 F50
G01 X0 Y20 F50
G02 X20 Y0 J-20
G01 X0 Y0
G00 Z0 F70
M30
%
Ví dụ nhỏ này sẽ chia thành một hình vuông. Bạn có thể viết mã G này trong bất kỳ trình soạn thảo nào bạn chọn. Nhưng khi nói đến những thứ phức tạp hơn, bạn thường sẽ không thực hiện loại mã hóa cấp thấp này bằng tay. Khi nói đến in 3D, máy cắt sẽ viết mã G cho bạn. Nhưng khi bạn muốn sử dụng máy cắt decal hoặc máy khắc laser thì sao?
Phần mềm viết mã G khác
Sau đó, bạn sẽ cần một chương trình để thực hiện công việc này cho bạn. Chắc chắn, một số chương trình CAD có thể viết G-Code. Nhưng không phải tất cả các chương trình CAD mã nguồn mở đều có thể làm được điều này. Dưới đây là một số giải pháp mã nguồn mở khác cho việc này:
dxf2gcode, thường là một công cụ dòng lệnh nhưng có GUI được triển khai bằng Python
dmap2gcode, bạn có thể nhập đồ họa raster và chuyển đổi chúng
Millcrum, một công cụ dựa trên trình duyệt
LinuxCNC, có thể nhập đồ họa raster và chuyển đổi chúng sang mã G
TrueTypeTracer hoặc F-Engrave nếu bạn muốn khắc phông chữ
Như bạn có thể thấy, không có vấn đề gì khi tìm một công cụ để làm điều này. Điều tôi không thích là sử dụng đồ họa raster. Tôi sử dụng máy CNC vì nó hoạt động chính xác hơn những gì tôi có thể làm bằng tay. Sử dụng đồ họa raster và vẽ chúng để tạo đường dẫn cho G-Code không còn chính xác nữa. Tôi thấy sử dụng đồ họa vector, dù sao cũng có đường dẫn, chính xác hơn nhiều.
Khi nói đến đồ họa vector, không cần lo lắng về Inkscape; ít nhất là không nếu bạn sử dụng Linux. Có một số chương trình khác. Nhưng chúng không bằng khả năng của Inkscape. Hoặc chúng được thiết kế cho các mục đích khác. Vậy câu hỏi đặt ra là: "Có thể sử dụng Inkscape để tạo G-Code không?" Và câu trả lời là có! "Kể từ phiên bản 0.91, Inkscape đã được đóng gói với một tiện ích mở rộng có tên là GCode Tools. Tiện ích mở rộng này thực hiện chính xác những gì chúng tôi muốn: nó chuyển đổi đường dẫn sang mã G.
Vì vậy, tất cả những gì bạn phải làm, nếu bạn chưa cài đặt, là cài đặt Inkscape:
$ sudo dnf cài đặt Inkscape
Một điều cần lưu ý trước (ánh sáng ở đâu, bóng cũng vậy): tiện ích mở rộng Công cụ GCode có rất nhiều tính năng chưa được ghi chép đầy đủ. Nhà phát triển cho rằng việc sử dụng diễn đàn để làm tài liệu là một ý kiến hay. Ngoài ra, cần có kiến thức cơ bản về G-Code và CAM để hiểu các chức năng.
Một điểm khác cần lưu ý là sự phát triển không còn năng động như ở thời điểm các công cụ GCode được đóng gói với Inkscape.
Giới thiệu về tiện ích mở rộng Inkscape G-Code Tools
Bước đầu tiên giống như khi bạn làm bất cứ điều gì khác trong Inkscape: điều chỉnh các thuộc tính của tài liệu của bạn. Vì vậy, hãy mở cài đặt tài liệu bằng Shift + Ctrl + D hoặc bằng cách nhấp vào biểu tượng trên thanh lệnh và đặt thuộc tính tài liệu theo kích thước phôi của bạn.
Tiếp theo, đặt các điểm định hướng bằng cách đi tới Phần mở rộng> Gcodetools> Điểm định hướng. Bạn có thể sử dụng cài đặt mặc định. Cài đặt mặc định có thể sẽ cung cấp cho bạn một cái gì đó tương tự như những gì được hiển thị bên dưới.
Inkscape với cài đặt tài liệu và điểm định hướng
Bước tiếp theo là chỉnh sửa thư viện công cụ (Phần mở rộng> Gcodetools> Thư viện Công cụ). Thao tác này sẽ mở cửa sổ hộp thoại cho cấu hình của công cụ. Ở đó bạn chọn công cụ bạn sẽ sử dụng. Công cụ mặc định là tốt. Khi bạn đã chọn công cụ và nhấn Áp dụng, một hình chữ nhật sẽ xuất hiện trên canvas với các cài đặt của công cụ. Các cài đặt này có thể được chỉnh sửa bằng Công cụ Văn bản (T). Nhưng điều này là một chút khó khăn.
Inkscape với cài đặt thư viện công cụ mặc định được thêm vào tài liệu
Tiện ích mở rộng G-Code Tools sẽ sử dụng các cài đặt này sau này. Các cài đặt công cụ này được nhóm với một tên có thể nhận dạng được. Nếu bạn hủy nhóm các cài đặt này, tên này sẽ bị mất.
Có hai khả năng để tránh mất tay cầm nếu bạn hủy nhóm các cài đặt công cụ. Bạn có thể sử dụng tính năng hủy nhóm bằng 4 lần nhấp với công cụ lựa chọn được kích hoạt. Hoặc bạn có thể hủy nhóm bằng cách sử dụng Shift + Ctrl + G và sau đó đặt tên cho nhóm bằng trình chỉnh sửa XML.
Trong trường hợp đầu tiên, bạn cần xem nhóm đã được khôi phục chưa trước khi vẽ thứ gì đó mới. Nếu không, đối tượng mới được vẽ sẽ được thêm vào nhóm này.
Bây giờ bạn có thể vẽ các tuyến đường mà bạn muốn sau này chuyển đổi sang G-Code. Các đối tượng như hình chữ nhật, hình tròn, ngôi sao và đa giác, cũng như văn bản, phải được chuyển đổi thành đường dẫn (Path> Object to Path hoặc Shift + Ctrl + C).
Phông chữ phức tạp hoặc phông chữ nét
Về phông chữ, lưu ý rằng TTF và OTF được gọi là phông chữ phác thảo. Điều này có nghĩa là đường viền của từng ký tự được xác định và sẽ được khắc hoặc cắt như vậy. Nếu bạn không muốn điều này và muốn sử dụng ví dụ như một phông chữ script thì bạn nên sử dụng Stroke Fonts để thay thế. Bản thân Inkscape đi kèm với một bộ sưu tập nhỏ trong số chúng theo mặc định (xem Phần mở rộng> Văn bản> Văn bản của Hershey).
Phông chữ nét mở rộng văn bản Inkscape Hershey
Phông chữ nét mở rộng văn bản Hershey
Đây là một bài viết khác về cách tạo phông chữ đột quỵ của riêng bạn. Chúng không chỉ hữu ích cho việc khắc, mà còn để thêu.
Các chức năng điền vùng
Trong một số trường hợp, có thể cần phải điền vào các đường dẫn bằng một mẫu. Tiện ích mở rộng G-Code Tools có một tính năng cung cấp hai cách để điền vào các đối tượng bằng các mẫu: zig zag và xoắn ốc. Có một tính năng khác hiện không hoạt động (Inkscape đã thay đổi một số phần của các tiện ích mở rộng với việc phát hành phiên bản 1.0). Hàm cuối cùng sẽ điền đối tượng với sự trợ giúp của các hàm bù trong Inkscape. Các chức năng này được tìm thấy trong Phần mở rộng> Gcodetools> Khu vực.
Hàm Fill Area của tiện ích mở rộng G-Code Tools.
Ở bên trái tô mẫu và ở bên phải (hiện không hoạt động) tô bù. Tiện ích mở rộng sẽ chạy tab đang hoạt động!
Khu vực lấp đầy công cụ GCode, ở trên cùng của Zigzag và ở dưới cùng của Spiral. Lưu ý rằng kết quả sẽ khác nếu bạn sử dụng chức năng từng chữ cái này thay vì đường dẫn đầy đủ.
Vùng công cụ mã G lấp đầy, ở trên cùng của Zig zag và ở dưới cùng của Spiral. Lưu ý rằng kết quả sẽ khác nếu bạn áp dụng tính năng này từng chữ cái thay vì toàn bộ đường dẫn.
Với ngày càng nhiều khu vực điền đầy khác nhau, bạn thường sẽ phải vẽ các đường dẫn bằng tay (khoảng 90% thời gian). Phần mở rộng EggBot có chức năng lấp đầy các vùng bằng các mẫu. Bạn cũng có thể sử dụng các mẫu cửa sập cổ điển. Nhưng bạn sẽ phải chuyển đổi mẫu tô trở lại một đối tượng. Nếu không, phần mở rộng G-Code Tools không thể chuyển đổi nó. Bên cạnh những điều này, Evilmadscientist có một trang wiki rất hay mô tả các phương pháp điền.
Chuyển đổi các tuyến đường sang mã G
Để chuyển đổi các đường dẫn đã vẽ sang G-Code, hãy sử dụng chức năng Phần mở rộng> Gcodetools> Đường dẫn tới G-Code. Chức năng này sẽ được thực thi trên các đối tượng đã chọn. Nếu không có đối tượng nào được chọn, tất cả các đường dẫn trong tài liệu sẽ được chuyển đổi.
Hiện không có chức năng lưu mã G bằng menu tệp. Điều này phải được thực hiện từ hộp thoại mở rộng G-Code Tools khi chuyển đổi các đường dẫn sang G-Code. Trong tab Tùy chọn, bạn cần chỉ định đường dẫn và tên của tệp đầu ra.
Các đường màu và mũi tên khác nhau sẽ được hiển thị trên canvas. Các đường màu xanh lam và xanh lá cây thể hiện các đường cong (G02 và G03). Đường màu đỏ hiển thị đường thẳng (G01). Khi bạn nhìn thấy phong cách này thì bạn biết rằng bạn đang làm việc với G-Code.
Kết luận
Các ý kiến khác nhau về việc liệu Inkscape có phải là công cụ phù hợp để tạo G-Code hay không. Nếu bạn lưu ý rằng Inkscape chỉ hoạt động trong hai chiều và bạn không mong đợi quá nhiều, bạn có thể tạo G-Code với nó. Đối với các công việc đơn giản như truy tìm một số chữ cái hoặc logo, nó chắc chắn là đủ. Nhược điểm chính của tiện ích mở rộng G-Code Tools là nó thiếu tài liệu. Điều này gây khó khăn cho việc bắt đầu với G-Code Tools. Một nhược điểm khác là hiện tại không có nhiều sự phát triển tích cực của G-Code Tools. Có những phần mở rộng khác cho Inkscape cũng nhắm mục tiêu G-Code. Nhưng chúng đã là lịch sử hoặc chúng cũng không tích cực phát triển. Phần mở rộng Makerbot Unicorn GCode Output và phần mở rộng GCode Plot là một số ví dụ về trường hợp sau. Chắc chắn cần có một cách dễ dàng để xuất trực tiếp G-Code.