Using a few open source software tools and very little technical knowledge, it's possible to turn a 2D vector drawing into an extruded object for 3D printing.  I used this technique to make a bracelet.

  1. Make an .svg file of the shape you want to extrude
  2. Convert it to OpenSCAD format using an Inkscape extension
  3. Use OpenSCAD to render and generate an .stl file
  4. Print the object

Step 1: Make an .svg file of the shape you want to extrude

First get a shape that you want to extrude.  It needs to be in a vector graphics format, not bitmap (or raster) format.  Read up if you're not familiar with these terms.

To get a vector graphic you have three options:
  1. Download it.  You could use Google Advanced Image Search and limit your search to .svg files, a common vector graphics format on the web.  You want to make sure you have permission before you use anyone else's drawings, though.
  2. Draw it yourself. Use Inkscape, Illustrator, CorelDRAW, or any of the many other vector graphics applications.  Drawing vector graphics is its own topic worthy of many instructables.
  3. Make a digital trace. If you do have a raster image (bitmap), then you can convert it to a vector graphic with Illustrator's live trace or Inkscape's trace features, which are fun to play with.  Keep in mind that these features are not magic, and you'll have to fiddle around a lot to get the graphic right.
Then save the file as .svg format.

<p><b>As far as I know the best and easiest tool for doing this is <a href="http://www.selva3d.com/" rel="nofollow">www.selva3d.com</a>.</b></p><p><strong>It's done only in a single step, without need to download anything and it's free </strong></p>
<p>I tried the link you provided. It doesn't work.</p>
<p>It does work for 250 users per day. Why are you saying that?</p>
<p>Hey guys, just wanted to let you know that I launched a <a href="http://svg2stl.com" rel="nofollow">free SVG to STL conversion</a> web service. Simple process, upload svg, extrude to given height, download STL, print.</p>
<p>Followed all the steps, converted it to Scad file, but when I try and open it I get this:</p><p>ERROR: Parser error in line 141: syntax error </p><p>ERROR: Compilation failed!</p><p>Help?</p>
<p>Hi</p><p>I am trying to convert a file but it keeps giving this message. </p><p>Traceback (most recent call last):<br> File &quot;paths2openscad.py&quot;, line 916, in &lt;module&gt;<br> e.affect()<br> File &quot;C:\Program Files\Inkscape\share\extensions\inkex.py&quot;, line 268, in affect<br> self.effect()<br> File &quot;paths2openscad.py&quot;, line 873, in effect<br> self.recursivelyTraverseSvg( [self.selected[id]], transform )<br> File &quot;paths2openscad.py&quot;, line 786, in recursivelyTraverseSvg<br> inkex.errormsg( gettext.gettext( 'Warning: unable to draw bitmap images; ' +<br>NameError: global name 'gettext' is not defined</p><p>I have tried to install the plugin several time but still not working. Can someone please HELP?</p>
<p>Dear sir , </p><p>thank you for your illustrations .. Iam Dentist did google searching &amp; finally find you .. </p><p>Iam searching for something a little bit different but will be very successful in all dental profession worldwide (we could cooperate together for that ) </p><p>there is something in our dentistry called smile design which simply means take photos of patient teeth &amp; using any kind of photo editing softwares (ex :- photoshop ) did new design for his teeth then save it as normal JPG photo ( the new design ) ... </p><p>on the other side there is Cad softwares which design the new teeth as STL file prior to using Cam softwares for milling it ... </p><p>What i want is to integrate the 2d design with photo editing software (jpg ) with the 3d design Iam doing on the open Cad software (STL ) to get in the final .. STL file on Cad but teeth designed on patient smile .. which give unbelievable result ... </p><p>there is only one software in the world who did this 5 months ago ... it is very very simple with cost 1000 dollar per year which Iam sure that it does not deserve 100 dollar at all .. Iam waiting your response &amp; cooperation so much </p>
<p>What is script file name?</p>
<p>I think you will find what you need here:</p><p> <a href="https://github.com/l0b0/paths2openscad" rel="nofollow">https://github.com/l0b0/paths2openscad</a></p><p>If you are having problems, please be more specific about what you have tried to do, and how it has failed.</p>
<p>thanks for the nice instructions, really useful to connect vectors with 3d printing! I a newbie and I am on Ubuntu 14.4 LTS and Inkscape 0.48.4. I used the last version of your script (masterversion) , I got all the steps correctly, but doesn't appear any option for saving the file with the extension .scad. I have tried with older version too, but Inkscape crashes. Any suggestions? Thank you in advance!</p>
<p>The paths2openscad script is not mine. Please contact the author via his/her details on GitHub. Sorry I can't help more!</p>
<p>Great instructions, thanks! But what about going in reverse? I want to make a 2D drawing from OpenSCAD. <br>At least, that is the route I am taking to make a user input parameter 2D drawing. Any ideas?</p>
Thanks for your comment, Alex.<br> <br> Can you explain a bit more about what you're trying to do?<br> <br> Without being totally sure about your goals, I would suggest trying out either&nbsp;<a href="https://www.processing.org/" rel="nofollow">processing</a>&nbsp;or <a href="http://d3js.org/" rel="nofollow">d3.js</a> instead of trying to go from OpenSCAD to 2D. &nbsp;Both are well supported and have rich documentation and tutorials. &nbsp;Processing is probably easier to learn if you don't have programming experience, though D3 is better if you want totally flexible web integration. &nbsp;D3 has a steeper learning curve unless you've done web development in the past. &nbsp;I'm just trying to learn D3 right now myself for data visualization. &nbsp;I'm pretty sure it can make an svg from user-provided parameters.<br> <br>
<p>I can't find this folder ~/.config/inkscape/extensions on my mac .</p><p>How do I find it?</p>
<p>Without looking in your system myself it's hard to tell. Can you do a search for inkscape extensions? Try /usr/share/inkscape?</p><p>Open terminal and type:</p><p> find . -name inkscape</p><p>IDK. If you have Inkscape installed, it should be there somewhere.</p>
<p>while trying to install/open OpenSCAD on my MAC i get :</p><p>&ldquo;OpenSCAD&rdquo; can&rsquo;t be opened because it is from an unidentified developer.</p>
<p>try this (mtn lion):</p><p><a href="http://support.apple.com/kb/PH11436" rel="nofollow">http://support.apple.com/kb/PH11436</a></p><p>or this (mavericks):</p><p><a href="http://support.apple.com/kb/PH14369" rel="nofollow">http://support.apple.com/kb/PH14369</a></p>
<p>Safay - I was wondering would this work with a photo. In stereo viewing a regular print can be viewed in 3D by offsetting a copy of the original thus fooling your brain that its 3D. Could the same be done by merging the two offset pics in the CAD converter? </p>
I was curious about how to do this, thank you.

About This Instructable


50 favorites


Bio: scientist, educator, maker, and member of Ace Monster Toys
More by safay: Commute on BART with your bike like a BOSS Raspberry Pi photo booth controller Make a 3D print from a 2D drawing
Add instructable to: