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:

Mini-Lathe Metric Threading: 42 Tooth Gear

Going from a 21 tooth gear to a 42 tooth gear means you must reduce the remaining train ratio by a factor of two for a given thread pitch. Here’s a 42-50-45-60 train, with the same -125 ppm error as the 21-50-60-40 train and no screw / washer clearance issues between the A screw and the C gear:

Mini-Lathe change gears - 1 mm - 45-50-45-60
Mini-Lathe change gears – 1 mm – 45-50-45-60

The original 60-40 CD pair has a 3:2 ratio, the 45-60 CD pair is 3:4, so that’s where the factor-of-two reduction happens.

The first pass at the solid model included a debossed legend:

Mini-lathe 42 tooth change gear - Slic3r
Mini-lathe 42 tooth change gear – Slic3r

With a printed gear in hand, I realized the legend must be embossed below the surface, so as not to rub against an adjacent gear; better modeling is in order.

The general idea is to set Inkscape’s (known-good) gear generator to the correct gear parameters (module 1 → 3.14 mm circular pitch, 20° pressure angle):

Inkscape Gear Generator dialog
Inkscape Gear Generator dialog

Save the outline as an SVG:

Inkscape Gear Generator result
Inkscape Gear Generator result

If you do like I did and neatly position the gear at the bottom-left origin, all SVG viewers will show only the Quadrant I arc, probably because Inkscape sets the SVG file to display it that way. I’ve made that mistake before and maybe, someday, I’ll remember.

Load the SVG into OpenSCAD, which will find the entire gear, no matter where it falls in the coordinate space, and spike it at the origin:

 import(file="/the-source-directory/Mini-Lathe/Change Gear - 42 teeth.svg",center=true);

The linear_extrude( … center=false … ) keeps the bottom of the blank at Z=0. The import( … center=true … ) puts the 2D shape at the XY origin. Because OpenSCAD centers the bounding box, gears with an odd number of teeth will be ever so slightly off-center, which would matter a whole lot more in a fancier machine tool than a mini-lathe.

All of which produces a tidy 3D gear blank:

Mini-lathe change gear - 42 tooth - SVG import
Mini-lathe change gear – 42 tooth – SVG import

OpenSCAD ignores SVG holes, which isn’t a problem for me, because I’d rather punch the bore, keyway, and so forth programatically.

But that’s another story …

Mini-Lathe Metric Threading: 32 Tooth Gear

While not strictly necessary for metric threading on a USA-ian mini-lathe, a 32 tooth gear can produce reasonable approximations, so I printed a pair from a Thingiverse collection:

Mini-lathe 32 tooth change gear - Slic3r
Mini-lathe 32 tooth change gear – Slic3r

The model was designed for a slightly different mini-lathe, as it includes a short boss and thinner plate, but it did fit on the shaft:

Mini-Lathe change gears - 1 mm - bad 32 60 65 55
Mini-Lathe change gears – 1 mm – bad 32 60 65 55

The gear mesh seemed odd, though, and comparing it with a standard 30 tooth gear and a different printed 32 tooth gear (about which, more later) showed it was definitely not compatible:

Mini-lathe change gears - 32 30 odd 32
Mini-lathe change gears – 32 30 odd 32

Yes, the 32 tooth Thingiverse gear on the right is slightly smaller than the stock 30 tooth gear in the middle.

The larger 32 tooth gear (on the left, above) meshes better:

Mini-Lathe change gears - 1 mm - 65 55 32 60
Mini-Lathe change gears – 1 mm – 65 55 32 60

Both of those trains have a 600 ppm error, so they’re definitely suboptimal compared to the results with a 21 tooth gear in the train.

The real reason you need a 32 tooth gear is for exact 25, 50, and 100 TPI threads with a 1/16 inch leadscrew. I don’t foresee much need for those around here, but you can never have too many change gears …

Nissan Fog Lamp: Desk Stand

The Nissan fog lamp looks pretty good pointing at the ceiling:

Nissan Fog Lamp - table mount
Nissan Fog Lamp – table mount

I briefly considered sandblasting the shell to knock back the corrosion, but came to my senses: this is art!

The shell has a bayonet mount intended for the cable connector, but a bout of solid modeling produced a matching twist-lock desk stand:

Nissan Fog Light Base - Slic3r preview
Nissan Fog Light Base – Slic3r preview

The locking dogs overhang little enough, relative to their diameter, to let the thing build without internal supports. Took about three hours without any intervention at all.

The little hole matches up with the slot on the bottom holding a USB cable bringing power from a wall charger:

Nissan Fog Lamp - table mount interior
Nissan Fog Lamp – table mount interior

It’s a knockoff Arduino Pro Mini without the USB interface found on a Nano, so the USB data wires don’t connect to anything.

The base might look better under a layer of (black?) epoxy, although I’m definitely a fan of those brutalist 3D printed striations.

The OpenSCAD source code as a GitHub Gist:

Maximum 3D Printing Speed

With everybody 3D printing masks these days, the question of “how fast can you print” came up on the Makergear forum.

Here’s my opinion:

The fundamental limit comes from the heater’s ability to bring cold plastic up to extrusion temperature inside the 20 mm hot zone.

Using airscape’s example, the extruded thread is 0.5 mm thick × 0.8 mm wide = 0.4 mm², so laying down that thread at 50 mm/s means the extruder is heating plastic at 20 mm³/s and is “pushing it with PLA”.

In round numbers, normal printing speeds with a normal nozzle and normal plastics runs around 10 mm³/s, so a practical upper limit is probably around 15 mm³/s.

As far as thread size goes, the diameter of the flat area around the nozzle orifice sets the maximum thread width, because the nozzle must compress the thread against the previous layer. If the thread is wider than the nozzle, the gooey plastic curls up around the sides of the nozzle and doesn’t bond well. The rule of thumb is to round up the orifice diameter to the next convenient number:

  • 0.35 mm nozzle → 0.4 mm thread
  • 0.75 mm nozzle → 0.8 mm thread

The maximum thread (= layer) thickness should be about 60% of the thread width, which is why a 0.8 mm wide thread calls for a 0.5 mm layer thickness.

Assuming the extruder can heat 15 mm³/s of plastic, the maximum printing speed will be 15 mm³/s / 0.4 mm² = 37.5 mm/s: comfortably under airscape’s “pushing it” 50 mm/s.

A visualization may be helpful:

Extrusion Dimensions
Extrusion Dimensions

Aaaaand, as always, calibrate the Extrusion Multiplier for whatever conditions you’re using to ensure the slicer and the hardware agree on how much plastic is coming out of the nozzle.

Fu Mask Cutting Templates

A local hospital contacted Mary’s quilting group to sew up cloth covers to prolong the life of their medical-grade N95 masks. Their recommended pattern, the Fu Face Mask from the FreeSewing group, comes in three sizes:

Freesewing - Fu Mask
Freesewing – Fu Mask

N.B.: Use their original PDF, because a JPG picture probably won’t come out at the right size.

Also N.B.: Used by itself, this is not a medical-grade filter mask.

The patterns do not include the usual 1/4 inch seam allowance around the outside, so I cranked out 3D printed plastic cutting templates.

If you’re not interested in 3D printing, 2D print the PDF file on cardboard, sketch a seam allowance, and cut it out, as quilters have been doing since slightly after home printers happened.

The plan of attack:

  • Convert mask outlines into a bitmap image (GIMP)
  • Create Bezier curves by tracing outlines (Inkscape)
  • Save curves as SVG files
  • Convert SVG into solid model (OpenSCAD)
  • Add stiffening ribs &c
  • Save as STL solid model
  • Slice into G-Code file (Slic3r)
  • Fire the M2!

So, we begin …

Import the PDF into The GIMP, delete the text & suchlike, convert to monochrome, and save the pattern outlines as a PNG file:

Fu Facemask - outlines
Fu Facemask – outlines

It turns out Inkscape can directly import the PDF, but it valiantly tries to convert all the text and the incidental graphic elements, none of which will be useful in this situation. It’s easier to delete them in The GIMP and make a bank shot off a PNG file.

Import the PNG into Inkscape and trace one outline with the Bezier curve tool:

Fu Mask - Inkscape Bezier trace
Fu Mask – Inkscape Bezier trace

If you squint really carefully, you’ll see Bezier control handles sticking out of the nodes. I laid three nodes along the top arc and four along the right side, but do what’cha like; the Insert key or Shift+I inserts and Delete removes nodes. It’s easier to center a node in the middle of the PNG line with snapping turned off: Shift+drag while mousing or globally with #.

You could unleash the bitmap auto-tracer, but it generates a bazillion uselessly tiny Bezier curves.

When you’re happy, select and copy the path with Ctrl+C, paste it into a shiny new Inkscape document (Ctrl+N) with Ctrl-V, save it with a catchy file name like Fu Mask - Small - nominal.svg, and close that document to return to the document with the PNG outlines and the original path.

Select the original path again, create a dynamic offset with Ctrl+J, open the XML editor with Ctrl+Shift+X (which automagically selects the proper SVG element), and change the inkscape:radius value from 0 to 6.35 (mm, which everyone should use) to get a 1/4 inch seam allowance:

Fu Mask - Inkscape XML Editor - Offset radius
Fu Mask – Inkscape XML Editor – Offset radius

The path will puff out with curved corners:

Fu Mask - Inkscape offset
Fu Mask – Inkscape offset

Copy into a new document, save as Fu Mask - Small - seam allowance.svg, and close.

Repeat that process for each of the three mask sizes to create three pairs of SVG files: the nominal mask outline and the corresponding seam allowance outline for each size.

The OpenSCAD program imports the SVG files, removes the nominal outline from within the seam allowance to leave the outline, adds stiffening ribs, and stamps an ID letter on both sides of the central button:

Fu Mask Cutting Template - Small - solid model
Fu Mask Cutting Template – Small – solid model

Choose one of the three sizes with the OpenSCAD customizer, save the resulting model as an STL file, repeat for the three sizes, and you’re done.

This process can convert any outline paths in SVG files into cutting templates, so, should the Fu Mask not suit your fancy, Use The Source.

For convenience, the STL files are on Thingiverse.

From the comments, a Washington hospital uses a similar pattern: their PDF with assembly instructions.

The OpenSCAD source code as a GitHub Gist:

Verily, there’s nothing like a good new problem to take your mind off all your old problems …

Round Soaker Hose Splint

One of two new round rubber soaker hoses arrived with a slight crimp, enough to suggest it would crumble at an inopportune moment. Rather than return the hose for something that’s not an obvious failure, I clamped the crimp:

Round Soaker Hose Splice - top
Round Soaker Hose Splice – top

Unlike the clamps for the punctured flat soaker hoses, this one doesn’t need to withstand much pressure and hold back a major leak, so I made the pieces a bit thicker and dispensed with the aluminum backing plates:

Round Soaker Hose Splice - bottom
Round Soaker Hose Splice – bottom

The solid model is basically the same as for the flat hoses, with a slightly oval cylinder replacing the three channels:

Round Soaker Hose Splice - OpenSCAD model
Round Soaker Hose Splice – OpenSCAD model

The OpenSCAD source code as a GitHub Gist: