Pride Lift Chair: Fuzzy Felt Feet

By the Universal Principle of the Conservation of Perversity, the base of the floor lamp just barely doesn’t fit under the edge of the Comfy Chair:

Floor Lamp - copper 70° elbow - installed
Floor Lamp – copper 70° elbow – installed

Well, I can fix that!

Lift Chair Foot - installed
Lift Chair Foot – installed

The feet descend from the fuzzy felt feet on the plant shelves, with the hex head socket transmogrified into a circle to match the chair feet. The support structure grew a flat plate to ensure it doesn’t pull loose from the platform:

Lift Chair Feet - solid model - support view
Lift Chair Feet – solid model – support view

Print ’em out, stick the felt in place:

Lift Chair Feet - assembly
Lift Chair Feet – assembly

Lift the chair (maybe with a small prybar atop some plywood to protect the floor), position the feet, lower gently: done!

While the M2 was warm, I ran off another set for the other Comfy Chair, just for symmetry.

The OpenSCAD source code as a GitHub Gist:

// Feet for Pride lift chair
// Ed Nisley KE4ZNU 2020-05
Layout = "Build"; // [Show, Build]
Support = true;
//- Extrusion parameters must match reality!
// Print with 2 shells and 3 solid layers
/* [Hidden] */
ThreadThick = 0.25;
ThreadWidth = 0.40;
HoleWindage = 0.2;
Protrusion = 0.1; // make holes end cleanly
inch = 25.4;
//----------------------
// Dimensions
/* [Dimensions] */
ChairFootOD = 33.0;
ChairFootRecess = 5.0;
FeltOD = 39.0;
FeltRecess = 2.5;
FootPlate = 6*ThreadThick;
FootWall = 4*ThreadWidth;
FootOD = 2*FootWall + max(ChairFootOD,FeltOD);
echo(str("Foot OD: ",FootOD));
FootTall = ChairFootRecess + FootPlate + FeltRecess;
echo(str(" ... height: "),FootTall);
NumSides = 9*4;
//----------------------
// Useful routines
module FootPad() {
difference() {
cylinder(r=FootOD/2,h=FootTall,$fn=NumSides);
translate([0,0,FeltRecess + FootPlate])
cylinder(d=ChairFootOD,h=2*ChairFootRecess,$fn=NumSides);
translate([0,0,-Protrusion])
cylinder(d=FeltOD,h=(FeltRecess + Protrusion),$fn=NumSides);
}
}
//-------------------
// Build it...
if (Layout == "Show")
FootPad();
if (Layout == "Build") {
translate([0,0,FootTall])
rotate([180,0,0])
FootPad();
if (Support)
color("Yellow") {
for (Seg=[0:5])
rotate(30 + 360*Seg/6)
translate([0,0,(ChairFootRecess - ThreadThick)/2])
cube([(ChairFootOD - 3*ThreadWidth),
2*ThreadWidth,
(ChairFootRecess - ThreadThick)],
center=true);
rotate(180/6)
cylinder(d=0.5*ChairFootOD,h=ThreadThick,$fn=6);
}
}