I'm currently printing the part of a small table where I have to print the legs. In this phase, the printer does a lot of printing small parts, retracting, moving elsewhere, putting down a few lines, retracting, moving elsewhere, etc. This wastes time - pointlessly, since the distance between parts is large enough that the printer could easily build up a few layers in one go, before moving elsewhere.
Would it be possible to support this natively in Cura? Possibly with configurables such as "print head xy clearance" (minimum distance between parts to allow lower parts to be printed before upper ones) , and "print head z clearance" (maximum distance between lowest unprinted part and highest generated move).
I've made a small demo tool that reorders GCode files with this optimization. ( https://github.com/FeepingCreature/GCode-Z-Reorder ; you need to install a D compiler to build. ) Unfortunately, when I tested it, the print head started pancaking into already printed material. However, this may be a flaw with my printer - I suspect it slipped during extended Z down moves, a case that does not come up in regular prints. Please be cautious if you want to try it out.