jazwa / rackstack

A modular 3d-printable mini rack system.
MIT License
519 stars 17 forks source link
3d-printing homelab openscad

rackstack

display

A modular 3d-printable mini rack system

Assembly

Pre-generated STLs for roughly 200mm^3 (mini), 180mm^3 (micro), and 100mm^3 (nano) rack frames can be found in the stl dir. These STLs are generated from the files in rack/print - further information about printing these parts (supports, orientation) can be found in these files.

Assembly Instructions

Please see the assembly guide.

BOM - Required Tools:

BOM - Single Rack:

Item Name Quantity Comment
M3x12 FHCS 12 Extras are useful and inexpensive. If you plan on eventually stacking multiple racks together, don't hesitate to get a lot more.
M3x16 FHCS 16 ☝️
M3 hex nut 28 ☝️
3x10 steel dowel pin 4 3mm diameter, 10mm height
6x2 neodymium disc magnet 8 6mm diameter, 2mm height
super glue >= 2ml Used to glue magnets to plastic

Printing - Single Rack:

Part Quantity
Left Y-Bar 2
Right Y-Bar 2
X-Bar 4
Main Rail 4
Left Side Wall 1
Right Side Wall 1
XY-Plate 2
Feet (optional) 2

Notes:

Configuring + Generating STLs

A python script: rbuild.py is provided to generate different project stls. Before running the script, please configure the path to the OpenSCAD binary in rbuild.py.

Requirements:

Examples:

Generate all project files for the micro profile:

python3 rbuild.py -b all -c micro

This will build all the parts defined in rack/print, and put the STLs in stl/micro. You can also provide a -dz {n} parameter to adjust the height of the generated rack. Configuring other rack variables can be done in config/rackframe.scad.

For generating a specific part, and putting it into a new stl/custom target directory:

python3 rbuild.py -b yBar -c micro -t custom

rbuild.py also support an optional --nightly flag, which will run a nightly build of OpenSCAD. Please make sure the path to the nightly build is also configured in rbuild.py.

⚠️ Important:

Before committing to a full print, please try printing an evaluation print: eval_P.scad to test tolerances. It is very likely you will need to edit the default tolerances in print.scad for a nice fit.

Trays, Boxes, etc

Some parametric rack mount systems can be found in rack-mount. The following rack-mount systems are currently supported:

Rack Mount Catalog

There is a small catalog of various pre-configured rack-mountable parts in the catalog directory. Please feel free to add anything even remotely useful!

Designing rack-mount items

Some useful variables for designing your own rack-mount items can be found in rack-mount/dimensionHelper.scad.