HON Lateral File: Shelf Rebuild

After sliding the HON Lateral File Cabinet shelf into place and installing the bumpers, it seemed rather loose and floppy. Comparing the situation with the other file cabinet showed it had a missing glide button in the rear and two missing slides at the front.

A replacement button emerged from the end of a Delrin rod:

HON Lateral File - shelf button - parting off
HON Lateral File – shelf button – parting off

The original buttons had an expanding stem, which is easy to do with an injection-molded part. I opted for simple adhesive, with enough of a blob underneath the shelf to (presumably) lock it in place forevermore:

HON Lateral File - shelf button - installed
HON Lateral File – shelf button – installed

The slides required an iterative design technique (pronounced “fumbling around”), because nothing on either side remained square / plumb / true / unbent. I hacked the first version from scrap acrylic, broke off anything that didn’t fit, and got better measurements from what remained:

HON Lateral File - shelf front guide - size test
HON Lateral File – shelf front guide – size test

With those measurements in hand, the second version used a pair of weird flat-head shoulder screws (probably from a hard drive) to anchor 3D printed angle brackets into the frame:

HON Lateral File - shelf slides - version 2
HON Lateral File – shelf slides – version 2

Those worked reasonably well, but PETG doesn’t produce a nice sliding surface, so the final version has flat-head Delrin studs in slightly tweaked brackets:

HON Lateral File - shelf slides - version 3
HON Lateral File – shelf slides – version 3

As with the buttons in the back, the original slides had expanding studs holding them in place, but glue works fine here, too:

HON Lateral File - shelf slides - version 3 - installed
HON Lateral File – shelf slides – version 3 – installed

The button isn’t quite square to the surface and the slide isn’t quite flush with the bent metal in the frame, but it’s Good Enough™ for a shelf that won’t get lots of mileage.

For reference, the brackets should print vertically to wrap the plastic threads around the upright for better strength:

HON Lateral File Shelf Slide - Slic3r
HON Lateral File Shelf Slide – Slic3r

If you did it the obvious way, the upright side would break right off at the first insult from the hulking shelf, although they’re basically a solid chip of plastic, with a little infill inside the bottom slab.

While I was at it, I pulled the springs to make them a bit longer, so they touch the back of the frame when the shelf is half an inch behind the front face of the drawers. A firm push and those Delrin contact points let the shelf pop out an inch or so, with plenty of room for fingers underneath the front edge.

Some drawer slide stops near the back needed attention, too:

HON Lateral File - slide stop bumper - bent
HON Lateral File – slide stop bumper – bent

I cannot imagine how hard somebody slammed the drawers, because bending the stops back to a right angle required a Vise-Grip and some muttering:

HON Lateral File - slide stop bumper
HON Lateral File – slide stop bumper

Oddly, the cushiony hollow side faces away from the drawer, toward the back of the frame, because putting it forward holds the drawer front proud of the front frame face. Maybe HON cost-reduced the steel slides by making them just slightly shorter and using the same bumpers?

The drawers have begun filling up from boxes scattered around the house:

HON Lateral File - fabric stash
HON Lateral File – fabric stash

That’s the “orange” part of Mary’s collection, now with plenty of room to grow!

The OpenSCAD source code as a GitHub Gist:

// HON Lateral File Cabinet
// Shelf slides
// Ed Nisley KE4ZNU 2020-02-25
//- Extrusion parameters must match reality!
// Print with 3 shells and 3 solid layers
ThreadThick = 0.25;
ThreadWidth = 0.40;
HoleWindage = 0.2;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
Protrusion = 0.1; // make holes end cleanly
inch = 25.4;
ID = 0;
OD = 1;
LENGTH = 2;
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);
}
//----------------------
// Dimensions
SlideBlock = [18.0,25.0,12.0]; // across, along, height of left shelf bracket
SlideWalls = [1.0,-SlideBlock.y/2,2.0]; // wall thicknesses, dummy Y
HoleOffset = [8.4,7.0,0]; // hole center from left, front, dummy Z
HoleOD = 4.0;
Screw = [4.0,10,0.8]; // weird flat-head shoulder screw
ScrewRecess = Screw.z + 2*ThreadThick; // depth to keep head below slide surface
echo(str("Head base: ",SlideWalls.z - ScrewRecess));
$fn = 12*4;
//-------------------
// Single slide
module Slide() {
difference() {
cube(SlideBlock,center=false);
translate(SlideWalls)
cube(SlideBlock * 2,center=false);
translate(HoleOffset - [0,0,SlideBlock.z/2])
rotate(180/8)
PolyCyl(HoleOD,2*SlideBlock.z,8);
translate(HoleOffset + [0,0,SlideWalls.z] - [0,0,ScrewRecess])
rotate(180/12)
PolyCyl(Screw[OD],3*Screw[LENGTH],12);
}
}
//-------------------
// Build them
Gap = 5.0/2;
translate([0,-Gap,0])
rotate([90,0,0])
Slide();
translate([0,Gap,0])
rotate([-90,0,0])
mirror([0,1,0])
Slide();