How do I pause the printing at a specific layer?
My intent is to deposit a nut into a cavity, then continue printing to encase the nut to prevent it from falling out of the pocket.
is probably most reliable across more g-code types
Probably easiest to open g-code in text editor, search for "G1 Z" to locate the layer you want, insert M25, and print it.
But I wrote this a while ago, https://www.thingiverse.com/thing:2776514
I haven't actually used it since then; i design things with slots I drop nuts into now. Pausing prints is ok, but it almost always ends up with a layer line in the print, and homing XY before resuming is just as likely to introduce a tiny layer offset... so i avoid it.
...also because i can recover the nuts when I supersede or decide the printed object sucks.
You can use M0 right before the start of the layer you want to pause at. If you firmware supports it, M600 will also pause. You need to edit the gcode file after slicing to add these commands. Turn on comments when slicing and hopefully it will show the layer heights. You can also search for the Z value to the height you want. For example, if you want to pause at a height of 5.2, look for a Z5.2 in the code. You will have to analyze the surrounding code to make sure this is the start of the layer and not a Z hop or something else.
I got layer number and layer height to compile into my g code.
Tried several M codes, but it still does not pause for me.
Using Repetier Host, and slic3r.
Check out this thread. It might have what you need...https://forum.repetier.com/discussion/2053/how-to-insert-a-pause-in-gcode
There is a comment about using ;@pause to cause the print to pause. There are some other comments on how to get M600 to work.
Which slicer do you use? In Ultimaker Cura you can add a pause at a certain layer. You just need to define that through a post processing plugin.