Cancel/Skip Individual Objects During Print
-
There have been several posts in which the topic has started to being discussed already, e.g., https://forum.duet3d.com/topic/6299/cancel-individual-part-s. However, they are locked now for whatever reason so I would like to take the opportunity to post here how I think this feature could be added without too many efforts.
As already done by the respective octoprint plugin, I think it is a good approach to rely on the slicer comments to identify separate objects, e.g., the processes of Simplify3D.
One could then add another Gcode command (I name it M125 here but everything is possible) to list and deactivate available processes. If the duet then identifies a Process1, for example, it would ignore all lines until another process is listed such as Process2 (see also the plugin for more details and how this could be done for other slicers).
Thoughts?
M125: Skip/Cancel Objects
Parameters
- On target object
- Sn skip (S1) or do not skip (S0)
Example
M125 ; list all processes and their state
M125 O1 S1 ; skip Process1 from now on -
I also posted about this. No reply so far...
-
We've already included this facility in the work list for Duet 3. I can add it to the wish list for Duet 2.
-
yes please
-
Not going to lie, that sounds pretty cool!
-
@dc42 This would be really great, thank you! One question though, I thought Duet 3 is going to be a hardware upgrade, so why does this firmware feature need to be added to a hardware dependent wish list?
-
Please implement this. Just as I was typing this, some spaghetti being dragged around dislodged one of three remaining items being printed.
-
@moewex said in Cancel/Skip Individual Objects During Print:
@dc42 This would be really great, thank you! One question though, I thought Duet 3 is going to be a hardware upgrade, so why does this firmware feature need to be added to a hardware dependent wish list?
Yes Duet 3 is a hardware upgrade. The architecture of Duet 3 and the additional RAM makes this sort of thing easier to do. But it would be possible to do it with Duet 2. Have the slicer makers agreed on a standard set of comments to describe which part they are starting yet?
-
I’d go with what Octoprint’s CancelObkect plugin does:
https://github.com/paukstelis/Octoprint-Cancelobject/blob/master/README.md
If Duet supported something as recommended, I could see the other slicers follow suit, without the manual fussing required for CancelObject to work with some slicers
-
Is it an entirely stupid idea to have the slicer slice ONE object and let the firmware calculate the offset's for object placement? At each identifier for the next layer, the firmware could decide to go to the n+1th object with an object specific offset and print the same layer again before going to the next layer.
-
@wesc said in Cancel/Skip Individual Objects During Print:
I’d go with what Octoprint’s CancelObkect plugin does:
https://github.com/paukstelis/Octoprint-Cancelobject/blob/master/README.md
If Duet supported something as recommended, I could see the other slicers follow suit, without the manual fussing required for CancelObject to work with some slicers
Thanks, looks like we need to look for "; printing object xxxx" or "; process xxxx" comments.
-
Can't find it have been discussed here - but some time ago I saw an octoprint plugin that does not skip "parts", but where you said it should ignore anything inside coordinate (X1,Y1 to X2, Y2) and it would ignore any gcode with those coordinates - That might be a lot simpler than recognizing objects, and will work for any slicer.
-
It's called Exclude Region (https://plugins.octoprint.org/plugins/excluderegion/).
This actually could be a first, quick and easy way to realize this, no need to parse the gcode and detect processes/objects.
But I would require having a G-Code viewer, while canceling individual objects/processes would just require a list and buttons to cancel specific objects/processes.But isn't a G-Code Viewer planned for DWC 2 anyways?
-
@devleon said in Cancel/Skip Individual Objects During Print:
But I would require having a G-Code viewer, while canceling individual objects/processes would just require a list and buttons to cancel specific objects/processes.
If you knew the coordinates of the objects, you could do it without, and just send a command, but a Gcode viewer would be nice, but will probably take some time to develop.
-
I am on board for the ability to cancel object on the Duet 2 for sure. I use the cancel object or exclude region in octoprint when a small piece breaks free on a plate full of items. This has saved many prints from being complete failures.
-
Any chance this feature has been implemented and I missed it?
-
@aerouta missed it. There is even a plugin
-
@aerouta yep it is now part of firmware so if your slicer labels objects you can issue commands to cancel them individually:
https://duet3d.dozuki.com/Wiki/M486There is a lightweight plugin you can install if you only want a simple 2D view of the bed:
https://forum.duet3d.com/topic/24762/object-cancel-plugin-1-0Or the 3D gcode visualisation plugin distributed with DWC supports object cancelation directly