This concept is for people who are obsessed with organizing stuff, from the small , to the big ones. The custom code defines a module that you can easily assemble and hang it on the wall or , why not, just put it on your desk, table or even working space. You can define your drawer ( the actual box where you deposit things) as small or as big as you want, from a little cube of 30 mm, to a much bigger one of 150 mm, that can fit more stuff. Feel free to make your own dimensioned drawer, so you can deposit there the stuff you are using the most. The actual box that contain the drawer is a sum of multiple factors and you can calculate the size of it as it follows: box size = drawer size + 2 * bevel radius + 2 * connection height
Code description
Parameters
$fn = 50;: Sets the resolution of circular approximations.
Dimensions and other properties are defined with specific ranges for customization:
drawer_width, drawer_height, drawer_depth: Dimensions of the drawer.
drawer_back, bevel_radius: Thickness of the back panel and radius of beveled edges.
connection_height, connection_top_width, connection_bottom_width: Properties of the connection points.
knob_thickness, knob_height: Dimensions of the knob.
hanging_width, hanging_height, hanging_thickness: Dimensions of the hanging objects.
screw_diameter, screw_cone_top: Dimensions for the screw holes.
Boolean flags (include_connection_*, include_hanging_*): Toggle connections and hanging objects on or off.
Modules
drawer_cavity
Creates the main cavity of the drawer.
Uses difference and union to subtract the inner part and add beveled edges.
Adds optional connections on the left, right, top, and bottom.
drawer_box
Creates the outer box of the drawer.
Includes a knob on one side.
Uses difference to create a hollow space inside the box.
hanging_object_top and hanging_object_bot
Create hanging objects for the top and bottom.
Include screw holes and optional connections.
Use minkowski to create rounded edges.
Benefits
High Customization
Allows precise adjustment of drawer dimensions, bevel radius, knob size, and connection features, enabling the creation of tailor-made drawer designs to fit specific needs.
Modularity
Includes optional connections and hanging attachments, making it easy to create modular and flexible drawer systems that can be configured in various ways.
Efficiency
Reusable modules facilitate rapid prototyping and efficient design iterations, saving time and resources in the development process.
Enhanced Aesthetic and Practical Design
Smooth transitions and rounded corners improve the aesthetic appeal and safety of the drawer, while customizable internal structures maximize storage efficiency.
Material Optimization
Controlled thickness and precise dimensions help optimize material usage and reduce waste, promoting more sustainable production practices.
I'm thinking of also designing some standing legs in for the module, so you can put it on your desk, office or working space and have a more pleasant look. Let me know in the comments if you want this!