The tab supporting the strut with the center slides for the lower drawers in our Whirlpool refrigerator broke of its own accord. This is a problem of long standing, somewhat exacerbated by the fact that lifting the strut will break the tab without much effort at all, but this time the drawers pulled the strut downward hard enough to not only break the tab, but also tear the small tabs that align the bracket right out of the frame.
While pondering the problem, I glued the broken chunk back into the frame:

We agreed that, after nigh onto two decades, it would be OK to swap the position of the two drawers, so as to let the strut use the undamaged part of the frame seen below. Presumably, we’ll eventually get used to having the apples on the right and the veggies on the left.
But it was obvious Something Serious Had To Be Done about the tab.
The tab should align like this inside the frame:

The rightmost part of the tab rests atop a U-shaped metal bar that also supports and stiffens the entire front of the frame, but cantilevering the weight of both drawers on that extended tab overpowered my last attempt at making a glue joint. Soooo, I decided to build a (wait for it …) 3D printed part that screws firmly to the front of the strut.
The first step involved introducing the strut to Mr Belt Sander to strip the wreckage of the OEM tab from the front end (visible through the opening) and smooth things out, then measuring the remainder. The locating flange inside the frame almost defeated me, but eventually I found a tool that fit inside the strut opening and around the flange:

Which produced a sketch of the key dimensions:

Which became an extruded polygon with a few holes punched in the side:

Building it standing up wraps the plastic threads around the entire tab and stacks the layers along the length of the tab. Doing it lying down in the obvious hump-up orientation would put the layers parallel to the bottom surface, where they can pull apart under load.
The key innovation here involves being willing to assemble the tab to the strut in situ, without insisting it fit through the frame opening and be more-or-less easily removable. That let me bulk up the tab to match the end of the strut, fill the entire frame opening with plastic, and get enough bulk for a pair of 4-40 screws that, being loaded in shear, should withstand the weight of all those fruits & veggies in the drawers.
The screws simply thread into the holes in the tab, without benefit of tapping. The OpenSCAD code now includes a pair of nut traps, but I’m hoping they won’t be needed.
The new tab really does fill the space available:

The OpenSCAD code now moves the notch half a millimeter further away from the strut to center it over the ridge. What’s not obvious is how the frame slants toward the tab over the U-bar: the tab just barely clears and probably should have a tapered nose. You may add that if you like.
The U-shaped bar constrains the tab pretty firmly and supports the end, which should now be plump enough to withstand the forces involved. The screws sit horizontally with the frame installed and can’t pull out, which is why I think they can get along without nut traps.
It’s built in cyan PETG with three perimeter threads and 40% 3D Honeycomb fill, making it essentially a solid block of plastic; it’ll be interesting to see what fails next.
The OpenSCAD source code, which I hammered out in a white-hot fury:
// Refrigerator Shelf Strut Tab // Ed Nisley KE4ZNU December 2015 //- Extrusion parameters must match reality! ThreadThick = 0.25; ThreadWidth = 0.40; HoleWindage = 0.2; Protrusion = 0.1; // make holes end cleanly inch = 25.4; function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); //---------------------- // Dimensions TabSize = [20.0,12.0,35.0]; // length from bracket, height, width along front SlotSize = [3.0,7.0]; SlotX = 7.0; TabProfile = [ [0,0], [12,0], [12,7.0], [TabSize[0],7.0], [TabSize[0],TabSize[1]], [SlotX + SlotSize[0]/2,TabSize[1]], [SlotX + SlotSize[0]/2,5.0], [SlotX - SlotSize[0]/2,5.0], [SlotX - SlotSize[0]/2,TabSize[1]], [0,TabSize[1]] ]; ScrewY = 7.0; ScrewOC = 25.0; ScrewOD = 2.5; NutOD = 6.6; // across flats NutThick = 2.5; //---------------------- // 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); } //---------------------- // Build it difference() { linear_extrude(height=TabSize[2],convexity=4) polygon(points=TabProfile); for (i=[-1,1]) { translate([-Protrusion,ScrewY,i*ScrewOC/2 + TabSize[2]/2]) rotate([0,90,0]) rotate(180/6) PolyCyl(ScrewOD,SlotX,6); translate([SlotX - SlotSize[0]/2 - NutThick - Protrusion,ScrewY,i*ScrewOC/2 + TabSize[2]/2]) rotate([0,90,0]) rotate(180/6) PolyCyl(NutOD,NutThick + SlotSize[0],6); } }
Maybe that’ll last until we finally scrap out the refrigerator…