Please Login to Comment

OpenSCAD is an open source programming language and IDE (Integrated Development Environment) for parametric 3D design. It is used to create precise, customizable and easily modifiable designs ready for 3D printing. It has a growing developer community and is the tool used to create designs compatible with the MakerBot Customizer app: http://www.thingiverse.com/apps/customizer

You can download OpenSCAD from www.openscad.org/downloads.html

This group is a place to discuss all things OpenSCAD including (but not limited to) new features, techniques, questions, libraries, works in progress, etc. So post a new Topic or contribute on an existing one!

Share knowledge, get constructive feedback, and ask questions!

Join to add your OpenSCAD designs or libraries to this group's Things. Non-OpenSCAD designs will be removed.

Have fun!

Downloaded and installed but cant get Openscad to run on my HP laptop using windows 10. Can you help please?

One thing that has kept me away from 3D modeling is all of the dragging and dropping required in apps like SketchUp. Thank God for OpenSCAD; now I can model physical objects just like meta physical objects.

Hey guys, being a programmer and a perfectionist, I thought I would share some of what I do with OpenSCAD. Rather, I programmatically create OpenSCAD models using SolidPython, and can even directly generate the .stl files to be sent to my printer.

FYI: OpenSCAD is a really inflexible programming language. SolidPython lets you program your models with all the pleasantries of python, and it creates the simpler OpenSCAD files for you (such as unrolling loops, hardcoding values). It will even make the .stl for you!

First thing is my printer calibration cubes:


Using this you can come up with calibration data for your printer. I actually made this before discovering OpenSCAD/SolidPython, but the caldata.py is referenced in all my other scripts. For instance, once I printed these cubes and measured, I determined my printer is about 7% + 0.5mm in both X and Y. Somehow it's perfect in Z. Once I put this data into caldata.py, all my other solidpython scripts use it to adjust my models.

The following is one of my favorite (and cleanest) scripts I came up with using OpenSCAD/SolidPython:


I have used this script so many times, and it works brilliantly. Should demonstrate a lot of different ways you can use SolidPython. Note that while you are playing with SolidPython, you can run your script to generate the .scad file. If you open this with OpenSCAD, and then run the script again with different parameters, OpenSCAD should update immediately. So just leave OpenSCAD open, and keep tweaking your script and you'll get instant feedback every time you run it.

Also have a simple script here for creating simple card holders:

I hope others find this information useful, and maybe we can use this area to trade scripts and techniques.

Printer Calibration Cubes
Generic Tray Creator Script (with rounded bin floors)
Dominion (Card Game) Resource Holder

Wow -- very interested in this python method, though it means learning python for me. ;-)

I'm having trouble getting up and running. I'm not familiar with setting up specific python dependencies, but I have installed solidPython (which required installing setupTools). Otherwise, I'm running a stock Python 2.7.3 on Debian Wheezy.

When I run:

python generic_tray.py [40,25,70] [30,100,60,60]

I get:
Traceback (most recent call last):
File "generic_tray.py", line 43, in
from solid import *
ImportError: No module named solid

I think this is the same error I got before I installed solidPython, but I can't be sure -- it's scrolled out of my terminal because I'd forgotten to set the buffer to unlimited. I had assumed the "no module named solid" meant I had a missing dependency and solidPython seemed like a logical candidate for that. Apparently not though.

Anyway, as I mentioned, I'm not familiar with python and that's both in programming and in basic usage. Could you give some pointers on how I can get my system set up to work properly, so I can go on to the next step of figuring out how to do it?

I'm not sure why you'd get that error if you installed SolidPython. Did you follow the instructions here?


Once you have done the sudo python setup.py --install step, it should load easily. You can test it by simply opening python and typing "import solid" (ctrl-D to exit). If the module doesn't exist, it simply means it wasn't installed properly.

One thing to try is to clone the github repo, and simply put the "solid" directory next to the script. "import solid" will first look for a subdirectory where you are named "solid", and if it doesn't find it, it will go look some place like /usr/local/lib/python2.7/dist-packages/ or /usr/local/lib/python2.7/site-packages/solid. If you have a "solid" directory where you run the script, it won't matter if it installed properly.

By the way, python a wonderful, and simple programming language. Don't be afraid of it :) If you have any prior programming experience at all, it will be fairly straightforward to learn what you need for this.

I've been hearing for years about how sweet python is. Obviously, it's time for me to go there too.

Anyway, I did do that install procedure but instead of "--install" I used "install" as it appears that "--install" is not a valid option.

in /usr/local/lib/python2.7/dist-package, I do have:

But the "solid" directory wasn't made inside site-packages. I tried creating a site-packages/solid directory and copying in the files from /solid on github. Didn't work.

I took your suggestion about just putting solid in a subdir, and that worked great. It would be better to not have to either move files around, or duplicate solid's subdir, but I'd rather start figuring out how it works than spending a day sorting out dependency issues. Done that about enough for one lifetime. ;-)

Anyway, thanks for the suggestion -- it's getting me started.

comment no longer needed, was finally able to get the error message into the body of my post above.

Excited to see this group! Great program :)

will it put spy ware on my pc and is it better than scupltGL

It won't put spyware on your computer. That's one of the many benefits of being an open source project.

I wouldn't say "better". OpenSCAD is a completely different kind of tool than SculptGL.

SculptGL is a visual sculpting tool where the main interactions are direct mouse visual sculpting. It's really good for artistic, organic forms like characters, creatures, or hard surface objects like a spaceship. With SculptGL it is hard, or impossible, to make mechanical parts that have very specific tolerances and precise surfaces.

OpenSCAD is a code (programming) driven precision modelling tool. In contrast to SculptGL, you never use the mouse to modify your design, instead you write a computer script to make changes. OpenSCAD is best for designing mechanically precise parts or designs that need to be parametric (customizable). It is hard, or impossible, to design organic, sculptural designs like the kinds that are easy to make with SculptGL.

So they are just really good for different kinds of things. One cool thing about OpenSCAD is that scripts that you write with it can be used by Thingiverse's Customizer app, allowing other people to make their own versions of your design!

Hope that answers your question! OpenSCAD is a really awesome tool and I encourage you to check it out. If you get stuck or have questions, post them to this group and I (and others here) will do our best to help you out :)

ok thx but im not good with programming xD im better with what im useing

You may want to consider FreeCAD - it looks much more like a traditional 3D CAD program, and can be scripted in Python as well (but don't ask me how).

Is this a free program? Or does it cost money?

It's open source so it is free as in beer and as in speech. You can download it from http://www.openscad.org/downloads.html