Inkscape + VisiCut = Perfect Lasercutting Workflow

A brief summary on how I use my K40 laser cutter with custom GRBL controller. However, this workflow should work for all GRBL lasers.

Public Chat
Similar projects worth following
This project is a description on how to get everything installed and setup. It serves me as a step by step installation manual in case I need to reinstall my windows. However, it might be interesting for other people as well. Please let me know in the comments.


G-Code file for when I hit CTRL+C during laser cutting operation. Ensures to home and turn off the laser AFTER the grbl buffer has been cleared. If you run lots of small vectors, GRBL will home immediately. But if you run long straights, the buffer will need some time to empty. In that case, please just turn the laser off by manually switching the laser_on switch on your cutter and let it finish properly.

gcode - 18.00 bytes - 11/18/2018 at 23:14


20180929 - Visicut Settings.vcsettings

VisiCut config file for my grbl laser configuration. Please check it out and modify as needed. Configured to be used with my Inkscape default template.svg

vcsettings - 7.38 kB - 11/18/2018 at 23:12



InkScape default template for my laser cutting configuration in combination with VisiCut

image/svg+xml - 5.34 kB - 11/18/2018 at 23:12



Batch File for easy start of cutting

bat - 216.00 bytes - 11/18/2018 at 23:11


  • New GRBL Version due to new VisiCut Version

    Timo Birnschein12/04/2021 at 14:53 0 comments

    I was a but of a struggle going from one working solution to a new one. I'm actually not there, yet since I seemingly also have to upgrade my GRBL version to allow the new Visicut to work properly with my laser setup.

    Apparently, it is assumed that G0 moves never use the laser. That makes sense. However, my GRBL version, even though is has laser mode already (1.1d) does not turn the laser off during G0 moves. That's only available in 1.1f and newer. 

    Visicut has a setting to enforce the laser off during G0 moves but that breaks other things in the software which I think should still be resolved but hey, upgrading GRBL is probably still a good idea.

    Here are all my settings:

    $0=10 (Step pulse time)
    $1=255 (Step idle delay)
    $2=0 (Step pulse invert)
    $3=7 (Step direction invert)
    $4=0 (Invert step enable pin)
    $5=1 (Invert limit pins)
    $6=0 (Invert probe pin)
    $10=3 (Status report options)
    $11=0.010 (Junction deviation)
    $12=0.002 (Arc tolerance)
    $13=0 (Report in inches)
    $20=0 (Soft limits enable)
    $21=0 (Hard limits enable)
    $22=1 (Homing cycle enable)
    $23=1 (Homing direction invert)
    $24=200.000 (Homing locate feed rate)
    $25=4000.000 (Homing search seek rate)
    $26=250 (Homing switch debounce delay)
    $27=5.000 (Homing switch pull-off distance)
    $30=1000 (Maximum spindle speed)
    $31=0 (Minimum spindle speed)
    $32=1 (Laser-mode enable)
    $100=157.575 (X-axis travel resolution)
    $101=157.575 (Y-axis travel resolution)
    $102=32768.000 (Z-axis travel resolution)
    $110=8000.000 (X-axis maximum rate)
    $111=8000.000 (Y-axis maximum rate)
    $112=40.000 (Z-axis maximum rate)
    $120=1000.000 (X-axis acceleration)
    $121=1000.000 (Y-axis acceleration)
    $122=1000.000 (Z-axis acceleration)
    $130=300.000 (X-axis maximum travel)
    $131=200.000 (Y-axis maximum travel)
    $132=25.000 (Z-axis maximum travel)

     Luckily, my new favorite tool LaserGRBL allows me to export this without a big deal.

    I'm more concerned about the GRBL config file and all it's details. But it's still mornging.

  • New VisiCut Version - Backing up my Profile

    Timo Birnschein12/01/2021 at 14:09 0 comments

    Pre-Job: $H,G21,G90,M3 S0

    Post-Job: G0 X0 Y200 S0,M5 S0,$H

    Raster Enmgraving DPI: 150,300,600,1200

    Raster Engraving Overscan: 5 mm

    Unfortunately, the new version of VisiCut will simply nuke your old settings. Maybe I'm doing this wrong but when I tried to start the new version, yesterday, I got a warning that all of my custom settings will be overridden when I proceed. Clicking cancel still killed my settings. I think there must be a better way to handling an update to make it more user friendly... Let's see if I can reproduce my results with the new code base.

    UPDATE after initial testing:

    It works! To my gig surprise, the Generic G-Code Sender laser cutter profile works and they even added a feature that I added myself a few years back to overscan the raster engraving lines such that the acceleration of the laser head towards the ends of the line does not impact the quality of the engraving.

View all 2 project logs

  • 1
    Get Things Installed

    What is needed:

    Install and download everything in the above order.

    Open a console (hit Win, enter "cmd", hit enter). Where ever you are at this moment, I recommend creating a batch file and add this command:

    "G:\Seafile\Software\CNC Software\Laser Cutter\SimpleG\bin\release\SimpleG.exe" -p COM5 -f "e:\Users\timob\Documents\" -F "G:\Seafile\Software\CNC Software\Laser Cutter\SimpleG\bin\release\SimpleG-end.gcode"

     You obviously need to adjust all paths to your filesystem and the comport to the comport your GRBL communicates through, but you get the idea. With this in place, I just open a command console, enter SimpleG.bat and the process starts. I always use the same file for the files VisiCut exports which makes this very easy to use and a 5 second process to get something to cut.

  • 2
    Design The Part

    I use Solidworks for this step, most of the time. For 2D objects, laser cutting is brilliant, fast and has a very high quality.

    If I need 3D parts, I use the sheet metal tools Solidworks provides. You can easily make bent sheet metal parts on a laser but you need to design the living hinges yourself. That requires a bit of trial and error as it the material properties need to be taken into account. Thick plywood 6mm requires larger hinges than 3mm plywood. I never tested to make living hinges with acrylic but I guess that works as well when the material is not bent cold.

    Right click on the surface you want to export as a dxf file, look for Export to DXF / DWG, choose a filename and hit OK in the following menus.

    There is a caveat, though. If you have bent sheet metal and you flatten it before exporting it, it is important to choose "sheet metal" in the following export options.

    In the menu on the left, sheet metal is selected. In the image on the right, if looked at closely, you can see the bend lines on the left and right edge of the living hinges. If faces / loops / edges is selected instead, those bend lines will show up in the exported DXF, ruining the part when laser cut! Look at the following example:

    The lines are solid and will be cut! Creating not nice living hinges and one solid part but instead three separate parts. If correctly selected sheet metal during export, these lines disappear and the cut is possible:


    This can now be processed by Inkscape in the next step.

  • 3
    Import Into Inkscape And Chaining Paths

    The dxf file that is produced by Solidworks contains individual paths. A rectangle in the exported file is represented by four individual lines that the laser happily cuts - just not in the right order which is incredibly inefficient. Unfortunately, VisiCut is not good at understanding that, so we need a way to chain all these paths before we start cutting.

    In additional to chaining all paths, we need to bring the work into a certain order to make sense. 

    1. Picture (raster) engravings should be done first. 
    2. Then, vector engravings. 
    3. After that, holes should be cut. 
    4. Lastly, the perimeter needs to be cut.

    Working in this order ensures that nothing moves out of alignment before the the part is separated from the material.

    My Inkscape template adds another step 0 which ensures the laser is primed. For some reason, my laser needs kind of a heat up phase and will not cut right away otherwise. So I vector engrave the coordinate origin to do that.

    In my template, I left out the raster engraving but it can be added easily later. I just rarely use raster engraving anyways because it's so bloody slow and prone to ruin your part if not set up and calibrated correctly.

    We need to import the previously saved DXF file now. Just import the file by clicking File -> Import. Then select your file, hit OK in the following menu and move the imported structure the the top left. Leave a little bit of space.

    You will notice, this is one big object. We need to hit CTRL+Shift+G a couple of times to ungroup the object:

    Now select all circles and move them all to the layer Inner Cut.

    They need to be moved out of the way for now. I did the same for all rectangles that are part of the living hinges which are NOT part of the outline cut as well. Please note the picture below DOES show the rectangles still on the Outer Cut layer. That's my mistake. Please ignore.

    Next, move the outer cut to the Outer Cut layer.

    Next, we need to chain the paths.

    Select every path that needs to be chained. PLEASE DO NOT CHAIN CIRCLES! They already come chained. Chaining them, breaks them. Try it and see what happens and then hit CTRL+Z for undo immediately.

    Hit Apply and then Close. Everything is done now.

    Activate all layers and export the file as SVG.

    Next up: VisiCut and how to create the laser cut NC file.

View all 5 instructions

Enjoy this project?



Artem Kashkanov wrote 12/12/2018 at 06:45 point

Timo, I tried your instructions and they are really cool! Especially your idea with inkscape layers 

I guess this is the standard way, but I just start working with my new laser-cut cnc..

Can you explain what the difference between your VisiCut and mainline official

I found your one out-of-date(there is no commits for two years) and took

  Are you sure? yes | no

Timo Birnschein wrote 03/20/2021 at 00:09 point

I never saw this comment but the main difference is that I do over-scanning when engraving which avoids that too much laser energy is shot at the piece during the deceleration phase of the head. What I do is I overscan by 5mm on each side of the line to give the head time to decelerate without the laser being on. I don't know if that has been implemented to main by now but when I used it this was a major limitation!

  Are you sure? yes | no

Artem Kashkanov wrote 11/26/2018 at 07:48 point

Wow! Thanks a lot for cool instructions! Will check it soon when my laser-cut machine arrives..

  Are you sure? yes | no

Kirschner Christoph wrote 11/22/2018 at 19:47 point

I can´t open the template...

  Are you sure? yes | no

Timo Birnschein wrote 11/25/2018 at 23:48 point

which one? The Inkscape template?? But, it’s just an SVG file!? What’s the error message?

  Are you sure? yes | no

Kirschner Christoph wrote 12/02/2018 at 15:29 point

i can´t even download it, but I think that`s a browser problem :(

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates