Friday, April 19, 2013

Embossing of Text and Graphics for 3D printing

So I have a new toy, an Ultimaker 3D printer, and I'm climbing the learning curve of how to use the printer and related software.

As some of you may know, I'm a 3-term member of the EVE Online Council of Stellar Management, and as it happens I'm about to go to Iceland for EVE's yearly FanFest. So I thought it would be an interesting project to make some embossed cards for my fellow CSM delegates.

The task at hand is this: take this image, a bitmap...

...and use it to create an embossed 3D model of the card itself. The CSM logo is a parody of the CCP Games logo, and shows the progression of a CSM delegate from blissfully elected (2-o'clock) to veteran interstellar policitian (center).

Our first step is to change the bitmap into a vector representation. A little websearching found an excellent tool,, that will do just this. The result is a SVG vector version of the bitmap.

Next, I have to import it into my 3D CAD program. I am using ViaCAD 2D/3D from PunchCad. It's $99 but there is a free trial.

Unfortunately, ViaCAD can't import SVG! But one of the formats it can import is Adobe Illustrator 8, and a free trial of Adobe Illustrator is available. So converting is easy: Open the SVG in Illustrator, then Save As... an Illustrator .ai file, making sure to save it as an Illustrator 8 file. ProTip: You can also use Illustrator to create some text, turn it into a path, and export it for embossing!

Now for the fun part! I'm not going to go into a huge amount of tutorial detail about how ViaCAD works, I'm still learning it and I'm lazy. But here are the steps.

ViaCAD has 2D and 3D modes. Get into 2D mode, and Import the Illustrator file. I found I had to uncheck all the Import Options in order to just get the raw curves and line segments. I needed to do this because the little stick-out-the-tongue face was too small to vectorize during the first step, so it came out as a circle -- by keeping everything separate, I was able to select and delete it. Also at this point, you want to measure your drawing and use the Scale tool to get it to the size you really want.

Go into 3D mode, go into Isometric view (or rotate the viewpoint) and use the Extrude Solid tool to create an extruded object. With nothing selected, click on the tool, then click-drag a rectangle around the stuff you want to extrude, wait for it to select, click on one of the lines, and then wiggle the mouse until you see that it'll be extruding in Z. Click again, and what do you know...

Now back to 2D mode. The next step is to add the perimeter of the card, and also the small hole where a lanyard clip might attach.

Then we extrude them as well. The one thing to be careful about is to extrude the base plate only 1.5 mm -- the thickness of your card. The initial thickness is set by how far you move the mouse when selecting the axis of extrusion, but there's a modeless dialog you can use to set it.

Next, we use the translate tool to move the logo and hole in Z. We move the logo up 0.05 mm so that the bottom of the logo is 2/3rds embedded in the card, and the lanyard hole down 1 mm so that it fully  intersects.

Finally, we use the Subtract Solid tool to subtract the two solids from the card, and we have our finished 3D model.

Now we can export a STL file and load it into our slicing software. In the Mesh Parameters dialog that appears after you select a file name, I checked STL Facets but I have no idea if that's needed.

I am using Cura to do my slicing for me. So far, the best results come from using a raft (to prevent warping), the thinnest possible wall thickness, and 100% fill density.

Here's the final result.

My next task is to find some sort of infill material I can put into the emboss to give it a different color. There are many possibilities, like this.