I have only one extruder printer. Edit Gcode manually is compliacated, but possible, I will try it, thanks
If I understand right you are trying to make layers a different color? So like the first 10 layers grey then change the next 5 ect.
If so goto the extensions menu then post processing. Then add a filament change. Be sure that you insert the correct layer. You want the very first layer that should be the new color and not the layer previous to your color change. You can keep adding more of these for each color change you want.
It adds an M600 into the g-code (assuming your printer supports this is a change filament code). Printer will wait for you to change the filament with the build plate hot.
GregValiant 1,409
I was thinking (scary, I know)...if you install a Geeetech A20T in Cura it's a three extruder printer. You can set it up with the shared nozzle and shared heater (in Printer Settings) and set all the material standby temperatures to your printing temperature, and then when you slice, the Gcode will reflect where you need to hand code. T0, T1 and T2 will be located in the code where you need to make color changes. Many changes will be mid-layer. You would need to sync the XYZ and E locations every time so it will still be tedious but searching through the gcode for every change location would be a lot mor tedious and it would be easier to make mistakes.
I checked a simple 3 color print and there were 260 tool changes (in 253) layers and each one would need hand coding for the color change. They would all follow the same form but none would be identical and a typo could ruin your whole day. I know yours won't be that complicated but still...
Cyano-Acrylic Super-Glue. It works well. It's simple and easy to understand. It would only require 1 color change during 1 print and none in the other.
GregValiant 1,409
@pmp and @woodworker2001
I spent some time playing with this concept of "mid layer pausing" to change colors. What I came up with is a method to manually emulate a dual extruder printer. I think it shows promise for prints with limited tool changes. I sliced a dual color 3d Benchy and there were 177 tool changes that become manual filament changes. That would be no fun.
In Cura I have a "Virtual Ender 3 Pro" configured for up to 4 extruders as a "multi-in and 1 out" machine. Shared Nozzle, Shared Heater, no retraction at tool change, all standby temperatures are set to printing temperature.
By playing with the settings (retraction at tool change is an example) I'm able to get it to change tools with no waiting for heating, or cool down - it switches tools and goes right to work (virtually of course). I configured it with three extruders for testing and the model is kind of like the one in PMP's pictures. The key is that "Search and Replace" allows for multi-line replacement strings using the "\n" newline characters.
I brought 3 models into Cura and assigned extruder 1 to model A and extruder 2 to model B and extruder 3 to model C.
I add (1) instance of the Cura "Search And Replace" post-processor for each extruder.
In one "Search box" was T0 and in the Replace box was this:
;\n;Color Change\nT0\nM84 S1000\nG91\nM83\n;G1 E-5\nG1 Z10\nG90\nG1 X0 Y0 F7200\nM118 COLOR\nM300\nM0\n;G1 XY ;Return to XY\n;G1 Z ;Return to Z\nM82\n;End of Color Change\n;
In the second search box was T1 and in the third search box was T2. The replacement strings were the same as for T0.
So Search and Replace inserts this snippet into the Gcode whenever there is a tool change. You may notice that it is much like the Pause at Height code inserted by that plugin. There are only so many ways to do this:
;
;Color Change
T0 ;All the tool changes are now T0 as a single extruder machine will pick up other tool numbers as errors.
M84 S1000 ;Stepper timeout set to 1000 seconds
G91 ;Relative positioning
M83 ;Relative extrusion
;G1 E-5 ;Retract 5mm - some prints need this additional extrusion and some don't
G1 Z10 ;Move up 10mm
G90 ;Absolute positioning
G1 X0 Y0 F7200 ;Move to the left front corner
M118 BLACK ;M118 sends a response from the printer back to Pronterface or other control software set up to receive.
M300 ;Beep
M0 ;Pause
;G1 XY ;"Return to" XY location (if required) is manually pasted in. It's the last XY location before the pause. - some prints need this and some don't
;G1 Z ;"Return to" Z location also might need to be pasted in. It is the last Z location before the pause. - some prints need this and some don't
M82 ;Absolute extrusion
;End of Color Change
;
The very first occurrence of the "T" command occurs before the startup gcode and will need to have the pause lines removed as it doesn't need them.
I did use the prime tower and it needs to be located near the "park" position to keep stringing off the print.
All-in-all I was pleased with how the print came out. I really expected clumsier transitions but they come out well with little to no blobbing. The bottom line is that this shows promise at least for those projects that don't require a boat load of tool changes. I know some printers don't support the M0 command, but there are other commands that could work. It's just a glorified copy-and-paste routine but it takes nearly all of the tedium out of doing something like this (although you do have to sit there and wait for filament changes).
- There were "extra" filament changes to color 1. It would do the prime tower and then there would be an immediate color change to the next color.
- Things rapidly got confusing as to which color to change to and so I added the M118 line as I use my own bit of software to monitor the printer at all times. I tried M117 to send the color to the LCD but it was immediately over-written by "Click to resume" from the M0 command so M117 didn't work for me. I would highly recommend having Pronterface running so the M118 will send the message back to the computer.
There is no doubt that this will take practice. I was able to print the files with no hand coding beyond removing that very first Pause code from the front of the file.
I am now fully proficient at trimming and loading filament.
@GregValiant That is cool. I had not considered the idea of the filament change being during the same layer. I have a Prusa mk3s with mmu2s, but use prusa slicer for that. This is pretty cool and some neat programing you have come up with here!
GregValiant 1,409
Thank you @woodworker2001. This is hot off the printer. It still needs the windows and curtains and so forth. All in all I'm pleased but I wish I would have dried the silver first (it's a little blobby in person). Now there isn't enough left for another Airstream. We belong to the Tin Can Tourists and I sell these with a set of drink coasters (for a pittance) at our vintage trailer rallies. Ours is a 1972 Shasta Compact.
But my hands are tired of pulling, pushing, and trimming. There were 66 color changes in the silver trailer and only 8 in the rainbow one (my previous record holder). The process worked though and there was no hand coding. I think I'll put this process in the toolbox and bring it out for special occasions. The constant filament changing got real old real fast. The trailers are shells with no infill and no internal support so the layer time is short. Filament changes were every 30 seconds or so.
BTW I checked in fdmprinter.def.json and the max number of extruders is 16. I think trying something with 16 extruders would define "tedium ad nauseum"
- 1
Recommended Posts
GregValiant 1,409
Cura works layer-by-layer so...
With a single extruder printer, this would require much hand coding of the Gcode.
With a Dual extruder printer there would still be a manual color change from light blue to dark blue.
With a 3-in-1-out hot end this could be printed as you describe.
If you were to print the gray parts ahead of time, and then print the light blue and dark blue pieces as 1 part with a color change, then the pocket would be there to glue in the gray pieces.
When I print things like this I just allow the gray part to extend all the way out to the outside. That way it's just another color change (light blue to gray to dark blue). Yes, the outside would show a gray stripe - but for most pieces it doesn't matter.
Link to post
Share on other sites