Jump to content

Switching colors mid print


Recommended Posts

Posted · Switching colors mid print

Recall that I'm on week 3 (or is it 4, there was some drinking the last week or so) of this adventure and I've decided that I need to print something in 2 colors. Mostly because ... I like to make things hard? That or I need to drink less. I'm not sure why. Any way...

 

Attached is the Cura project. Yes, I built the STL way to big. Using Creality PLA. I have the printer pretty well dialed in with the PLA.

 

This project prints fine in one color. But when I try to print in 2 (using the "change filament" script at layer 29) the new layer doesn't stick. I tried flipping the print and the same result (set filament change to layer 6, use supports with roof (no floor), all other settings the same). I'm sure this is an experience thing so I figure I'll ask the good people (and the aussies) here for some pointers. 

 

Ideas that I think I need to consider:

  • Edit gcode to get layer 29/7 at 210+ for better stick
  • Lower noz 0.1 on 29/7 for even more squish
  • Redesign this thing to use a ring and center that can be glued on via index points
  • Go by blue paint and pretend I'm smart.

 

Open to other ideas.

 

Thanks! 

ThatGuy Coin V3.3mf

  • Link to post
    Share on other sites

    Posted (edited) · Switching colors mid print

    Oi! Been a long time since we were a prison colony. We're decent people, other than those who live in <insert suburb in your capital city with highest percentage of bogans>.

     

    Anyway, printing something in multiple colours is definitely not a fool's errand:

    image.thumb.jpeg.803618202ff2d85431aff7341b083d85.jpeg

    Only eight colour changes! But that's because there's several different heights of white and black.

     

    I've found Creality printers don't always behave when you use the Change Filament script but I use Pause at Height, then when it pauses, hold down the lever, pull the previous colour out, push the new one in until it starts spewing that colour out of the nozzle.

    I use these settings for Pause at Height:

    image.thumb.png.c32cd5f3e41930380a2686d9931cea96.png

    The really important ones are:

    • Disarm Timeout: How many seconds you have from when the print pauses until it disengages the motors (Creality printers seem not to hold them indefinitely). There's a maximum, but I forget what it is. 1800 seconds is half an hour so that gives me a reasonable time frame.
    • Park Print: Use this and set the X and Y coordinates to a corner of the bed you're not using (which for a round coin is any of them). This is where the print head will wait while you change the filament, so 0,0 (the front left corner) works for me.
    • Use M109 for standby temperature?: You want that unticked. M104 will make sure it stays hot.
    • Standby Temperature: Whatever temperature you're printing at.

    PLA should have absolutely no trouble adhering to PLA as long as it's hot enough when you're printing, but silky PLA can be a real pain to work with. Its layer adherence isn't as good as the normal stuff, especially if you're trying to print silky on silky.

     

    Some tips if you're having problems getting the new colour to adhere:

    • If it is silky stuff, that usually needs to print about 5° hotter than other PLA.
    • Print slowly. Most filament spools will have a recommended speed listed on them, go for the bottom end of that. Gives it more time to adhere.
    • You might have to edit the gcode manually for this one, but turn off the fan for the first couple of layers of your new filament. Before the new filament starts you want to insert:
      M106 S0
      and a couple of layers after that:
      M106 S255

    And some thoughts on your ideas:

    • Edit gcode to get layer 29/7 at 210+ for better stick
      • Good idea. The gcode command you'd want for that is M109 S210 (or whatever temp is appropriate, but I wouldn't go any more than ten degrees above what I've already done myself) and then a layer or two later M109 S200 will turn the temperature back down.
    • Lower noz 0.1 on 29/7 for even more squish
      • Bad idea. You'd then have to manually increase the layer above it to get back to the regular height (including increasing the flow) or make every layer above it 0.1mm lower.
    • Redesign this thing to use a ring and center that can be glued on via index points
      • Not a bad idea. More hassle, but lower your chance of failure, especially if you're working with hard to work with materials. If you're going to glue PLA, you want just regular, plain superglue (cyanoacrylate).
    • Go by blue paint and pretend I'm smart.
      • You left the "u" out of "buy" so you might be good at pretending that (or you don't need to pretend and just need a bit more practice touch typing). Would be my last resort, but it's better than not having these cool things to show off.
    Edited by Slashee_the_Cow
    fixed typo
  • Link to post
    Share on other sites

    Posted (edited) · Switching colors mid print

    In your defense, my humor and your humor, and the context thereof, can be easily maligned by those less... abnormal? My brother-in-law is an Aussie. Prison colony status is irrelevant. More apropos to my maligning of your nationality was the exchange up in the Cura software thread regarding the use of obscenity in a response... I felt much better after getting that little joke out of my system when I clicked submit yesterday. Holding a joke like that in is dangerous at my age.

     

    I have noticed that adherence to the bed is less certain with this blue than with the black and white PLA from he same manufacturer. Being new I figured I'd stick to one manu to limit the number of variables and compatibility issues I'd run into. My normal layer 1 is 210/65 with everything after at 200/55. I had difficulty getting solid models to start with blue unless I reduced Z offset by 0.05 for more "smash". This leads me to believe I need to up the noz as my first step as that fixed all my bed adherence issues with this brand of PLA previously. 

     

    Good thing I like staring at enormous gcode files. First thing I'm doing is un-embedding the model image. 

     

    On the filament change advice: thank you! I'll give that a look. I avoided the pause at layer because I'm notoriously inattentive and assumed the Ender would respect the change command. I did notice that the ender just went right into purge vs waiting for me to actually change the filament. I assumed I had set something up incorrectly with the retraction settings. Which brings me to secondary questions:

    • If I told you that I'm running Octoprint (via Octopi) does that change the issues with the filament change script?
    • Is this a better excuse to blow my own version of Marlin or move to Klipper on the ender than that annoying error in Octoprint? 
    • Short of IDEX (because no bowden so no bowden splitter), multiple model+assemble, multi-model+print, and paint it, what other options are available for multi-color? (fusing inline seems like guesswork at best)
    • I wasn't planning to start my enclosure for a bit as my need for ABS is still behind my need to "figure out how this stuff works". Are these types of techniques best done in the protected environment of an enclosure?

    The omission of the U is one of the homonym issues that I've tried to cope with since before folks like me were considered "learning disabled". It has something to do with my reading of what I'm typing being audible in my head vs cognatively seen. This is complicated by the fact that while one voice is reading what I'm typing, the typist is frantically trying to keep up with the voice that is dictating this message. This is complicated by the listing voice ensuring that everyone knows that it is time to make the grocery list. Meanwhile, there's a debate between my various political voices regarding the current state of local, federal and international politics based on one quick glance at the news feed this morning. My engineering team is still working on how to best utilize my spare wimoD1s for the enclosure plans and if 2020 V or T rail is smarter for the structure. Chef voice just started yelling at the lister because we all just traded a bit of work for an entire wahoo/ono (22lbs/10kg) and we need supplies to use that this week and lister isn't getting the message. 

     

    Would I take the meds if I were offered? Heck no. I like my voices. I shove a problem into the grey matter, tell them the criteria, leave them alone with it overnight, and the next day there's almost always an answer. Sometimes it doesn't even take that long. I'm lucky that I was given an environment to develop proper coping and management methods. Not everyone is so lucky. 

     

    But I guess that's why I find FreeCAD and OpenSCAD ... less difficult, I cheat and let a different part of me figure it our. 

    Edited by jaysenodell
  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Often you don't necessarily need "smash", just more plastic - when I'm printing 0.2mm layers I have my first layer at 0.3mm and 150% line width. Bigger surface area = more that can adhere, and changing the Z offset just to solve bed adhesion problems isn't a great idea because it'll affect the whole thing.

     

    16 minutes ago, jaysenodell said:

    I avoided the pause at layer because I'm notoriously inattentive and assumed the Ender would respect the change command. I did notice that the ender just went right into purge vs waiting for me to actually change the filament. I assumed I had set something up incorrectly with the retraction settings. Which brings me to secondary questions:

    • If I told you that I'm running Octoprint (via Octopi) does that change the issues with the filament change script?
    • Is this a better excuse to blow my own version of Marlin or move to Klipper on the ender than that annoying error in Octoprint? 
    • Short of IDEX (because no bowden so no bowden splitter), multiple model+assemble, multi-model+print, and paint it, what other options are available for multi-color? (fusing inline seems like guesswork at best)
    • I wasn't planning to start my enclosure for a bit as my need for ABS is still behind my need to "figure out how this stuff works". Are these types of techniques best done in the protected environment of an enclosure?

    Don't really need any retraction when you just pull out the filament. And don't really need any purge when you just shove it in until the correct colour starts coming out. I don't use the load/unload programs on my Ender-3 V3 SE at all because the machine is an idiot and has managed to melt a hole in its own print bed using those, I just manually heat up the hot end and pull/push.

     

    As for your questions:

    • Nope. OctoPrint just sends the gcode line by line instead of the printer reading it line by line from an SD card. I just wish my OctoPi would shut up about not getting enough power, I've connected it to the highest output charger I have and it still does it.
    • If it ain't broke, don't fix it, and I don't think OctoPrint is broke in this case. Unless you really know what you're doing messing with the firmware is usually more trouble than it's worth. And not even Creality seem to know what they're doing based on my experience having to attempt firmware updates multiple times (hint: as long as it has a different filename to the last firmware you installed, it'll think it's newer).
    • Depends how creative you are:
      • Double sided tape
      • Colouring markers (less messy than paint, no drying time)
      • Get someone else to do it
      • Convince whoever you give it to they must be colour blind
      • Buy a multi-extruder printer
      • Frankenstein your existing printer with a second extruder
      • Dremel/rotary tool (put a sanding belt on, it'll actually heat up the plastic beyond its melting point)... wear a mask unless you want plastic dust entering any orifice it can reach and yes I have done this before but I was actually trying to remove the top layer from a multicolour print because I'd used the wrong colour... technically it fulfilled the job, practically the result wasn't exactly pretty
      • Print it all the same colour and blame the nearest child under 10 for accidentally dropping it in paint
        • Actually drop it in paint so when it starts to chip off your story is more believable and you can say the paint must have just dissolved the second colour
    • For PLA, shouldn't make a huge difference, it's pretty blasé about the ambient environment, unless you're in an Antarctic research base (buy a printer with a heated enclosure) or sitting next to a lava pool in an active volcano (sorry, it's already probably too late to save yourself). You can even print PLA on an unheated bed (but it's much easier if the bed is heated).
      • ABS is nothing to get excited about, really. It's barely any stronger than PLA, maybe a little less brittle, it's a hassle to print both because it warps easily (hence the need for a tent) and the adhesion sucks (seriously, I've had it not adhere to itself mid-print, and then because it was unsupported, warp even though it was in a tent). It also stinks (literally as well as the figuratively I just explained) and the fumes are literally poisonous (set up an exhaust fan before you open your tent).
      • An enclosure can make some things harder purely because I'm a giant who has to hunch and get my giant hands in around to do stuff. Also I have no depth perception so you really don't want to know how long it takes me to find the nozzle when I want to stick a nozzle cleaner up there.
  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    @Slashee_the_Cow, All good info. I just ran the calibration cube using filament change and Creality hates it. So yeah. doing that over. Used my normal 210/65 --> 200/55 for blue/white. Will try this again with white blue only other change being to switch to pause at layer. Also, the filament run-out sensor forces a purge. Makes a noz wipe hard but... 

     

    Open to any other tuning you see. I've done very little to make it "pretty print" at this point. 

    IMG_2083.jpeg

  • Link to post
    Share on other sites

    Posted · Switching colors mid print
    5 hours ago, Slashee_the_Cow said:

    Often you don't necessarily need "smash", just more plastic - when I'm printing 0.2mm layers I have my first layer at 0.3mm and 150% line width. Bigger surface area = more that can adhere, and changing the Z offset just to solve bed adhesion problems isn't a great idea because it'll affect the whole thing.

    Not to focus on just one thing, but where do I find this combination of magic? I see nothing that allows me to adjust more than "bottom thickness" which has 4 layers (therefore 0.2mm thickness/layer). Nowhere can I see a place for a width on lines. I very much want to move my snozel up from the bed as I keep getting dragging over the print. I'm way closer to the bed than the 0.1mm. I assume I'm just under extruding based on the info you provided but am not sure how to set that for just the one layer. 

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    In other news, if you install the material manager as suggested earlier, you suddenly see that you can set these in material settings. Which means they are probably hidden from me as have profile settings filtered to "advanced" not expert/all. 

     

    I have set this for my "adventure in red" (rpi case top for a 40mm fan so shut it up about temp). I'll recall my Z to a bit more reasonable 0.1mm and see what sticks. 

  • Link to post
    Share on other sites

    Posted · Switching colors mid print
    4 hours ago, jaysenodell said:

    Not to focus on just one thing, but where do I find this combination of magic? I see nothing that allows me to adjust more than "bottom thickness" which has 4 layers (therefore 0.2mm thickness/layer). Nowhere can I see a place for a width on lines. I very much want to move my snozel up from the bed as I keep getting dragging over the print. I'm way closer to the bed than the 0.1mm. I assume I'm just under extruding based on the info you provided but am not sure how to set that for just the one layer. 

    We're talking the first layer here, nothing to do with top/bottom. It's under Quality > Initial Layer Height. Sorry, I've just had all settings visible for so long I can't really remember what's visible by default. Initial line width is there too.

     

    If you're actually dragging over the print, then yeah, you really need to change the Z offset. I usually go slightly lower than 0.1mm (roughly 0.08 most of the time, but it's really something you have to fine tune for your own printer). The classic test is to use a piece of paper, set the Z position to 0 and then for each corner in turn (then the home position) you put down the paper and move the nozzle over it (disable your stepper motors first). You should be able to feel the nozzle drag a little bit on paper, but it should still be able to move, and it shouldn't pull the paper along with it. 0.1mm is about your average piece of printer paper, I usually use something a bit thinner (depending on what I have laying around, sometimes a receipt, sometimes the non-stick baking paper you can buy), or if you want to feel right properly scientific you can buy a feeler gauge (which I'd love to make a joke about but all the ones I can come up with are definitely NSFW).

     

    If your nozzle is too low, then you're right, you're probably underextruding. There's just not enough room to get all the plastic out through the nozzle at the flow rate. Bad for adhesion, bad for print quality, great way to clog nozzles! You're also probably damaging the nozzle in the process of dragging over the print. Your average ones are made of brass, which has good heat transference but isn't the hardest metal in the world. They wear out under normal use, they wear out a lot more if you're doing it wrong. If you have a nozzle cleaner, next time you've got the hot end temp up but no filament loaded (and you've purged what you had) you should stick the cleaner up there and see if there's anything in there. If you don't have a nozzle cleaner, good news, you now have an excuse to buy one. They're just really thin bits of metal and I usually have to poke around for about five minutes before I find the hole in the nozzle but if you're not me you probably have depth perception so it's a lot easier. Hint: get the printer to raise the Z to its maximum height so you have plenty of room to get underneath and find it.

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Heads up: just tested my first multicolour print with OctoPrint. By default it blocks the M0 command and just pauses itself - this means you have to use the OctoPrint interface to resume the print, not just pressing the button on the printer.

     

    Since the button on the printer is a hell of a lot closer to the printer than whatever I'm using to control OctoPrint, I dug through the settings and found how to change that. In the OctoPrint settings, it's under Printer > Serial connection > Firmware & protocol > Blocked commands and defaults to M0 and M1 (they do the same thing), just clear that field, save the settings, and get OctoPrint to disconnect then reconnect to the printer.

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Also discovered, if you're using the PauseAtHeight script to change colours, OctoPrint won't tell you the time until the next colour change because it only looks for M600 commands.

     

    I found a plugin called TimeToFilament which lets you use custom RegEx *shudders* to mark filament changes.

    Anyway, install the plugin (it requires another plugin called PrintTimeGenius), go into its settings, open the advanced settings, change the RegEx for Time to Next Filament Change and Time of Next Filament Change to:

    ^M600|^;script: PauseAtHeight.py

    And then for Time to Next Filament Change in Format (UI) box change it to:

    Filament change in <b>${formatDuration(this.progress.printTimeLeft - this.plugins.TimeToFilament["^M600|^;script: PauseAtHeight.py"].timeLeft)}</b>

    and the Format UI box for Time of Next Filament Change to:

    Filament change at <b>${new Date(Date.now() + (this.progress.printTimeLeft - this.plugins.TimeToFilament["^M600|^;script: PauseAtHeight.py"].timeLeft)*1000).toLocaleTimeString([], {hour12:false})}</b>

    Or if you want some flexibility and are going to consider every M0 a filament change (or every M0 a time when you want to manually intervene, anyway), you change the RegEx to:

    ^M600|^M0

    And then change the format boxes to match (if you've made it this far and your eyes haven't glossed over you should be able to figure out what to change those to).

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Yeah, Octo has some issues with control. Looking through the git repo it's about signaling back to octo that the change is complete. That said, the octopad app on my phone reduces my need to walk between the printer and the control station for now (since the printer will be moving to that location shortly) as well as "should" provide remove notification that "printer needs you" notice from octo once I can figure out how to stick that in the gcode via cura. 

     

    The big thing I'm running into with the M600 is that the S1P never pauses as the "filament runout" sensor automatically says "I'm fine" and it just goes right into a snoz purge. I'm going to do a quick set of test code (line, filament change, line) until I figure out the magic sequence. 

     

    This may be death knell of the default ender firmware though. That or I'll need to feed that sensor into the pi GPIO as well as send a fake signal from the pi to the ender to provide "status" to the ender... Oh! there's and idea! If I stick an intercept on that line, if octo get a M600, it can trigger a "filament out' signal to S1P. S1P fires the default swap routine. Load next filament, click resume on S1P interface and we are using hardware interrupts vs software. 

     

    that seems like a lot of work as well as a hardware mod. I'll need to think about if I want to do that. 

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Stupid "we are special" firmware... Creality has crippled the Ender 3 S1Pro firmware and thinks to a custom LCD and high temp nozzle they seem to be getting away with not releasing patches ot the OOS marlin to allow blowing your own on the board. To make matters worse, they don't just ignore "some" standard gcode, but basically any of the UI stuff based on my simple test script today (see attached). 

     

    The most frustrating part of me is that I can't even use octoprint's pause/resume functions to cheat this into working as the current firmware doesn't report positions in a properly parsable manner. 

     

    grrrr.

     

    Code should be self-explanatory. Things that "don't work" on the ES1P don't work when run from SD or via Octoprint. 

    filament-swap-test-octo.gcode

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Ignoring M117 messages entirely does piss me off. If I'm printing from OctoPrint over USB, the printer just stays on the home screen the whole damn time. There's an OctoPrint plugin called "Printer Display" (I think, you might just have to search for it) which will display what is supposed to be on the printer's screen (i.e. whatever's sent to it with M117) which I usually have to look at to see what colour I'm switching to (except for simple prints where I can remember the order).

     

    I don't have issues with M300 (either on the E3V2 Neo or the E3V3SE), try leaving out the S parameter. The important part is that it beeps, the frequency doesn't matter. As well as Creality firmware sucking, it's possible the speaker just doesn't go that high. Though those are newer than the ES1P (I think) so I don't know how different they'd be.

     

    I haven't actually investigated third party firmware because I've gotten it to a point where it basically works, in that I can get it to do what I want it do without too much fuss, and if it ain't broke (too much), don't fix it.

     

    Shame they make decent hardware at a decent price but are let down by the software. Actually much like a lot of Android phones from Chinese companies. I had a Mi 9T that was working fine but the software was pissing me off so much even after I flashed a custom ROM that I just went out and bought a Pixel 6a to replace it.

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Thing is, it doesn’t work. If I’m using features that are supposed to work and they don’t then it is, by definition, broken. And to “make it work”,  have to use feature reduced, non portable output generating, antiquated versions of OSS that is now branded “proprietary” and closed sourced. 
     

    At some point Creality is the reason that people should build their own printers. 
     

    That said, I’m not against enhancements within a platform. But flat out ignoring core gcode is like making a car and forgetting to put in a brake peddle. Or and accelerator peddle. Yes I’m nuts, but the idea of multi-color via layer switching is kind of critical for no particular reason. 
     

    Thank for the tip on the plugin. I’ll try that and see if the octopod app picts it up. If so maybe I won’t need to go entirely down the rabbit hole of gutting this brand new printer. 

  • Link to post
    Share on other sites

    Posted · Switching colors mid print
    11 minutes ago, jaysenodell said:

    Thank for the tip on the plugin. I’ll try that and see if the octopod app picts it up. If so maybe I won’t need to go entirely down the rabbit hole of gutting this brand new printer. 

    The thing's brand new? Take it back to wherever the hell you bought it from and demand a refund.

     

    If you need a reason, look in the instruction manual: the E3V3SE's manual (which came out in August) says the slicers it'll work with are Creality Print, Cura 5 and above and Simplify3D... the profile (which is a community contribution, not one provided by Creality) wasn't included until 5.6 which came out at the end of November.

     

    But if your manual says you can use Cura then you can honestly say that you're using Cura and it's not printing properly. I don't know where you are or what the consumer laws there are like (they're great down here) but I'm sure if you threaten to make enough of a fuss something might happen.

     

    ...or something might not happen, which is why I'm taking a camera store to a government "Administrative Tribunal" because they didn't send me a lens which was (according to them) erroneously listed as free on their website so I ordered it. Pettiness level is variable.

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    I’m 50/50 on just making it work. Acquired via Amazon so I can probably just say “unhappy” (and I have a couple real reasons) and credit for something else. If this display trick works I think I’ll be set. I don’t mind using my phone for the interface. And I actually prefer Octo over the LCD. I do like the LCD for the hardware adjustments for Z and such. Can probably do that in octo. 

  • Link to post
    Share on other sites

    Posted · Switching colors mid print
    17 minutes ago, jaysenodell said:

    I’m 50/50 on just making it work. Acquired via Amazon so I can probably just say “unhappy” (and I have a couple real reasons) and credit for something else. If this display trick works I think I’ll be set. I don’t mind using my phone for the interface. And I actually prefer Octo over the LCD. I do like the LCD for the hardware adjustments for Z and such. Can probably do that in octo. 

    Not sure you can actually adjust the Z offset permanently via a terminal. M206 lets you apply an offset to the home position, which you can save with M500 and load with M501, but I don't know if the printer will automatically load it after a power cycle. Or just decide to override it entirely (this is Creality we're talking here). There's an OctoPrint plugin called "Marlin GCode Documentation" that appears on the terminal page, when you start entering a command it'll show you all the parameters for it, or you can use it to search for a command.

     

    On the other hand, Amazon are usually pretty decent. I just always hope they don't look at my history and see that I'm up to having returned 3 printers (an E3V2 Neo and E3V3SE both killed by crappy filament - not the same crappy filament, of course, I got a refund on the filament too, and an E3V3SE killed by its own stupidity).

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    Just discovered the Ocotprint plug-in. My workflow just got lazier. Also seem to have a semi-functional solution. Once I verify with a repeat of the coin print I'll drop it here for all to see. 

  • Link to post
    Share on other sites

    Posted (edited) · Switching colors mid print

    @Slashee_the_Cow has the solution up there somewhere. Not sure which one is the answer but here is the long winded fix.

     

    Creality firmware is the general problem. The Ender 3 S1 Pro (E3S1P) is particularly egregious as it intercepts more gcode that other Ender models under Creality's "proprietary code" claims for the LCD.  This can be worked around with the following not so uncomplicated but not terribily difficult path.

     

    I freely admit that this is a very specific solution for E3S1P but should be usable for any crippled device that accepts the basic gcode commands.

    1. Octoprint/Octopi -- this is to provide all the logic that Creality simply won't let you do in gcode proper. Specifically respecting things like M0, M600, M300, M117, etc. Start with a plain vanilla setup. Just get the E3S1P connected and communicating. 
    2. Install Octoprint plugin DisplayLayerProgres -- this let's you send messages to yourself from gcode (more on this later)
    3. Install Cura extention Octoprint Connection -- This makes it super simple to get "stuff" to octoprint. Not needed but recommended
    4. Make sure you have Pause at Height installed in Cura. If not get it. 
    5. Set up your printer to connect via octprint -- Not needed but again, simple.

    At this point you are ready to go, but you have to do some things with each run of the slicer that needs a color change.

    1. Make sure your project is ready
    2. Slice it.
    3. Figure out which layer gets the change
    4. Add the Pause at Height script to post process
    5. Open the setup for the script
      1. Method must be Repeater/Octoprint
      2. Check keep motors egaged
      3. Check park heads
      4. THIS IS FOR E3S1P!!!  I recommed X0, Y0, Z15 in the park location. Creality will move the table once you trip the runout sensor but nothing else should move.
      5. Set your message after the M117 in the field GCode before pause. You need to enter the M117... EX: 
        M117 Change Booger string to Blue
      6. Close the dialog
    6. Slice again. 
    7. Save to disk so you have the GCode
    8. Get it to Octoprint
      1. If you installed the extenstion
        1. Change the "save to disk" to "Print with Octoprint"
        2. Enter the right path and file name
        3. Decide if you want to launch no or later
        4. Click
      2. Up load the file via web interface. 
        1. Login
        2. Go to files
        3. Upload it. 
      3. Place file in Octo's watched folder: This is an advanced interaction with Octo so the instuctions here are thin... 
        1. Access the configured "watched" folder
        2. Put the gcode file into watched.
        3. The file will now be in Octoprints web UI, Files section, root folder.
    9. Print (if you didn't auto start it above).

    The only issue I'm having is snot from the purge getting stuck in my prints. I think this is a need for some type of wipe script in the after section but I'm not sure. Open to advice. 

     

    Thanks for the help S_T_C.

     

    @GregValiant I won't comment on the G0 vs G1 for transport. The plugin certainly has fixed my Creality frustration (for now). I as soon as I can figure out a wipe method for post change it might be worth adding since it seems more than a few of us are using your script for color changes.

    Edited by jaysenodell
  • Link to post
    Share on other sites

    Posted (edited) · Switching colors mid print
    50 minutes ago, jaysenodell said:

    The only issue I'm having is snot from the purge getting stuck in my prints. I think this is a need for some type of wipe script in the after section but I'm not sure. Open to advice. 

    Create a support blocker the height of your print (and maybe make it a little wider, though it doesn't have to be huge) somewhere on your build plate (preferably near where it parks) then use Per Model Settings (above the support blocker icon in the toolbar) to set it to Print as Support (the second icon). Support will always print before the rest of the model for each layer.

    Credit to @GregValiant due for teaching me that one.

     

    It's also a cool way to visualise the layer-by-layer colour changes:

    image.thumb.jpeg.32247f0f157a6c1db5adc3fee42bd0ae.jpeg

    Edited by Slashee_the_Cow
    fixed typo
  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    @Slashee_the_Cow, I'll give that a shot

     

    section 8.2 has a new section... you can scp/smb your file to Octoprint by droping into the "watched" directory. This requires some figuring out. If you are at the point of wanting to do this, you probably know how to figure it out. But I'm willing to provide more info if needed. 

  • Link to post
    Share on other sites

    Posted · Switching colors mid print
    1 hour ago, Slashee_the_Cow said:

    Create a support blocker the height of your print (and maybe make it a little wider, though it doesn't have to be huge) somewhere on your build plate (preferably near where it parks) then use Per Model Settings (above the support blocker icon in the toolbar) to set it to Print as Support (the second icon). Support will always print before the rest of the model for each layer.

    Credit to @GregValiant due for teaching me that one.

     

    It's also a cool way to visualise the layer-by-layer colour changes:

    image.thumb.jpeg.32247f0f157a6c1db5adc3fee42bd0ae.jpeg

    That is a nifty trick. I'll need to play with it a bit. Initial run had some issues with long travel pulling the support off the bed due to the "snot" that i'm trying to keep off the main part. I think the problem is creality's purge post change (m600 triggered by the filamnet runout sensor). You get a massive "clump" because of what I believe is an over preasure in the nozzel.

     

    What I'm was thinking would be "a neat trick" is another run of the first line that prints right after the bed and nozzel heat up. This may be a thing I have to put into Octo as an custom action command or something. Basic logic:

    1. Get current pos; store as parkLoc
    2. Run "first line code" X+(cntChanges*0.2mm)
    3. Load parkLoc
    4. Return parkLoc
    5. cntChanges++
    6. Resume execution

    Not sure any of that is reasonable but it's what I'm thinking.

  • Link to post
    Share on other sites

    Posted · Switching colors mid print

    I think I have that kind of figured out. 
     

    IMG_2097.thumb.jpeg.0e94a86328d4eb30540c790717e6d090.jpeg
     

    You can see the “snot” that only shows up after the “resume” is executed. The second the extruder head moves that 20mm extrusion shows up. The only thing I see in the gcode is the return to absolute E followed by 

     

    G92 E153.0338

     

    Does that seem right?

  • Link to post
    Share on other sites

    Posted (edited) · Switching colors mid print
    2 hours ago, jaysenodell said:

    The second the extruder head moves that 20mm extrusion shows up. The only thing I see in the gcode is the return to absolute E followed by 

     

    G92 E153.0338

     

    Does that seem right?

    It depends on what the E value was before, and if you're using an M600 filament change or just a pause and unloading/loading manually. But if it's done relative extrusion since the last line with an absolute value, the absolute value it sets afterwards should be previous absolute value + relative extrusions. Problem is if the printer is purging automatically or something you might not know how much it's purging or if that's even counting towards the E value.

    Edited by Slashee_the_Cow
  • Link to post
    Share on other sites

    Posted (edited) · Switching colors mid print

    @GregValiant, I have it down to the Pause on Height script recovering the E position. I create a simple "2 layer" square and put a pause in the middle. You can see the reset of E after the recovery in the "2layer pause at height.gcode" file line 184. I'm not saying the fault is in the script because...

     

    My understanding of the G92 is that it isn't supposed to MOVE the extruder but that is tells Marlin "please consider the extruder position is currenly X nd treat it as such". I believe Creality has overridden this behavior becuase ... why not? Do I properly understand G92? The Marlin docs present it similar to the grbl gcode I use for CC work. 

    2 layer no change.gcode 2 layer pause at height.gcode

    Edited by jaysenodell
  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...