Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

STL to OpenSCAD converter

by Riham, published

STL to OpenSCAD converter by Riham Mar 16, 2013

Thing Info

23592Views 2309Downloads
Report Thing


This is a small web page that will convert your STL files to OpenSCAD files, it supports both ASCII STL and Binary STL files.
The best thing about this is that instead of just embedding your stl files in the OpenSCAD you can actually make them part of it, which means they can be used with Customizer.

**THIS IS A BETA VERSION - I wrote it after a long day at work when I needed such a tool and didn't find one:)
Please report all bugs to me, or just feel free to fix the bugs yourself, the JSFiddle is available publicly, you can fork it and make any changes

**This was tested only on Chrome - several people have left comments saying it doesn't work on other browsers, unfortunately I haven't had a chance to make it work on other browsers, but you can use the standalone version provided by fma at http://www.thingiverse.com/thing:64709


I really wanted to be able to create designs on 3D software and still be able to customize it, most of the software I found generates STL files and I can't find a way to convert it to openSCAD - so I created this small web page. I attached a sample project I created on https://tinkercad.com and the generated OpenScad file for it.

If you find this useful, please make your thing a derivative of this one :)
Update: 3/19 I tested this only on Chrome Version 25.0.1364.172
Update: 3/19 I made a number of bug fixes, if you hit errors before please try again.
Update: 3/23 fma has also created a python standalone version of the converter - check it out here http://www.thingiverse.com/thing:64709
Update: 3/28 I made some minor bug fixes, please let me know if you are unblocked.

1- Go to http://jsfiddle.net/Riham/yzvGD/embedded/result/
2- Browse for your STL file
3- Wait for processing to finish
4- Click on the Download link.
5- If you want to look at the code, the JSFiddle is available at http://jsfiddle.net/Riham/yzvGD/

Thing Info

23592Views 2309Downloads
Report Thing

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

Amazing, thanks a lot ...

Thanks, Glad you liked it :)

this is awesomee, thankyou so much! but...I'm having the same problem as wurtle38
It seems that the file created is huge, I copied the script into word and it crashed after it counted page 5000+ Yet the model i'm trying to convert isn't very complicated. Few spheres though. Is there a way to reduce the amount of faces in the scad script?

Hey Alanna, sorry you are having trouble with the tool. Do you have the same problem with the standalone version by fma (http://www.thingiverse.com/thing:64709)?

What the tool does is basically convert each polygon from the stl format to the open scad format, the number of polygons and dimensions should remain the same, it is not smart enough to optimize unfortunately, but I am wondering if it is just a few spheres if it would be easier for you to just use OpenScad Sphere function directly (details here http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids) ?

How big is the stl file?

STL to OpenSCAD python converter
by fma

Have been looking for this for a long time, Thanks!!

I don't know if I'm doing something wrong. it did download a file as "FromSTL" but causes openscad to crash when I try to open it, so I tried open with notepad and that crashed as well, I used Chrome on windows 7

hmm.. that error does not happen with other openscad files.... what could be wrong?

Does it fail to open the converted file? What happens if you just open openscad and then copy and paste the file content?

it was an error from m$ visual c++ runtime lib :-(

worked fine in chrome... thou openscad now throws a funny runtime error.... will try and reinstall openscad

Tried this on IE10 and like others nothing happens.... hmm... chrome could be a temp fix, but it should relly run with any browser...
only reason i dont have chrome is that i have given up on the browser war.. everybody says to use this and this... i would end up with 10 browsers :-D

Sorry about that, I haven't tested it on IE, but there is also a standalone version (see remixes) that might be easier to use.

I haven't tried this yet, but if it works (more reliably than STL import into Sketchup, which frequently fails) then you have just made sharing models easier! Thanks!! :-)

Thank you so much! Now I can finally add rafts to tricky models.

I was thinking about how cool something like this would be for Customizer today. Looks like you've already made it! Nice work, I'm looking forward to using it in the future.

Glad you liked it:)

can't download once i upload a file. the link looks like blob:http://fiddle.jshell.net/linky_stuff_herehttp://fiddle.jshell.net/linky... Clicking on it does nothing in my browser. Trying to remove the "blob:" before the http gives me a 404.

Which browser are you using? I tested this only using Chrome

Here is a standalone version written in python:


STL to OpenSCAD python converter
by fma
Riham - in reply to fma

Awesome! Thanks!
Do you mind if I add a link to it?

fma - in reply to Riham

Please, do :o)

The link does not seem to work any longer

Could you please try again now?

Thanks for the STL reader, I already adapted it.

The problem is in ASCII STL reader, following line #89

for (o = 0; 0 < obects.length; 0++) { // 0 instead of o

should be

for (o = 0; o &lt; objects.length; o++) {

Wow, I must have been really low on caffeine, I fixed the bug, thanks

ah, there is more on the ascii reader to debug, the match of 'solid' creates too many matches, match for 'endsolid', and iterate from o = 1 onward.

best also adjust your vpatt, replace '(-?\d+.?\d*)' by simply (\S+), as numbers can be also 1.0383E+01, which you don't fetch.

Not sure I want to go with \S+ as it will accept invalid chars as well, I think I will allow the E only - thanks for the tip

Permit 'e' and 'E', as I saw some format 1.0234e-01 as well.

Looks great, but I can't make it work neither :o( Nothing happen when I select a file...

Riham - in reply to fma

Sorry about that, I tested it with a few random files - If you send me the file I will debug it for you, my email is riham at http://outlook.comoutlook.com

fma - in reply to Riham

I don't think it is a problem with stl file; I suspect the browser. I'm using firefox 10.0. I will try to make a standalone version, in python.

Riham - in reply to fma

That might be it, I used Chrome for testing

Download after convert wasn't working for me. There is a link but nothing downloads.

That probably means the conversion failed, would you like to send me the file to debug or point me to it?

this is awesome, now i can make my gs3 case truly customizeable.

Thanks, let me know how it went when you try it :)