I have a model that contains a cavity, into which I want to insert a piece of metal, so I can use a magnet to stick to the print. How can I introduce a pause into the G-code without manipulating it manually in Ultimaker Cura?


Ultimaker Cura contains "Extensions"; in version 4.1.0, the process is as follows:

  • Extensions -> Post Processing -> Modify G-code
  • Add a Script -> Pause at height
    • Choose the one that matches your firmware!
  • Choose the Pause height to match the height the insertion should take place. Usually, this is to be the layer just before the roof is to be printed to keep the inserted objects from protruding from their cavities.
  • Choose a park position well outside of the print. X 10 Y 10 is usually a good position for this.
  • Add a little retraction if you want.

In printing, you have to wait till the cavity is formed, insert the item quickly and press the control button to resume. The shorter the pause, the better the next layer will hold to the already printed.

Also, keep in mind to make the cavity a little larger than the insert, both in XY and Z, to compensate for the plastic shrinking a little and to allow the nozzle to pass well over the inserted item.

  • 1
    $\begingroup$ Note that there are different pausing scripts based on printer type; choose wisely. $\endgroup$ – 0scar Jul 14 '19 at 12:54
  • $\begingroup$ Neat trick, but I get the impression that it is actually faster to pop the gcode file into np++ and add a standard line or two of code at the appropriate layer. $\endgroup$ – Carl Witthoft Jul 15 '19 at 15:39
  • $\begingroup$ @CarlWitthoft finding the right line is the problem then $\endgroup$ – Trish Jul 15 '19 at 16:18
  • 1
    $\begingroup$ No @carlwitthoft one needs the absolute height, not layer number $\endgroup$ – Trish Jul 16 '19 at 6:17
  • 1
    $\begingroup$ Please note that the printer firmware must be able to handle the inserted G-codes. Please see this answer, it shows that if a firmware that does not support the inserted G-codes is loaded onto the machine, the inserted Cura scripts will not work. $\endgroup$ – 0scar Nov 25 '19 at 12:07

This answer already explains how you insert the G-codes to enable a pause into your model. But, this will only work if the printer supports the G-codes that are inserted by Cura. E.g. this question shows that this does not always work!

To pause the printer you would need to resort into other methods, e.g. a manually inserted G4 (Dwell) would be a viable solution as shown in this answer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.