Make a 3D Print From a 2D Drawing

152,064

85

27

Published

Introduction: Make a 3D Print From a 2D Drawing

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.

Overview:
  1. Make an .svg file of the shape you want to extrude
  2. Convert it to OpenSCAD format using an Inkscapeextension
  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.

Step 2: Convert the .svg to OpenSCAD Format

OpenSCAD is the software that will extrude the object for us.  However, we first need to convert the .svg to OpenSCAD format in Inkscape using the magic of this Thing.

Do this:
Install Inkscape.
Download the paths2openscad script at GitHub.
Move the script to your ~/.config/inkscape/extensions folder.
Open Inkscape.
File -> Open to open the .svg file.
Extensions -> Generate from Path -> Paths to OpenSCAD to generate the .scad file.
Save the file with the extension ".scad"

Now you're ready to render.
 

Step 3: Render and Generate an .stl File

Now download and install OpenSCAD.  OpenSCAD is a CAD program that doesn't have an interactive graphical user interface for drawing objects.  Instead it uses its own scripting language.  Fortunately for our purposes here you don't need to learn the language.  But now that you know it exists, you're probably going to want to learn it.  Right?

Getting down to business in OpenSCAD:
File -> Open to open the .scad file made in the last step.  If you get warnings, just ignore them.
Design -> Compile and Render to build the object.  This might take a while, depending on how complex your object is.
Once the rendering is complete, Design -> Export to STL to export the file for printing.

The .stl file should be ready to print!  However, if you first want a better look at your rendered object, you could open it up in SketchUp.
 

Step 4: Print Your Object

Print your object.  Here you can see my bracelet being printed on the MakerBot Replicator 2, which Instructables hooked us up with here at Ace Monster Toys.

If you don't have a 3D printer, have Shapeways print it for you, build a printer, buy one, or better yet, join your local hacker/makerspace or TechShop and use theirs.

Thank you:
davr for showing me how to use a 3D printer
dnewman for developing and sharing the OpenSCAD converter
heilis for playtesting the bracelet
Ace Monster Toys for being an awesome place

Share

Recommendations

  • Clocks Contest

    Clocks Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Oil Contest

    Oil Contest

27 Discussions

March 27, 2018 - I downloaded the most recent version of this converter right from this page, installed the latest Inkscape, copied your files into the share/extensions folder and everything worked flawlessly ... the stl image is damn sharp too!

Thank You!!!!

not working, no explanations, refuses to connect (overload?)...

How much would you charge me to take a pic and turn it into a clean useable .stl file I am new to this and its confusing. I would pay $25? Please let me know asap, tpattonjr@yahoo.com or call me, TERRY@734.492.2592

I live in michigan-

tks, so much :D

http://svg2stl.com

0
user
XTL

2 years ago

Newer versio nof this openSCAD plugin is here:

http://www.thingiverse.com/thing:1065500

Hi, thanks for the information. I have a problem with the render, I send here a image from the console of openscad. I'm hope for a solution. Thank you so much.

Captura.JPG

Followed all the steps, converted it to Scad file, but when I try and open it I get this:

ERROR: Parser error in line 141: syntax error

ERROR: Compilation failed!

Help?

Hi

I am trying to convert a file but it keeps giving this message.

Traceback (most recent call last):
File "paths2openscad.py", line 916, in <module>
e.affect()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 268, in affect
self.effect()
File "paths2openscad.py", line 873, in effect
self.recursivelyTraverseSvg( [self.selected[id]], transform )
File "paths2openscad.py", line 786, in recursivelyTraverseSvg
inkex.errormsg( gettext.gettext( 'Warning: unable to draw bitmap images; ' +
NameError: global name 'gettext' is not defined

I have tried to install the plugin several time but still not working. Can someone please HELP?

Dear sir ,

thank you for your illustrations .. Iam Dentist did google searching & finally find you ..

Iam searching for something a little bit different but will be very successful in all dental profession worldwide (we could cooperate together for that )

there is something in our dentistry called smile design which simply means take photos of patient teeth & 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 ) ...

on the other side there is Cad softwares which design the new teeth as STL file prior to using Cam softwares for milling it ...

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 ...

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 & cooperation so much

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!

1 reply

The paths2openscad script is not mine. Please contact the author via his/her details on GitHub. Sorry I can't help more!

Great instructions, thanks! But what about going in reverse? I want to make a 2D drawing from OpenSCAD.
At least, that is the route I am taking to make a user input parameter 2D drawing. Any ideas?