MPCNC Drag Knife: LM12UU Linear Bearing

The anodized body of the drag knife on the left measures exactly 12.0 mm OD:

Drag Knife holders - detail
Drag Knife holders – detail

Which happy fact suggested I might be able to use a standard LM12UU linear bearing, despite the obvious stupidity of running an aluminum “shaft” in a steel-ball bearing race:

Drag Knife - LM12UU holder - solid model
Drag Knife – LM12UU holder – solid model

The 12 mm section extends about halfway through the bearing, with barely 3 mm extending out the far end:

Drag Knife - LM12UU - knife blade detail
Drag Knife – LM12UU – knife blade detail

Because the knife body isn’t touching the bearing for the lower half of its length, it’ll probably deflect too much in the XY plane, but it’s simple enough to try out.

As before, the knife body’s flange is a snug fit in the hole bored in the upper disk:

Drag Knife - spring plate test fit
Drag Knife – spring plate test fit

This time, I tried faking stripper bolts by filling the threads of ordinary socket head cap screws with epoxy:

Ersatz stripper bolts - epoxy fill
Ersatz stripper bolts – epoxy fill

Turning the filled section to match the thread OD showed this just wasn’t going to work at all, so I turned the gunked section of the threads down to about 3.5 mm and continued the mission:

Drag Knife - LM12UU holder - assembled
Drag Knife – LM12UU holder – assembled

Next time, I’ll try mounting the disk on telescoping brass tubing nested around the screws. The motivation for the epoxy nonsense came from the discovery that real stainless steel stripper bolts run five bucks each, which means I’m just not stocking up on the things.

It slide surprisingly well on the cut-down screws, though:

Drag Knife - applique templates
Drag Knife – applique templates

Those appliqué templates came from patterns for a block in one of Mary’s current quilting projects, so perhaps I can be of some use whenever she next needs intricate cutouts.

The OpenSCAD source code as a GitHub Gist:

// Drag Knife Holder using LM12UU linear bearing
// Ed Nisley KE4ZNU - 2019-04-26
Layout = "Show"; // [Build, Show, Puck, Mount, Plate]
/* [Extrusion] */
ThreadThick = 0.25; // [0.20, 0.25]
ThreadWidth = 0.40; // [0.40]
/* [Hidden] */
Protrusion = 0.1; // [0.01, 0.1]
HoleWindage = 0.2;
inch = 25.4;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
ID = 0;
OD = 1;
//- Adjust hole diameter to make the size come out right
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
// Basic shape of DW660 snout fitting into the holder
// Lip goes upward to lock into MPCNC mount
Snout = [44.6,50.0,9.6]; // LENGTH = ID height
Lip = 4.0; // height of lip at end of snout
// Knife holder & suchlike
KnifeBody = [12.0,15.9,2.0]; // flange epoxied to top of diamond shaft, with epoxy fillet
WallThick = 4.0; // minimum thickness / width
Screw = [4.0,8.5,8.0]; // holding it all together, OD = washer
Insert = [4.0,6.0,10.0]; // brass insert
Bearing = [12.0,21.0,30.0]; // linear bearing body
Plate = [KnifeBody[ID],Snout[OD] - WallThick,KnifeBody[LENGTH] + WallThick]; // spring reaction plate
PlateGuide = [4.0,4.8,Plate[LENGTH]]; // ... guide tubes
PuckOAL = max(Bearing[LENGTH],(Snout[LENGTH] + Lip)); // total height of DW660 fitting
echo(str("PuckOAL: ",PuckOAL));
Key = [Snout[ID],25.7,(Snout[LENGTH] + Lip)]; // rectangular key
NumScrews = 3;
ScrewBCD = 2.0*(Bearing[OD]/2 + Insert[OD]/2 + WallThick);
NumSides = 9*4; // cylinder facets (multiple of 3 for lathe trimming)
module DW660Puck() {
rotate([180,0,0]) {
intersection() {
translate([0,0,0*Lip + Key.z/2])
cylinder(d=Snout[OD],h=Lip + Key.z,$fn=NumSides);
module MountBase() {
difference() {
translate([0,0,-Protrusion]) // bearing
for (i=[0:NumScrews - 1]) // clamp screws
module SpringPlate() {
difference() {
translate([0,0,-Protrusion]) // knife holder body
translate([0,0,Plate[LENGTH] - KnifeBody[LENGTH]]) // flange, snug fit
PolyCyl(KnifeBody[OD],KnifeBody[LENGTH] + Protrusion,NumSides);
for (i=[0:NumScrews - 1]) // clamp screws
// Build it
if (Layout == "Puck")
if (Layout == "Plate")
if (Layout == "Mount")
if (Layout == "Show") {
if (Layout == "Build") {

6 thoughts on “MPCNC Drag Knife: LM12UU Linear Bearing

  1. If you need The Real Thing ™, it looks like mscdirect dot com is running about a dollar cheaper. No obvious minimum quantities, and they’re US made.

    OT: the pumphouse solar project is getting final inspections tomorrow. Whew! (Murphy-related issues ended up costing me about $400, though the screwed up mounting brackets (got the torque specs mixed up and bent them) will be useful in non-critical applications. Not bad for a multi-thousand dollar project.)

    1. Aye, if only I knew what I needed … and didn’t need a different handful later.

      I just re-upped my crude boring skills and eventually cleared a 10 mm hole through a 25 mm section of 12 mm linear bearing, with a reshaped drag knife body epoxied therein. More on this later; it looks a whole bunch less awkward and has a better chance of smooth operation.

      Murphy-related issues

      When you finish with all your original body parts, it’s all good!

Comments are closed.