by ChristianCooper, published
Inspired by the work of AndrewBougie, I thought I'd have a go at creating a parametric version of a stylistically similar set of drawers, and learn how to use OpenSCAD at the same time.
These parameters are all in mm:
Unit Depth: How deep the drawers are.
Unit Width: How wide a single width drawer is.
Unit Height: How tall a single height drawer is.
Handle Thickness: The width of the handles.
Handle Depth: How far the handles project from the front of the drawer
Print Space: Free space to leave between print objects
Wall: Thickness of the walls of the drawers and also the space between the drawers.
Bevel: Length of the bevelled edge applied to the corners of the drawers.
These parameters have to be kept in sync, each is an array, and each element in the array describes a row of drawers
Widths: Unit widths for each drawer in the row
Heights: Unit heights for each drawer in the row
Dividers: Number of dividers in each drawer of the row
Handles: Number of handles on each drawer in the row
You can replicate AndrewBougie's first design by using the following settings:
Widths = [[1, 1], [2]]
Heights = [[1, 1], [1]]
Dividers = [[1, 1], [1]]
Handles = [[1, 1], [2]]
As you can see each parameter's array has two sub-arrays, and each of these sub-arrays describes a single row of drawers in the final model.
Reading widths "[[1, 1], [2]]" we can then decode the meaning:
[1, 1]: two drawers on the first row, both being one unit wide
[2]: Only one drawer on the second row, but this one is two units wide.
Reading heights tells us that all drawers are a single unit high
Reading dividers tells us that all drawers have a single divider.
Finally, reading handles tells us the two drawers on the first row have a single handle each, and the wider drawer on the second row has two handles
Now you know what you are doing, you can get all super complex!
Widths = [[1, 1, 1, 1], [2, 2], [4]]
Heights = [[2, 2, 2, 2], [3, 3], [4]]
Dividers = [[1, 0, 0, 1], [2, 2], [3]]
Handles = [[1, 1, 1, 1], [2, 2], [2]]
Here we have 4 then 2 then 1 drawer on each of the rows.
The drawers get taller with each row 2 units, then 3 units then 4 units.
Two of the small drawers have no dividers, the other have a single divider, the double width drawers have 2 dividers, and the largest drawer has three dividers.
And finally, the small drawers all have a single handle, while all the bigger ones have two handles.
Widths = [[3]];
Heights = [[4]];
Dividers = [[1]];
Handles = [[2]];
Allows you to examine parts of your print.
Add front to back separators in the drawers
Rafts: Doesn't Matter
Supports: No
Resolution: 0.2mm