CNC milling/routing involves holding the thing that's getting cut.

(If you aim to build one of these for yourself, start here not here! This is extra complexity you almost certainly do not need! More exclamation marks: !!)
I've been using double-sided tape to hold work since the second iteration of the laser-cut precursor to this project. It's hard to beat for simplicity, and it works well enough often enough to make some stuff. But sometimes it reminds me to think about mechanical workholding again. After a few years of no good ideas, I think this might work.

That's
- a bunch of square nut pockets sunk into the formerly flat top of the "top" part, and
- a new flat slab on top of that.
Slab
I don't know what to call the new slab on top of the top part (of "bottom", "middle", and "top" parts of the XY stack). If it were square-rigged, it would be the t'gallant part. Maybe it will be just "slab" for now.
Outwardly, the slab is just a flat slab with ½-dozen screws through it. Between the solid top & bottom surfaces there are void holes aligned with the nut pockets in the top surface of the top part. More to the point, "holes" means vertical cylinder walls around the holes to bear compression.
Because ... why?
Wherever you want to screw/clamp/hold work on top of the slab, drill through the nearest "drill here" mark on the bottom of the slab to open the top and bottom (i.e. bottom and top) of one of the internal voids and drop a nut in the corresponding pocket.
The selectively populated 8 mm square grid of "drill here" marks is easier to see in the CAD render below than in the photo above. (even tho the marks are bigger in the photo)

I don't know whether or not this idea is actually novel, but I don't recall seeing it anywhere else. I also don't know whether or not it is actually useful, because I haven't actually used it to make anything other than pretty pictures for this page.
Here is a (i.e. the) a worked example:






Maybe
Of course it works. Because what could go wrong? ¯\_ (ツ)_/¯
vibration
Screws working loose from vibration is the first risk that comes to mind. The bet here is that clamped PLA is springy enough to prevent that. If not: Thin square nylock nuts would be great but I haven't found such a thing yet. Common hex nylocks would require deeper pockets (thicker top or fewer pockets) and holding a hex nut shape against torque with PLA is less easy than holding square nuts. McMaster-Carr lists "thin profile" hex nylocks, which seem quite pointless in smaller sizes: 3.9 mm thick vs 4 mm for m3. It appears that barleycorn nuts run thinner per thread diameter: 4-40 thread at 2.85 mm diameter is 95% of m3 diameter (90% section area) and "thin profile" 4-40 nylock nuts are only 2.8 mm thick or 70% of m3 (4 mm), so "thin" 4-40 nylock nuts could be accommodated within current dimensions with some very thin pocket floors. There are also anti-vibration screws: e.g. with a patch of nylon on the thread, or "tri-lobe" shape (tho use with steel nuts would be off-label). Or maybe just 3 mm o-rings under the screw heads.
widgetry
Those totally credible-looking "workholding widgets" were totally just whipped up to make the few ̶p̶r̶e̶t̶t̶y̶ helpfully illustrative pictures above. For brevity (hah!), I've deleted a bunch of words that were here about why I'm downplaying the photo model widgets. As said up near the top of this log, I think you almost certainly do not need to fuss with this. So if you are motivated to fuss with this, it's presumably because you have a use case that makes it seem probably worthwhile, so you'll likely have a pretty specific idea of what you need and should make that. If someone works up and shares some really useful general-purpose clampy widgets for this scale, then great!
distortion
I have no idea how screw torque/tension, either slab-to-top or widget-to-slab, will affect the shapes of things, except that it will be inconsistent if torqued by hand.
naïveté
My Dunning-Kruger coach tells me this is fine.
Portable
While nuts mostly live "in" the top part, and the pockets in the top provide location and torque, they take up against the bottom of the slab in use. The slab and workholding and held work become a unit can be lifted off the top of the XY stack. As hinted in photos above: a separate copy of the top part -- or top few mm of the top part -- makes it possible to prepare a setup on a slab separately then move the set up slab to the machine for work.

But really
As already said, I haven't actually used any of that workholding widgetry, including not using it to cut the brass widget used for a photo model.
Here's what I'm actually using:

Same old double-stick tape on a double-stuck spoil board. At least with this arrangement I can take the slab off the XY stack for immoderate application of force to liberate well-stuck parts. That helps sometimes because really rigid material doesn't peel, and peeling is how taped things come apart with moderate force.
... and now I'm thinking that I might add the six slab-attachment screw/nut points into the vanilla flat-top top part where they can be either ignored or used to attach a plain slab for the benefit described just above.
Stiff(ish)
For stiffness, this arrangement depends mostly on the slab. To minimize reliance on the stiffness of the top part of the XY stack, the six attachment screws are located near where sliding hardware attaches to the bottom of the top of the stack. I've assumed, then, that it's ok for the top part to give up some stiffness by omission of its internal structure and breaking up the top skin. (and maybe giving up the supporting arch in a future revision)
psych
The slab could be made stiff simply by making it thick and/or dialing up lots of perimeters and infill. Obsessively not doing that has burned a pile of time & brain strain over the course of this project. Early in the project, between identifying a weak spot in the X top and working out the "arch" brace, I put some effort into modeling internal structure to provoke the slicer into adding plastic where it would actually reinforce something instead of just burying weakness in perimeters, infill, and thickness. While internal structure got into my head largely as a side-effect of not thinking of the arch brace first, it's become something of a cognitive addiction. The pursuit added a pile of time & brain strain to iterating the vertical axis where, if I may quote myself:
"Are resulting parts actually stiffer to operating loads than parts printed with more perimeters up to similar total mass of plastic? Maybe. Is the difference worth the extra design effort? Almost certainly not. Having done it, I have to admit the result is more vanity art project than engineering."
Did I learn? Of course not. Another pile of time & brain strain went into modeling something that would provoke the slicer to add internal span-wise & compression reinforcements in the slab without burying either my CAD or slicer (i.e. make updates take too many minutes) or print hours. Consider that 30 layers of ~200 screw positions in a 255-cell grid multiply any feature by 6 or 8000. I was very pleased with myself for eventually cracking that. Until, in the course of writing it up for this page right here, I realized a vastly very much more simple way to make it, eh, not very much less stiff. Speed-run stages of grief; click, shift-click, delete.
simple
The slab has no internal structure. The simpler way is: grid infill with adjusted density.
et voilà:

When asked for grid infill at 28.8% density, my slicer gives me the infill shown above with:
- a continuous wall-to-wall[1] reinforcing grid between the voids, and
- the ½-offset grid through the void centers which also reinforces their single-perimeter walls.

The void-intersecting grid doubles half (two opposite quarters) of each void wall and also adds the four perpendiculars. The two-quarter wall doubling depends on sufficient infill anchor length, or "Length of the infill anchor", or whatever your slicer calls it. Orca's default is working for me for now. That might be sufficient to bear workholding compression -- tbd.
Again 28.8% is the magic number for me for now. Grid fill. You may have to tweak the fill fraction to get the same infill grid spacing from your slicer.
I don't know why the infill density that matches void spacing also aligns almost exactly with the void centers. That seems like a poor bet to rely on. If not so well matched for you, adding a small single-layer appendage to a corner of the part should work to shift the slicer's infill pattern. Some (most? all?) slicers allow adding a primitive shape like a slab/box or disk/cylinder.
If you can't or would rather not get so involved in slicing your part: "enough" perimeters, fill, and maybe a vertical stretch for thickness should get the job done. This may be an exception to the general principle of favoring perimeters over infill for strength.
Or maybe slab stiffness just doesn't very much affect actual milling results ¯\_ (ツ)_/¯ . I'm still not actually objectively assessing which design choices or tweaky details matter.
[1] Yes, that's a result I've preferred to avoid by not using grid/cubic fill. I'm pretty sure that's not a concern here.
Build
Repeating: If you aim to build one of these little CNC mills for yourself, start here not here! This is extra complexity you almost certainly do not need!
If you're building your own "Minamil", I think it's virtually certain that you should not bother with this until you've got the basic machine working well enough to make stuff, and made some stuff, and organically encountered a workholding problem that makes fiddling with this look easier than fussing with double-stick tape.
hardware
- nuts
- m3 square
- nuts in photo example measure ~5.4 mm sides and ~1.9 mm thick
- up to 5.5 mm sides and 2.5 mm thick should work
- 6 required to attach slab
- more for workholding
- m3 square
- screws
- m3
- 6 required to attach slab
- length 10-12 mm
- max head diameter 6 mm
- more & longer for workholding
- length needed above slab + ~10 mm
- zip/cable ties
- not less than 7
- probably more
See STLs 4 XY & slicing for slicing/printing parameters. Mainly the "General" parameters.
download minamil3dp-XY-workholding-STLs-v0.9.1.zip from Files section @@@upload
filenames: "minamil3dp-{part}-v0.9.1.stl
- XYtop-workholding
- like XYtop in slicing notes
- slice upside down
- while probably not necessary, splitting for internal reinforcement will make the slab mounting screw hole walls more robust to compression.
- XYslab-workholding
- grid infill at adjusted density
- preview in slicer and adjust as described above
- Start with 28.8% fill density (because works for me for now) and adjust from there
- may need to add thin (~1 layer) simple shape to a corner to shift grid if spacing is good but misaligned with void grid
- slice right side up
- grid infill at adjusted density
- if you're feeling lucky: the widgets
- Arachne ok
- flat sides down - check hole through clamp for which side up/down
- lots of perimeters for clamp
assemble
- check & clean up XYtop-workholding per "part checks & cleanup" details at top of XY stage assembly notes
- insert six nuts into top part for slab attachment screws
- four straight in through sides (three positions visible in photo at top of the page)
- two "up" into bottom of top part then slide sideways into place (before X slide assembly)
- crushable ribs are meant for interference/friction to hold nuts in place
- replacing the two interior nuts, if they fall out of place, requires dis/reassembly of X/top axis :-/
- the cheap nuts I bought vary in size and are rarely square, so I've selected nuts with longish long sides and pushed them in sideways for firm friction fit
- consider a drop of CA or such if you can't make the nuts hard to shake out of place (especially the interior two)
- test fit slab to top part & remove
- slab should align with and lay flat on top of top part
- secure with six m3 screws 10 mm or 12 mm long
- nuts should pull up hard to tops of their spaces
- after removing slab, nuts should not move or rattle when moderately shaking top part
- pushing down on attaching screws when not tight will push the nuts down from the tops of their spaces
- I try to not do that
- I don't know whether a lot of down/up shifting will make the nuts looser until they fall out, or wear a notch in the interfering ribs that will help lock them in place
- ¯\_ (ツ)_/¯
- replace top part of XY stack
- i.e. X axis
- see notes on "disassembly" and "reassembly" at bottom of XY stage assembly; also review X assembly notes generally, which refer to Y assembly notes
- X axis only
- aside: this version of the top part kills the mid-page note about maybe assembling Y after X and commits to Y-before-X assembly order
- transfer bearing from original to new X top part
- transfer rods and pre-set rod zip ties per assembly notes
- remove, replace, and pre-set the inboard end zip tie for the lower X rod (on top of the middle part, near the bearing)
- if you removed the lower X rod completely from the middle part: remove, replace, and pre-set the outboard end tie and the rod
- transfer motor
- if the motor cable is dressed to middle part: its possible to transfer without disconnecting but probably not easier than cutting it loose to disconnect, then reconnect and re-dress the cable later
- if I haven't edited out the ambiguity before you get there: yes it's easier to insert the two cable dressing ties before installing the motor
- assemble the X axis with new top part
- transfer spoil board or whatever is on top of the old top to the top of the slab
- attach slab
- tighten screws "firmly", with similar torque on each
- tightening the back-right (+X, +Y) screws may require some combination of
- short-ish tool
- move the work surface fully left (+X) and partially forward (+Y) to place the back-right screw a little behind the spindle and the mid-right screw a little in front of the spindle
- if there is a sharp tool in the spindle:
- beware the sharp tool in the spindle
- or cover it
Whinge
Yes, it took ~3½ months after MRRF to kick out this "quick" note about a tick-the-box feature that I'm trying to steer you away from replicating so I can get on with the good stuff. Remember this teaser?:

Paul McClay
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.