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.
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.
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.
Define the what kind of box we want.
How to close the box: screws, sliders, lock clips
Translate the box defined in the step one to Openscad primitives shapes.
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 (!!)