The Ultimate Parametric Box

by Heartman, published

The Ultimate Parametric Box by Heartman Feb 19, 2016

Challenge Winner

Design Tools

OpenSCAD Thingiverse Customizer

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


Thing Statistics

86969Views 9337Downloads Found in Electronics


NOTE: Check this release for an up-to-date version, including the Panel maker.

As any electronic hobbyist, I always need some enclosures to protect my circuits, and of course make them more user friendly.
More over, with the news mini/micro/nano boards, like Arduino, Raspberry/Banana/Orange pies and so on, enclosures are more needed than never before.

Since a moment I'm thinking about taking a look at OpenScad, just to see what can we do with, and learn how it works.
I love the Thingiverse Customizer, very usefull for those who don't know how to modelise in 3D, or basically, want to have something fast and easy.

So, I started this project....

It was a good starting way to learn, for me.

Note: I'm French, I did my best to make this presentation without spelling errors, please, correct me if something burned your eyes.

How I Designed This

Let's start from the beginning.

Before to find a good design, what can we do with OpenScad.

Usually, in almost all programming language, we need to begin by something.
The famous "Hello World"

In OpenScad, that will be something like:

Means, draw a cube in the ([X, Y, Z]) dimensions (values are in mm that will be the default unit for printing)


For all images, right click on the pic, and choose "view image" to watch it in full size.

Press F5 and...

Compilation and rendering


Let's go further.

I want now to draw another box and place it inside the first one.
I'm using the translate command to move this second box in ([X,Y,Z]) axis values.
In the example, 1 mm all around, to be centered inside the first one.
- note: the % is just used to make the first box transparent for the demonstration or debugging. -



Now, I would like to substract the second box from the first one.
I will use the boolean operation, difference, which will substract the second translated object, between the bracket, from the first one.



Here is the interesting part.
After trying what I want, and how I want it.
I replace the values by the named variables, to manage and simplify any size modifications.



I had a part in my code for experimenting some read stuff on the documentation,
like the color or Minkowski functions, like debugging characters... this page was always open.


This is the starting way I followed to design the Ultimate Parametric Box.


The Thingiverse Customizer application is able to link easily the variables needed, and make them editable by anyone, online.
To use the customizer for this project, I checked the well done documentation.

The Thingiverstity, more precisely this video helped me a lot on how to begin with OpenScad.
And of course the Openscad online documentation was always under my eyes.

Project: The Ultimate Parametric Box


  • Design a housing mainly intended for the use of DIY electronic assemblies, control panels, or enclosures for any mini/micro/nano boards like Arduino, Rasberry pi and so on.

  • The box design need to think about:
            a - aesthetic
            b - ergonomics
            c - structural reliability
            d - 3D printing constraints (Effect of layer thickness and printing orientation on mechanical properties)

  • Learn the base of programming language, such as C language-like syntax, Variables, loops, conditions, and finally have the algorithmic foundations in a visual way.

  • Develop a fully configurable box enclosure, easy access for the end user with the Makerbot customizer online interface.



  • Any level.
  • Can be a collaborative project


  • Computer with OpenScad installed,

  • Internet access is also recommended to help the students to find inspiration about the design, and/or the mechanical constraints, also the Openscad documentation.

  • A 3D printer.

Step 1

Define the what kind of box we want.
How to close the box: screws, sliders, lock clips


Step 2

Translate the box defined in the step one to Openscad primitives shapes.

Step 3

Finalizing the Step two code with variables in order to have a parametric box.


After thinking a lot to find a good concept, easy to print, easy to use, easy to build for anyone.


here is the result.



right click on the animated pic, and choose "view image" to watch it in full size



  • This, could be an awesome classroom project (!)
  • The tools used to design and learn are free (!!)

What else...


More from Electronics

view more

All Apps

Upgrade this Thing with Thingiverse Apps


Edit, personalize, or revise this Thing

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App


I guess it's question of OpenScad version, try another.
Another advice, use the other link of the Ubox maker >>> https://www.thingiverse.com/thing:1264391
it's an updated release.


The Ultimate box maker

I get this in OpenScad.

Parser error in line 165: syntax error

ERROR: Compilation failed!

Comments deleted.

Ive been trying to make a 160x90x60 box for two days now, tried leaving all settings as standard - I just keep getting

<RuntimeError: Failed to get https://www.thingiverse.com/download:2179242 403: Forbidden>

Get the same error


I don't know about the customizer, not between my hands,
you have to ask to the Makerbot staff.
The good way for you, is ,
first using the other link to have an up-to-date release
of the Ultimate Box Maker.
and second, using the script within OpenScad program,
You will see it's easy and user-friendly way to have what you need,
more over if you use the version including the panel maker, you will be able
to make your own texts and holes panel.

Have fun and keep us informed.

Thanks, that's exactly what I have done! Great work thank you.

Comments deleted.

awesome work. \m/(>.<)\m/

buon progetto molto ben strutturato


grazie per il vostro gentile commento . molto apprezzato


Muy buen trabajo me fue de muchisima utilidad, los conceptos explicados con mucha sencillez.


gracias a mi amigo por su comentario


I like the idea, but how can I print it? It exports as a single object, but I think I need to print them in seperate pieces right?
Okay, I just need to export one piece at a time.


Yes, I guess you found by yourself, ;)

It's better for you to follow http://www.thingiverse.com/thing:1264391 it's an up-to-date release,
because the present page is made for the challenge.
The other page is the one where I add the modifications.
For exemple, you have actually a test version of the panel maker included.

Have fun,


The Ultimate box maker

How does this differ from your other parametric box, is this a newer version of the other one?

The Ultimate box maker

Hi Andre,

It's the same project,
I published this one for the http://www.thingiverse.com/tag:MakerEdChallenge.
The Challenge actually is closed, so I update just the other,
so it"s better to follow the other puclication.

thanks for your interest.

By the way, I updated, this morning, the other,
I added an option for the PCB feet.

Have fun ;)

Hi Heartman,

Thank you for your quick reply and explanation. I printed the other one last night, it came out great, thanks! I'll take a picture and post a make :).

You're welcome ;)

Comments deleted.

hay i'm trying to print this but it only is in one file not parts what am i doing wrong thanks


scroll down in the description "Thing details" tab, you will find an animation showing you how the customizer works.
You will understand how to export each piece separately.

Have fun.


good job! I too need to do this type of project.


Thanks my friend.

I encourage you to start now!