How to make Business Cards with Robots

Updated: Jan 21

So I'm going to walk you through how to make cards that look like this

I'm using an Axidraw to draw them with pens, but you could use this with a CNC machine or a laser cutter (really anything that uses an SVG). This is cool because for business cards you could make them with different kinds of inks or pens (imagine using cool metallic or UV inks, or 0.1mm pens for intricate designs), interesting types of papers, or if you were using a laser cutter you could make a cool embossing pattern, etc.

For this tutorial, you're going to need

  • Inkscape with the Hersey text extension installed [1]

  • Vpype

  • A nifty SVG pattern you want on a business card

And I am going to be printed cards that are roughly 3.5"x 2" on paper that is 11"x14".

Text side

To make the front side of the card we are going to make the text template in Inkscape and add a bounding box, convert that into a vector template, use Vpype to copy it into a big grid, and then remove those bounding boxes.

So the first step is to pick the cool font you want to use. So open up Inkscape, go into the Hersey Text extension, and generate a font table

And pick the one that looks right for you, and then just delete that table by selecting it and hitting delete. One thing worth noting is the EMS fonts use simpler paths than the Hersey fonts and will be quicker for plotting.

Next up we are going to make the actual card itself. First, let make the page the right size. To do this you can go File>Document Properties, change the units to be inches, and make the page 3.5"x2"

Now we can go in and use the basic text objects (the big A on the sidebar) to make the text we want to use. You can rescale to make it bigger (I've found using different boxes for different size text works better than different font sizes just because Inkscape 1.0 is still in beta and a bit buggy), and use the alignment tool (Objects>Align and Distribution) to get things centered or left-adjusted or whatever. Now you should have something like this

The very last thing we want to do is add a vector boundary around the edge. The reason we want to do this is a bit janky, but when we use vpype to tiling these, it will clip the whitespace around the edges, and so if we don't do this it will botch our margins (I figured this out the hard way). So use the Bezier path tool on left side menu and draw a box around the edges.

At this point, I'd recommend saving. This is for a couple of reasons namely that Inkscape 1.0 beta is still pretty buggy and likes to crash more frequently after this point, and if you want to make small adjustments later it is easier to do it on this file and render then to make a new card.

Alright, we are almost done with Inkscape. We have the text and the layout, but now we need to convert this to paths so that our Axidraw knows what to trace. To do this, select all of the text boxes, go into the Hersey Text extension again. Next, go into the Render tab, select the font face you want, uncheck preserve original text (you can leave it if you want but I find it's hard to see what the text vectors look like), check live preview (if you want to see what your font or other fonts look like), and when you're ready click apply.

And you should end up with something that looks like

And save this out somewhere.

At this point, we have a basic business card we could draw, and we are going to make a sheet of them. Here is where Vpype comes in. Because I am using an 11"x14" piece of paper, and I'm trying to print 3.5"x2" cards, I can print a grid of 3x7 of them (because of 3*3.5=10.5<11 and 2*7=14). If you're using different sized paper or cards, you're going to need to figure out your grid size.

First, we want to sanity check that everything is working. So into your shell type in

Which should make an image pop up that is your card text aligned as a grid. If you wanted to have a bit of a margin between cards, you could do that by adding it to the offset.

If that looks good, we can make the sheet by doing this

I'm using that last scale command to give my card sheet a bit of a margin so the pens scrape the edge of the paper if it is a little misaligned. If you're not printing to the whole page, I'd strongly recommend use the --center flag so that the drawing area on the front page and back page is going to be the same area. In a similar vein, I'd recommend using a pattern that can be rotated 180 degrees so you can't accident flip it when you draw.

And finally, open it up in Inkscape and clear out those boundary lines.

Pattern Side

We are going to make the patterned sheet of the card similarly to how we made the text sheet except for this tutorial I'm assuming you had this handy, so we don't need to use Inkscape to make it. So we can dive straight into using Vpype, but we are going to have to slightly modify it because our pattern may not be the right size for our card. (My pattern spans the entire 3.5"x2", and if yours doesn't you're going to want to do the square bounding box trick from earlier).

I'm going to be using this pattern that I generated with one of my scripts.

First things first, let's see how it looks. The two differences here are I've added a scale command after reading it, to make sure it is the right size for our card. The other difference is I've added a frame command after the scale, and this will draw a bounding box around our pattern to make sure nothing funky is going on at the edges. This makes sense because my patterns take up the whole space, but if yours don't then this isn't useful. You might want to consider keeping that command in there to tell you where to cut out your cards, but I'm going to drop it.

And you should get something like this popping up

If everything looks good to go, you're ready to generate the sheet with

One thing you may have noticed is that I'm using two different colors for my card. To do this, I had a blue.svg and a pink.svg (the displayed picture is them both as one SVG), and then I made sheets for both colors, and then combined it into a two-layer drawing.

How multiple layers work with an Axidraw is that it can look for Inkscape layers in the SVG. You can do this either with Axidraw extension (and using the layer tab) or with the -l flag in the Axidraw CLI (EMS has more documentation on this online if you search around). This lets you draw a later, swap out a pen, and then draw the next layer.

Now that we have the front sheet and the back sheet, we are ready for fabrication!

And voila, now we're ready for business!

Lastly, if you want to get updates on what I'm up to you can subscribe below, and you can find me on Instagram here. I'd love to see what cards y'all make, so feel free to tag me there!

[1] I believe Hersey come with 1.0, and with 0.92 you can get it from Evil Mad Scientists with the Axidraw bundle, but I'm not 100% sure, YMMV


Recent Posts

See All

From Monotone to Greyscale

Back in march I gave a talk at Plotter People discussing graphic techniques as well as some algorithms I designed to do some of my plots. You can find the slides for the talk here

  • tiktok
  • Instagram

The perfect blend between geometric abstract art and op art prints

 © 2020 by Geoffrey Bradway