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).
M125: Skip/Cancel Objects
- On target object
- Sn skip (S1) or do not skip (S0)
M125 ; list all processes and their state
M125 O1 S1 ; skip Process1 from now on