GRBLCutter is a free software developed by Doug Calvert of Calvert Creative Solutions. It allows a user an entirely free workflow to go from design, edit, process, and cut vector files on a vinyl cutter that has been converted to a GRBL based kinematic system.
Features: - This is specifically designed as a 2 axis motion system with a z axis solenoid - No support for z axis simulation or output - HPGL / PLT to NC / Gcode - Toolpath simulation line by line - GRBL Version check upon connect - Alignment laser offset - Test cut routine to tweak in blade depth - Test boundary / Dry run functions - Knife alignment moves to ensure no sawtooth errors in profile - Serial drip feed to GRBL ( DNC ) - Live simulation of toolpath DNC - Skip sticker function ( in case of vinyl pull up )
Oddities to "Normal" CNC: X Axis - rollers to pull vinyl in and out Y Axis - carriage M3 - Solenoid On M5 - Solenoid Off M8 - Vacuum Fans On M9 - Vacuum Fans Off S - PWM for solenoid pressure F - Feedrate instead of rapid move * Optional All other commands should work as expected.
Rotated coordinate system is to put machine home on right edge of cutter, where 99% of cutter controls panels live. Also to increase screen real estate as most screens are widescreen.
Why did I reinvent the wheel?
After buying a used Vinyl Cutter, I found out that after a few moments of use the machine would lock up and reset. After much investigation the mainboard appeared to be damaged. After trying to find a replacement to no avail I decided I would retrofit a GRBL board for motion control.
After a few weeks of tinkering I had a working system based on the Open source GRBL 1.1f platform.
A solution using existing popular software was needed to enable the open source community to run.
GIMP is a good solution for the needs of photo editing. Inkscape is a good solution for the needs of vectorizing images and design. Despite a number of great GRBL DNC software's, there was no good solution I could find to use as a host for a vinyl cutter.
The next hurdle was to find a good way of creating the Gcode to cut.
I could use a CAM system with a custom post processor, However that seemed heavy and cludgy as I have a lot of experience in the CNC and 3D printing space. Just too much power / complexity for what I needed.
I could try to get a Inkscape extension working, I tired multiple with no luck, and don't know C++, or python well enough to tackle this....
The goal was to create a clean, simple interface in order to enable a GRBL controlled vinyl cutter or drag knife to run open source files.
Just enough to run the cutter, not a 9 axis MTM machine. No need for huge amounts of frontend control.
After some research I found Inkscape can then output the "SVG" file to a "HPGL" or "PLT" file. Normally this file is used by a HP plotter. After some digging I find this file is not encrypted / scrambled and is basically just a list of move coordinates... Bingo.
This software opens, and converts HPGL / PLT to a gcode file, Then can be used as a simple simulator and DNC to drip feed the GRBL controller.
After getting all that working a problem arose. The way Inkscape output HPGL files, there were about 40% redundant lines and a very noticeable "staircase" toolpath around corners. GRBL has a "Junction Deviation" setting but I found even after loosening this up, there was still a lot of deceleration in corners as it tries to "best fit".
To solve this I developed a filtering algorithm that basically looks ahead and behind in order to decide to filter out and refine points. This reduces the output code size, and also greatly reduces the deceleration GRBL does to "hit" all the points. The filtering parameters are available to work with in the settings menu. They can also be set to exaggerate bumps for ..... fur or .... ripples on a smooth curve...?
The following shows the smoothed toolpath on the left and the raw HPGL / PLT output. Keep in mind this frame shows about 6mm wide. The small "bumps" in the smoothed toolpath can not be seen in finished stickers.
After a lot of work and over 2500 lines of code, we have this. It works great for my purposes, and I would like to share it with the community.
If you have suggestions please contact us and we can try to incorporate anything that would be useful.
This software is a work in progress and should be used as such... Beta! This is 100% working for my purposes, however there are most likely bugs that I have not protected against, so please be cautious... There is absolutely no warranty on this software, and we are not accountable if it causes any damage to property. This is beta. If you find a bug, please feel free to contact us at CalvertCreativeSolutions@Gmail.com and we will do what we can to patch it up.