Introduction: Make a 3D Print From a 2D Drawing
Using a few open source software tools and very little technical knowledge, its possible to turn a 2D vector drawing into an extruded object for 3D printing. I used this technique to make a bracelet.
Make an.svg fileof the shape you want to extrude
Convert it toOpenSCADformat using an
Use OpenSCAD to render and generate an
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 avector graphicsformat, notbitmap(or raster) format. Read up if youre not familiar with these terms.
To get a vector graphic you have three options:
You could useGoogle Advanced Image Searchand 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 elses drawings, though.
UseInkscape, Illustrator, CorelDRAW, or any of themany other vector graphics applications. Drawing vector graphics is its owntopic worthy of many instructables.
If you do have a raster image (bitmap), then you can convert it to a vector graphic withIllustrators live traceorInkscapes tracefeatures, which are fun to play with. Keep in mind that these features are not magic, and youll have to fiddle around a lot to get the graphic right.
Step 2: Convert the .svg to OpenSCAD FormatOpenSCAD 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 ofthis Thing.
Download thepaths2openscad script at GitHub.
Move the script to nfig/inkscape/extensions folder.
Open Inkscape.File – Opento open the .svg file.Extensions – Generate from Path – Paths to OpenSCADto generate the .scad file.Save the file with the extension .scad
Step 3: Render and Generate an .stl FileNow download and installOpenSCAD. OpenSCAD is a CAD program that doesnt have an interactive graphical user interface for drawing objects. Instead it uses its own scripting language. Fortunately for our purposes here you dont need to learn the language. But now that you know it exists, youre probably going to want to learn it. Right?
Getting down to business in OpenSCAD:File – Opento open the .scad file made in the last step. If you get warnings, just ignore them.
Design – Compile and Renderto build the object. This might take a while, depending on how complex your object is.
Once the rendering is complete,Design – Export to STLto 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 inSketchUp.
Step 4: Print Your ObjectPrint your object.Here you can see my bracelet being printed on theMakerBot Replicator 2, which Instructables hooked us up with here atAce Monster Toys.
If you dont have a 3D printer,haveShapewaysprint it for you,build a printerbuy one, or better yet, join your localhacker/makerspaceorTechShopand use theirs.
Thank you:davrfor showing me how to use a 3D printer
dnewmanfor developing and sharing the OpenSCAD converter
Ace Monster Toysfor being an awesome place
Hey guys, just wanted to let you know that I launched afree SVG to STL conversionweb service. Simple process, upload svg, extrude to given height, download STL, print.
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, or call me, .2592
This worked great. Thanks for the article.
The first thing I did was take a photo of the part I wanted to make.
Then I opened it in the Gimp and traced the edge. I filled that space with pure black, deleted the background and saved the result as a PNG.
Then I imported that PNG into InkScape. I used the Inkscapes trace bitmap function to convert the PNG into an SVG. I did have to cleanup the path a bit but InkScape is easy enough.
From there I saved as OpenScad file using the script referenced. I was pleasantly surprised with the way the OpenScad file is created as a module.
I further tweaked the object in OpenScad to make it work for my purposes. Then I printed it out on the 3d printer. It worked great!
Newer versio nof this openSCAD plugin is here:
As far as I know the best and easiest tool for doing this is
Its done only in a single step, without need to download anything and its free
Sure that works, but after a couple freebies you have to pay for it.
I tried the link you provided. It doesnt work.
It does work for 250 users per day. Why are you saying that?
Hi, thanks for the information. I have a problem with the render, I send here a image from the console of openscad. Im hope for a solution. Thank you so much.
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
I am trying to convert a file but it keeps giving this message.
File paths2openscad.py, line 916, in module
File C:\Program Files\Inkscape\share\extensions\inkex.py, line 268, in affect
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?
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
I think you will find what you need here:
If you are having problems, please be more specific about what you have tried to do, and how it has failed.
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 doesnt 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!
The paths2openscad script is not mine. Please contact the author via his/her details on GitHub. Sorry I cant 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?
Can you explain a bit more about what youre trying to do?
Without being totally sure about your goals, I would suggest trying out eitherprocessingord3.jsinstead of trying to go from OpenSCAD to 2D. Both are well supported and have rich documentation and tutorials. Processing is probably easier to learn if you dont have programming experience, though D3 is better if you want totally flexible web integration. D3 has a steeper learning curve unless youve done web development in the past. Im just trying to learn D3 right now myself for data visualization. Im pretty sure it can make an svg from user-provided parameters.
I cant find this folder ~/.config/inkscape/extensions on my mac .
Without looking in your system myself its hard to tell. Can you do a search for inkscape extensions? Try /usr/share/inkscape?
IDK. If you have Inkscape installed, it should be there somewhere.
while trying to install/open OpenSCAD on my MAC i get :
OpenSCAD cant be opened because it is from an unidentified developer.
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?
I was curious about how to do this, thank you.
Let your inbox help you discover our best projects, classes, and contests. Instructables will help you learn how to make anything!