MPCNC: Modified Drag Knife Adapter

A trio of Cutter Cutting Plotter Blade Holders arrived:

Collet pen holder
Collet pen holder

Despite the name, they’re not well-suited for drag knife blades, because they’re collets gripping a 2 mm shaft. The blade doesn’t rotate unless the plotter / cutter rotates the entire holder, which is actually a thing.

I got ’em because the snout of a common ball-point pen refill measures about 2 mm:

Collet pen holder - detail
Collet pen holder – detail

The glob around the tip comes from plotting too fast for conditions; about 1500 mm/min works better for continuous lines and 250 mm/min improves text.

The stock MPCNC adapter has a single recess suited for Genuine Plotter Pens, but the knurled lock ring on these cheapies sticks out far enough to make them wobbly. This being an inconvenience up with which I need not put, a few lines of OpenSCAD tweak the stock STL:

MPCNC knife adapter mods - OpenSCAD model
MPCNC knife adapter mods – OpenSCAD model

The original STL is ivory, new cuts are cyan, and additions are reddish.

The two support beams are now 1.6 mm = four thread widths, for improved slicing with a 0.35 mm nozzle and a higher spring constant.

It’s by-and-large indistinguishable from the old adapter:

MPCNC - Pen Holder Detail
MPCNC – Pen Holder Detail

Which I was using upside-down, because the flange fit better.

The MPCNC works reasonably well as a pen plotter with a genuine ballpoint pen:

MPCNC Ballpoint pen plots
MPCNC Ballpoint pen plots

The OpenSCAD source code as a GitHub Gist:

// Adding clearance for eBay collet pen holder
MPCNC_OD = 12.0; // pen holder OD (matches STL curvature)
MPCNC_Z = 8.9; // Z offset of pen axis
Pen_OD = 11.5; // actual pen body OD
ID = 0;
OD = 1;
Flange = [11.5,15.7,2.2]; // actual pen body flange
Locknut = [16.0,16.0,2.8]; // knurled locknut
Locknut_Offset = 4.5; // flange center to locknut
Wall = [41.0,4 * 0.4,9.0]; // thicker walls for more spring and better fill
$fn = 32; // default cylinder sides
difference() {
translate([-(101.3 + MPCNC_OD/2),-111.9,0]) // put pen axis above Y axis, flange centered on X axis
import("/mnt/bulkdata/Project Files/Mostly Printed CNC/Accessories/Tool Holders/MPCNC_525_Drag_Knife-1860310.STL",
if (true) // improve holder-to-mount fit if needed
translate([0,0,MPCNC_Z]) // improve flange slot clearance
cylinder(d=Flange[OD] + 1.0,h=Flange[LENGTH] + 0.5,center=true);
translate([0,Locknut_Offset - 0.5,MPCNC_Z]) // add locknut clearance
cylinder(d=Locknut[OD] + 1.5,h=Locknut[LENGTH] + 1.5,center=false);
# translate([-(27.0 + Wall.x/2),0,0]) { // embiggen walls for higher spring constant
translate([0,20.6 - Wall.y,0])