-
HQ Sixteen: Improved Anchor
The original anchor / weight keeping the HQ Sixteen from rolling away suffered a disastrous fall, so I conjured a much better-looking replacement from the vasty digital deep:

HQ Sixteen – improved anchor The handle and fancy nut came from the deceased pepper mill, sitting on laser-cut acrylic in a 3D printed base, with a drawer liner disk peeking out from underneath.
The orange disk in the solid model represents the steel slug harvested from the old anchor:

HQ Sixteen Anchor – solid model – Show view A ring of hot-melt glue under the weight keeps it from rattling around in there, with the snug-fitting central post encouraging good positioning. I made the acrylic lid sit flush with the top of the base by the simple expedient of running another ring of glue around it, plunking the base + weight atop it on a flat surface, then taking a deep breath while the glue solidified. The nut & screw thus compress a solid stack of acrylic + glue + steel + glue + PETG-CF, rather than just parts flying in formation.
The OpenSCAD source code also produces a pair of outlines for laser-cutting the adhesive sheet and acrylic, suitable for export to an SVG file:

HQ Sixteen Anchor – solid model – cuts They’re offset inward by amounts appropriate for my CO₂ laser:
if (Layout == "Cuts") { left(BaseOD/2 + Gap) offset(r=-1.0) circle(d=BaseOD); right(Cap[OD]/2 + Gap) offset(r=-0.2/2) projection() tube(1.0,id=Cap[ID],od=Cap[OD],anchor=BOTTOM); }It might be prudent to apply those offsets to the original outlines in LightBurn or whatever you use for lasering.
The OpenSCAD source code as a GitHub Gist:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters// Anchor block for HQ Sixteen // Ed Nisley – KE4ZNU // 2026-09-29 include <BOSL2/std.scad> Layout = "Show"; // [Show,Build,Cuts] /* [Hidden] */ ID = 0; OD = 1; LENGTH = 2; Gap = 10.0/2; // build platform minimum spacing HoleWindage = 0.2; Protrusion = 0.1; NumSides = 8*3*2*4; $fn=NumSides; // Sizes Screw = [5.5,25.5,5.0]; // 10-24 screw + washer holding it together Weight = [11.0,80.0,11.5]; // stamped steel slug Cap = [26.0,Weight[OD],5.5]; // acrylic disk with handle hole BaseFloor = 10.0; BaseOD = 90.0; // printed anchor Spacing = 25.0; // Show view separation //———- // Model things module Housing() { tube(Screw[LENGTH],id=Screw[OD],od=BaseOD,anchor=BOTTOM) position(TOP) { tube(Weight[LENGTH],id=Screw[ID],od=Weight[ID],anchor=BOTTOM); // weight bushing tube(BaseFloor – Screw[LENGTH],id=Screw[ID],od=BaseOD,anchor=BOTTOM) position(TOP) tube(Cap[LENGTH] + Weight[LENGTH],id=Cap[OD],od=BaseOD,anchor=BOTTOM); } } //———- // Build things if (Layout == "Show") { Housing(); color("Orange",0.7) up(BaseFloor + Spacing) tube(Weight[LENGTH],id=Weight[ID],od=Weight[OD],anchor=BOTTOM); color("Gray",0.8) up(BaseFloor + 2*Weight[LENGTH] + Spacing) tube(Cap[LENGTH],id=Cap[ID],od=Cap[OD],anchor=BOTTOM); } if (Layout == "Cuts") { left(BaseOD/2 + Gap) offset(r=-1.0) circle(d=BaseOD); right(Cap[OD]/2 + Gap) offset(r=0.2/2) projection() tube(1.0,id=Cap[ID],od=Cap[OD],anchor=BOTTOM); } if (Layout == "Build") { Housing(); }