From a3f445dbd0f38538f50eba8297a1a7186f003f5d Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Wed, 22 Mar 2017 20:26:28 -0400 Subject: [PATCH] simple foot for cheap storage rack I got a cheap "muscle rack" and the metal posts themselves are the feet. Not a great combo with laminate wood flooring... Just a quick openscad hack to generate anti-scratching feet for the racks. Reasonably customizable. Released public domain/CC0. --- etc/shelving-foot.scad | 61 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 etc/shelving-foot.scad diff --git a/etc/shelving-foot.scad b/etc/shelving-foot.scad new file mode 100644 index 0000000..8ace09a --- /dev/null +++ b/etc/shelving-foot.scad @@ -0,0 +1,61 @@ +// super simple feet for metal shelving +// Created 2017 Clinton Ebadi + +// Released under the https://wiki.creativecommons.org/wiki/CC0 +// To the extent possible under law, Clinton Ebadi has waived all +// copyright and related or neighboring rights to super simple feet +// for metal shelving. + +// Length of slot for shelving leg +slot_length = 32; +// Thickness of slot for shelving leg +slot_thickness = 1.8; + +// Thickness of wall around slot +wall_thickness = 3; + +// Depth of the base foot +base_depth = 4; +// Depth of the slot and walls around the length +slot_depth = 20; +// Offset for leg slot into the base +slot_offset = -1; + +$fs = 0.1; + +foot (); + +module base () { + side = slot_length + slot_thickness/2; + offset (r = wall_thickness) polygon ([ [0, 0], [ side , 0], [0, side] ]); +} + +module walls () { + intersection () { + offset (r = wall_thickness) { + square ([slot_thickness, slot_length + slot_thickness/2]); + square ([slot_length + slot_thickness/2, slot_thickness]); + } + base (); + } +} + +module slot () { + square ([slot_thickness, slot_length]); + square ([slot_length, slot_thickness]); + + // tiny chamfer around bend + x = 2; + polygon ([ [0, 0], [ slot_thickness*2+x/2, 0], [0, slot_thickness*2+x/2] ]); +} + + +module foot () { + difference () { + union () { + linear_extrude (base_depth) base (); + translate ([0, 0, base_depth+slot_offset]) linear_extrude (slot_depth+slot_offset) walls (); + } + translate ([0, 0, base_depth+slot_offset]) linear_extrude (slot_depth+slot_offset+0.1) slot (); + } +} -- 2.20.1