Somehow, one of the brackets that supports the small shelf inside the freezer of our Whirlpool refrigerator went missing over the many intervening years and repairs; we never used that shelf and stashed it in a closet almost immediately after getting the refrigerator, so not having the bracket didn’t matter. We recently set up a chest freezer in the basement for all the garden veggies that used to fill all the space available and decided to (re-)install the shelf, which meant we needed a bracket.
It’s impossible to figure out exactly which “shelf stud” in that list would solve the problem, but one of the upper-left pair in that set seems to be about right. On the other paw, I don’t need all the other brackets and doodads and screws, sooo… I can probably make one.
Start with a few measurements, then doodle up the general idea:

A bit of OpenSCAD solid modeling:

The yellow bars support the ceiling of that big dovetail, which would otherwise sag badly. The OEM bracket has nicely rounded corners on the base and a bit of an overall radius at the end of the post; this was pretty close and easier to do.
Now it’s time to Fire the Thing-O-Matic…
I switched from blue to white filament during the print, because I figured I’d print another one after I got the sizes right, so it emerged with an attractive blue base:

A better view of the support structure:

Two of the bars snapped off cleanly, but the third required a bit of scraping:

Somewhat to my surprise, Prototype 001 slipped snugly over the matching dovetail on the freezer wall, with about the same firm fit as the OEM brackets:

And it works perfectly, apart from that attractive blue base that I suppose we’ll get used to after a while:

I have no idea whether ABS is freezer-rated. It seems strong enough and hasn’t broken yet, so we’ll declare victory and keep the source code on tap.
The whole project represents about an hour of hammering out OpenSCAD code for the solid model and another hour of printing, which means I’d be better off to just buy the parts kit and throw away the unused bits. Right?
I loves me my Thing-O-Matic…
The OpenSCAD source code:
// Shelf support bracket // for Whirlpool freezer // Ed Nisley KE4ZNU Octoboer 2012 //include </mnt/bulkdata/Project Files/Thing-O-Matic/MCAD/units.scad> //include </mnt/bulkdata/Project Files/Thing-O-Matic/Useful Sizes.scad> // Layout options Layout = "Build"; // Overall layout: Show Build // Printing plates: Build // Parts: Post Base Keystone Support ShowGap = 10; // spacing between parts in Show layout //- Extrusion parameters must match reality! // Print with +1 shells and 3 solid layers ThreadThick = 0.25; ThreadWidth = 2.0 * ThreadThick; HoleWindage = 0.2; function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); Protrusion = 0.1; // make holes end cleanly //---------------------- // Dimensions PostLength = 17.5; PostWidth = 8.2; PostHeight = 14.4; PostOffset = 4.4; PostTopWidth = 4.0; PostTopHeight = 4.2; BaseLength = 22.6; BaseWidth = 20.8; BaseThick = 5.0; KeystoneOffset = 3.4; KeyThick = IntegerMultiple(3.0,ThreadThick); KeyBase = 2.5; SlotOpening = 11.63; //---------------------- // Useful routines module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2); FixDia = Dia / cos(180/Sides); cylinder(r=(FixDia + HoleWindage)/2, h=Height, $fn=Sides); } module ShowPegGrid(Space = 10.0,Size = 1.0) { Range = floor(50 / Space); for (x=[-Range:Range]) for (y=[-Range:Range]) translate([x*Space,y*Space,Size/2]) %cube(Size,center=true); } //------------------- // Component parts //--- Post module Post(h=PostLength) { PostTopAngle = atan((PostWidth - PostTopWidth)/(2*PostTopHeight)); PostBottomRadius = PostWidth/2; PostPolyTop = [PostTopWidth/2,0]; PostPolyBottom = [PostWidth/2,-PostTopHeight]; hull() { linear_extrude(height=h) { polygon(points=[ [-PostPolyTop[0],PostPolyTop[1]], PostPolyTop, PostPolyBottom, [-PostPolyBottom[0],PostPolyBottom[1]] ]); translate([0,-PostHeight + PostBottomRadius]) circle(r=PostBottomRadius,$fn=4*8); } } } //--- Base block module Base() { linear_extrude(height=BaseThick) square([BaseWidth,BaseLength],center=true); } //-- Keystone slot module Keystone() { Tx = SlotOpening/2 + KeyBase; rotate([90,0,0]) linear_extrude(height=BaseLength) polygon(points=[ [-Tx,KeyThick], [ Tx,KeyThick], [ SlotOpening/2,0], [ SlotOpening/2,-Protrusion], [-SlotOpening/2,-Protrusion], [-SlotOpening/2,0] ]); } //--- Support structure module Support() { SupportLength = BaseLength - 2*ThreadWidth; SupportWidth = 2*ThreadWidth; SupportHeight = KeyThick - Protrusion; SupportPeriod = 7.0*ThreadWidth; SupportBeams = 3; // must be odd -- choose to fit SIndex = floor((SupportBeams - 1)/2); for (i=[-SIndex:SIndex]) translate([(i*SupportPeriod - SupportWidth/2),-(SupportLength + ThreadWidth),0]) color("Yellow") cube([SupportWidth,SupportLength,SupportHeight]); } //--- The whole thing! module Bracket(ShowSupp) { union() { difference() { Base(); translate([0,(BaseLength/2 - KeystoneOffset),0]) Keystone(); } translate([0,(BaseLength/2 - PostOffset),BaseThick - Protrusion]) Post(h=(PostLength + Protrusion)); } if (ShowSupp) translate([0,(BaseLength/2 - KeystoneOffset),0]) Support(); } //---------------------- // Build it! ShowPegGrid(); if (Layout == "Show") Bracket(false); if (Layout == "Build") Bracket(true); if (Layout == "Post") Post(); if (Layout == "Base") Base(); if (Layout == "Keystone") Keystone(); if (Layout == "Support") { Support(); % Keystone(); }
how much to print me one of those and send it to me in Washington state? my story is the exact same as yours (except the part about the Thing-O-Matic…).
How about $10 for either red PLA from the M2 or white ABS from the Thing-O-Matic, sent to you in a box covered with stamps?
Shapeways says it’ll cost $6.43 in their “Strong & Flexible Plastic”, plus shipping. That gets you laser sintered nylon, not extruded ABS or PLA, which might look better.
It would probably make more sense for you to tweak the OpenSCAD code to match the dovetail mount in your freezer and send it to them. I think the laser sintering process doesn’t need the support bars holding up the dovetail ceiling, so set Layout = “Show” before you compile the model and export the STL file.
Heck, they can even do it in stainless steel!