posts tagged with the keyword ‘inkscape’


It’s been a few years since I’ve posted about laser cut files, and by that I mean, the files I prepare to be used for laser cutting, so I thought I’d do an update.

Right now I typically use a few different laser cutters in the Milwaukee area. At Milwaukee Makerspace there’s a 60 watt ULS and 50 watt ULS, but using a Windows PC with CorelDraw for control, and at Brown Dog Gadgets there’s a 90 watt Chinese laser cutter using CorelDraw (and LaserCut 5.3) though it seems to be a much newer version than used at the Makerspace. I also use a 40 watt Epilog Zing at UWM’s DCRL. The Zing uses Rhino instead of CorelDraw, which may sound weird, but it works.

I’ve got a file workflow that can work with all of these machines… which I’ll explain below.

Panel Mount

Here’s what my vector art looks like in Inkscape. You’ll notice that the inside lines are blue, and the outside lines are black. This is so we can set a manual cut order for machines that don’t automatically cut inside lines first. (Some software is smart, and always makes inside cuts first, other software… is not.)


I should note that while doing the design work I may end up with multiple layers. Often I’ll use layers to hold pieces or revisions of a design. For our final file though, we want a single layer.

Let’s pretend my design file is named “Panel Mount.svg”, and it has more than one layer. When I’m happy with my work, and have all the things that will be cut on one layer, I’ll save that file, duplicate it, renaming the dupe to “Panel Mount LC.svg” and then open that file. My original design file (Panel Mount.svg) is now safe and sound, but my new file (Panel Mount LC.svg) is about to get altered.


I usually set all the objects to have no fill. This may not be required for all workflows, but I like to be consistent.


For the stroke I’ll set the outside lines to black… (This may be different depending on your laser cutter software.)


And I’ll set the inside lines to blue. Again, this may depend on the laser cutter software & driver you use. Some allow you to set the order of colors, and some may not. If I need more colors I can use red, green, etc. (Also, if you’re working with a laser cutter operator who is colorblind, ask them what colors they prefer.)

If you want to selectively cut things and only have one color, you can use this trick: Load the file into the laser cutter software (CorelDraw, or whatever) and delete the parts you don’t want to cut, then cut. Then “undo” until all parts are back on the screen, then delete other parts, cut again, and repeat. Not the cleanest method, but it totally works. Don’t move any parts, though you may have to ungroup them, and obviously do not move the thing you are cutting.)

Stroke 0.03mm

Once I’ve applied all the colors, you can select everything and set the stroke. I set it to 0.03mm. This should set it to “hairline” when you import it into CorelDraw. Rhino also seems to do the right thing. If your stroke is too thick it can cause issues. (Always check for the lines to be set to “hairline” after you import your PDF.)


After you change the stroke the lines may appear very faint. If you can barely see them switch the Display Mode to “outline” which makes every stroke appear a black and sort of beefs up the lines.

At this point I run down the checklist…

  1. The file has one layer (If it had more, I duped the file and then adjusted the dupe to have just one layer.)
  2. The file has all objects set to no fill.
  3. The file has all objects set to 0.03mm stroke.
  4. The file has different colors for inside and outside cut lines.

Obviously you can do all the file prep stuff (line colors, stroke, etc.) in your master file, and then dupe that one and delete any extra layers. The order isn’t the most important thing here.

PDF Export

Once we’ve made all the changes, we can save our “LC” version of the file. After that, it’s time to use the File menu’s Save a Copy… command to save it as a PDF file. Note that “Convert texts to paths” is selected. This should create a PDF that does not rely on any fonts being installed. If you used text in your file, this is helpful. It does however mean that you cannot edit any text when you import the PDF into other software, as it will have been converted to lines.


Oh, one more thing! Some older versions of CorelDraw seem to have issues importing PDF files created in Inkscape. On Mac OS X, I just open the PDF that Inkscape created, and export it. It somehow fixes the PDF so CorelDraw likes it. Whatever… it works, so I do it!

Simple Dual Axis Solar Tracker

(BTW, the piece I used an as example was for the Simple Dual Axis Solar Tracker from Brown Dog Gadgets.)



A big part of the work I do is the process, and trying to find tools that fit the way I work, and are also available. “Available” may mean open source, or free (as it beer) or multi-platform, or some other criteria I come up with.

In my Digital Craft class we’ve used RhinoCAM to generate the G-code needed to run the 4×8 CNC router in the DCRL. RhinoCAM has a lot of options, as it should for a full-on commercial package. Meanwhile, I’ve been working on a Shapeoko2, which is a small and affordable hobby-level CNC machine. For a machine like this, I’d like to use a workflow that doesn’t require expensive commercial software, because at some point I may not have access to Rhino and I’ll need tools I can afford.

(I should note that I have used CamBam in the past, but being commercial software that is Windows-only doesn’t entice me to want to use it again.)

I’ve played a little bit with Easel from our friends at Inventables, but I’m also not a fan of hosted solutions that can disappear, or start charging for access, etc. At this point I start to sound extremely picky, but really, I’m just looking for tools I can rely on, that are not expensive, and run on the platforms I use. (Easel is actually really nice, and while it’s easy to use, I think that comes at the price of hiding some of the complexity and advanced features I want to learn. Still, if you just want to cut/carve/engrave, check it out.)

I stumbled up MakerCAM, and there’s a bunch more info about it on the Shapeoko wiki. Basically it’s a Flash application (!) that you can use online, or download and run offline, which provides all the basic needs of a CAM application. And it actually works.


I started as I often do, drawing a 2D vector file in Inkscape. (Oh, I should mention there is an extension for Inkscape called Gcodetools, but we’ll skip that for now.) Once I had my Inkscape file I saved it as an SVG, as you normally would with Inkscape.


I then loaded the SVG into MakerCAM. Note that if you load an SVG from Inkscape you need to set the px/inch to 90 in the preferences. Once in MakerCAM it’s fairly easy to create the toolpaths and generate the G-code. If in doubt, check out the help page and the tutorial page for all the info.


After exporting my G-code file I was able to load it into the Grbl Controller and run it on the Shapeoko. Now, Grbl Controller is no Mach3, but it’s also open source, and multi-platform, so there’s that. (Yes, I know the image above does not match the first two images, that’s because I went crazy with the hatch fill from the Egg-Bot extension for Inkscape. Just pretend you know what I’m talking about.)

Oh, if you want to “run” your G-code before you run your G-code to make sure it’s doing what you think it’s doing, check out OpenSCAM, which is a nice little simulator.

(And yes, I know of Chilipeppr for Grbl, but I’ve not dug into it yet.)


Encoding Discs

While Inkscape is a great and powerful open source vector editing application, sometimes it can’t do it all. Since I primarily use it for creating files for laser cutters, vinyl cutters, the Egg-Bot, etc. I need to have lines. No fills, no objects sitting on top of other objects, no crazy intersections of paths, just lines.

I’ve found that on occasion it’s actually easier to export a raster image, re-import it, and trace it to get the needed vector file. I’ve done this for many files from because they weren’t created with CNC uses in mind, but that’s what I use them for.

Back when I wrote my rotary encoding post I mentioned a perl script that could create encoding disks. It’s simple to use, and outputs an SVG file that I can open in Inkscape. Sadly, it’s not exactly what I need, but it’s pretty close, and easy to fix.

Encoding Disc

Here’s the disk that was created, which uses some neat SVG capabilities to generate it, but makes it quite difficult to edit using Inkscape. You can’t ungroup it, or break it apart, or use union or difference commands on it.

Encoding Disc

I’ve placed a smaller disk on top of it, Right now it’s gray (just so you can see it) but I’m going to fill it with white and give it no stroke. (Normally I would place one object on top of the other and use the difference command to cut a hole in the larger object. In this case, that can’t be done.)

Export at PNG

Once that’s done it looks like I want it to look, but it’s not all lines. It’s really overlapping objects. As long as it looks like I want it to look, I can export it as a bitmapped file. (A PNG file, to be precise.)

Import PNG

Here’s the PNG file. It’s raster, not vector, and again, it looks just like I want it to look. Excellent! Let’s go back to Inkscape and import the PNG file.

Trace Bitmap

Once imported I can use the Trace Bitmap command to easily change this black and white image into a vector file. (Yes, make sure it’s just pure black and white, so it can easily separate the two colors and create the needed path.)


After the bitmap has been traced I’ve got nice vector lines, shown here in outline mode, and it’s ready to be cut with a CNC machine. (Oh, I’ll probably add a center mounting hole, as the encoding disk eventually does need to attach to something.)


I needed a single stroke font for some laser cutting. You’d think that would be an easy thing… Well, keep reading.

When laser etching any font could be used. You can raster etch the type, or “vector etch” the type. Raster etching takes a long time, and vector etching (basically doing a low-power vector “cut”) is fast. If you’re doing 3,000 pieces, the time can make a huge difference!

Regular font

Here’s a normal font in Inkscape. Fonts consist of an outline which is then filled with a color. In this case, the outline of the font is filled with black and you see what you normally see when viewing a font on a computer screen.

Regular font

Here’s the normal font with the fill set to none and the stroke (outline) set to a thin line. You could laser etch this (and some people do) but you’re now outlining the letters instead of just etching them with a single stroke. This is fine, but takes more time. Since going really fast is our goal, this doesn’t work.

At this point, you may be thinking “No problem! Our pals at Evil Mad Scientist Laboratories have us covered with Hershey text, and engraving font!” Indeed, Hershey text is awesome, but not always the right solution. I use Hershey text often, and it’s lovely, but let’s keep exploring…

CamBam font

I found these CamBam fonts, which probably work quite well for a spinning bit that is cutting material, but there’s an issue:

All the fonts are built using a 100% overlap in the font design, which tricks my TrueType font design program into thinking they are really looped TrueType fonts, when they really don’t have an inside and outside loop.

CamBam font

A spinning bit cutting material is quite different than a laser cutting material. If you use this font to laser etch, it will double up, which mean you’re lasering the same thing twice. This takes longer, and cuts your material twice. No good.

You can manually go in and delete the overlaps, but it’s a time-consuming pain, and you’ve got better things to do.

Machine Gothic

I found Machine Tool Gothic, which looks a bit weird when you first select it, but we’ll fix that. Remember that fonts are typically outlines that are filled with a color. That’s what is happening here.

Fixing Machine Gothic

We just need to set the fill to none, and give it a thin stroke. Much better! We’ve nearly got our clean single-stroke engraving font.

Fixing Machine Gothic

Let’s fix the weird lines that connect everything and close the paths. First you’ll want to convert the type to outlines (that’s the “Object to Path” command in Inkscape) and then select the two nodes at each end of the line you want to delete and use the “Delete segment between two non-endpoint nodes” feature to remove the line.

Fixing Machine Gothic

Oh, it’s worth noting that when you convert the type to paths, you lose the ability to edit it as type. More on that later. Here’s the “L” with no extra line connecting everything.

Now, it may look like only certain letters need the extra line deleted, but they all do. Go through each letter to delete the extra lines! If you’re doing a one-off project this may not matter as much, but if we are laser cutting 3,000 pieces, even an extra 5 or 10 seconds per piece will make a huge difference.

Type on a curve

Here’s the real reason I wanted to use an editable typeface rather than the Hershey text extension. With text, you can place it on a path. This means you can curve the text onto a circle or some other shape. We want to make sure we’ve got the text exactly as we want it before removing the extra lines. (Remember that we need to change the editable type into outlines before we remove those extra lines.)

Type on a curve

Don’t forget to remove the circle, or whatever path you used to place your text on.

Type on a curve

Fire up the laser! Here’s our clean and ready to vector-etch single-stroke type.


Mounting Plate

It seems that when I ordered parts from Inventables, I forgot one thing! Seems I didn’t have this Motor Sub Plate that I needed.

Mounting Plate Plans

Luckily Inventables provides technical drawings and CAD files, so I grabbed the PDF file and opened it in Inkscape…

Mounting Plate 2D

I had to delete a lot of the measurements on the drawing, but when I was done I had a file that I could easily laser cut. But alas! I have no laser cutter at home… No worries, a bit more work on the file (changing all the curves into segmented lines, connecting all the disconnected lines) and I was able to save a DXF file…

Mounting Plate STL

And the DXF file was easy to import into OpenSCAD and extruder as a 3D (well, 2.5D) file and get an STL file, which can be printed on a 3D printer, which is what will be happening in a few minutes…

Digital Fabrication… it’s a thing.

« Older Entries |

buy the button:

Buy The Button

top recent artists: