2 models, 2 tools one at the time
I’m using CuraEngine from the command line and need to generate G-code for two models, each printed with a different tool, one at a time. I understand this isn’t directly possible in the Cura Ultimaker software. Is there a way to bypass this limitation using CuraEngine from the command line (some combination of -g -m --next)? Additionally, does anyone know if this feature might be included in future versions of Cura, such as 6.0?
I understand this isn’t directly possible in the Cura Ultimaker software
On the contrary, this is possible in Cura, and has been since Cura 2.3 as far as I know.
Couldn't be easier:
- load a model and duplicate it (or load two models)
- set print sequence to "One at a time"
- select the second model
- press the second extruder icon in the toolbar on the left
There is a general limitation of "One at a time" printing that the available print height is reduced, to prevent collissions between the print gantry and a previous print.
I think there’s some misunderstanding. I’m using an Ultimaker 3 with Cura 5.6. When I add two models and use one tool, everything works as expected. The 'Print Sequence' parameter is visible, and when set to 'One at a Time,' the printer successfully completes model 1 before moving the print head to model 2. However, when I add a second extruder, the 'Print Sequence' parameter disappears (I can no longer set it). It seems like the mode changes to default 'All at Once,'. Preview looks as the printer switches between models for each layer instead of finishing one model before starting the next. Additionally, there’s a note stating: 'One at a Time mode is possible if: a) only one extruder is enabled...'
You are right, I stand corrected. I could swear I tested it before I made my remark that it is possible, but there's logic to this not being supported. Sorry for my confusion.
The reason Cura "forbids" this is that when switching extruders, the head moves towards the switching bay and in doing so it could collide with an earlier print.
Cura does not really know what happens with the print-head between tool switches, since that is handled by the firmware. So there's no general way to fix this.
If you really want to try this, and accept that Cura tried to stop you from possibly damaging your printer, you could remove this line in fdmprinter.def.json (*): https://github.com/Ultimaker/Cura/blob/main/resources/definitions/fdmprinter.def.json#L7691 ("enabled": ...)
(*): normally I advice against editing fdmprinter.def.json, and instead point to ways to at least change it in a printer definition instead of for all printers, but since enabling this setting for multi-extrusion is bad advice anyway, I don't see a reason to make the answer more compicated.
Thank you! That’s exactly what I was looking for. I followed your instructions, and the 'Print Sequence' parameter is now visible.
However, I’ve encountered another issue. When I assign the first tool to the first model and the second tool to the second model, the slicing result includes only the full first model, while the second model is reduced to just the brim. Additionally, if the second model is taller than the first, it starts printing brim and then only part above the height of the first model, so the bottom part is missing.
I understand that I changed the settings and it might cause issues, but do you know why this happens? Which parameter should I adjust to ensure both models are fully printed with their assigned tools
any updates ... :) ??
As FieldOfView points out, there are "safety" issues here. It is unlikely that the current behavior will be changed to allow "One at a Time" for multi-extruder printers. There are workarounds though. You could slice it as a single extruder print in "One at a Time" mode and then open the gcode and manually enter a tool change at the start of the brim of the second model. You need to be very sure that the nozzle isn't going to crash into the finished print. Cura displays the "slice" correctly when previewed for "One at Time", but if you open the Gcode file in Cura to preview it, it will display as "All at Once". (The Gcode reader places all the ";LAYER:0"'s together.)
Can this be closed?