Inspired by this video from the 3d printing professor a few months ago, https://youtu.be/AsokgzDYBBY?si=zLJKxqVY-BaAQAoV I am embarking on a Proof of concept to see if I can completely eliminate wasted purge from my multi colour prints.
Possibly built on top of potential purge length reductions such as these, Printables
The problems with ‘purge-to’ objects that I think need addressing are:
- Keeping a list/pipeline of worthwhile objects to ‘purge-to’ that do not have critical colouring requirements
- Selecting ‘purge-to’ objects with the right layer/infill sizes to match the purge requirements of individual multi-colour objects
- Avoiding ‘purge-to’ objects introducing extra unnecessary colour changes of their own. ** Update - from testing looks like this isn’t an issue after all**
- Solve the purge-to not working on 3+ colours on the same layer issue identified in the 3dpp video. ** Update - from testing looks like this issue has now been resolved **
I have raised some of this as a suggestion on makerworld enhancements. Also I am hoping the v2 BL printers introduce something like automated nozzle swapping to eliminate a fair bit of the purge, or even bigger build plates which would mean more room for purge-to objects.
Have made a start on developing some python scripts to analyse the layer by colour extrusions from the GCODE generated by Bambu Studio.
The main objective of the scripts is
a) To automatically select appropriate purge-to objects to go with each multi colour print.
b) If appropriate re-scale purge-to objects slightly so that their layer/filament usage profile better matches the multi colour object purge requirements.
Will probably handle the list/pipeline stuff just with multi plate file and folder naming and moving completed prints around.
I have made a start on the scripts and have successfully managed to process the G0,G1,G2 and G3s to different types of extrusion lengths - and I am getting figures fairly close to those shown by BS.
My ultimate short term target is to be able to create a plate of these models that is completely waste purge free - with all of the colour swap purging going into random multi coloured tree decoration globes and dummy xmas present boxes.
Good progress made on analysis of gcode, gcode.3mf and project 3mf files.
Think the best way to hold the queue of potential purge-to objects is in a few multi plate project 3mf files, with associated gcode.3mf files for analysis.
Can the use the ‘printable’ attributes in 3dmodel.model to keep track of which objects have already been printed, plus also potentially the opposite way around in a version of the file to be imported into the multi colour plate.
Managed to also patch the gcode in gcode.3mf files - so should if required be able to resolve the 3+ colours purge to object issue with post processing
Also managed to set the extruder values in model_settings.config in project 3mf’s to the correct colours automatically based on the stl naming - which will be very useful for other projects too.
Will create a separate standalone macro for this.
Also found some slightly odd behaviour in BS re F360 generated multi colour 3mf files. If you File/import the 3mf’s then the individual parts come is as coloured in the correct colour groups - but not the correct colours. However the alignment of the parts is lost. If instead you import the parts via the add button all colouring defaults to 1 - but you do get the objects correctly aligned if you specify multi part object.
Update 30/9. Upon further testing good news - the having to pre-colour purge-to objects issue I expected to have doesn’t seem to be a problem.
Also 3rd colour on a layer seems to work ok now in Bambu Studio - not sure if it has been fixed or was never a problem.
So focus is now purely of selecting and managing purge-to objects.
Have also added the option into my plans to re-scale them slightly if necessary to get the more expensive layers in the purge-to objects to align better with where the purge is needed.
Attached photos are a fairly extreme example - with auto calculated purge lengths - but by adding additional objects it is possible to get the purge ratio down from the about 150% 30g in this example to less than 0.5g. Or less than 2%.
The slicer still seems to need a tiny 2mm prime tower in order for the purge-to logic to work - so still might look to remove that with some post processing.
Made some very good progress with scripts - managed to:
Write script to easily extract 3mfs
Script to analyse client multi coloured object Gcode, then match it against generated Gcode for candidate purge-to objects
Iterate through the purge-to objects in order of amount of purge they can handle, until overall purge amount <1g
Create a version of the 3mf purge-to project files with just the selected objects marked as printable - so that it can be easily imported
Example of purge-to objects file - with just selected objects marked as printable attached.
Waste free plate example attached - needs quite a lot of purge-to objects due to the 3 colours on the same layer, plus the fact that the purge-to objects don’t have much infill to purge-to
Finally also created a script that takes a plate of cloned objects and automatically resizes them all to different scales - in case some sizes are better for infill - might have to refine the purge-to object selection algorithm so that it doesn’t alway select the biggest objects. Also functional objects that for example have a top flat surface the same height of the most complicated multi coloured layers may end up being better purge-to targets.