Jump to content
UltiMaker Community of 3D Printing Experts

A question about Layer Cooling Fans


GregValiant
Go to solution Solved by Cuq,

Recommended Posts

Posted · A question about Layer Cooling Fans

Hello to all.

I don't have a multi-extruder printer to play with so I'll ask.

Consider a Dual Extruder printer with separate layer cooling fans for each hot end.  Here is a code snippet:

T0

M106 S255 P0

(...)

T1

M106 S255 P1

What is the T0 fan speed at this point?  Did the tool change automatically turn it off?  Cura does not seem to turn fans off at tool changes.

 

Slightly different:

T1

(...)

T0

M106 S255

What is the T0 fan speed here?  Does the M106 act on the Active Extruder or would it require the P parameter to explicitly call out the fan number?

 

Some clarification would be appreciated.  Google and MarlinFW has not been much help.

  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans

    This really depends on the firmware configuration settings.. and the hardware configuration..
    Lots of "cheap" idex or dual extruder machines have the part cooling fans linked to the same header.. so they are both on or both off. 

  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans

    Thanks Dustin.  That's what I was thinking.  Pulling a running fan around an area (or for layers), that don't need/want cooling probably isn't a good idea but adding a second fan port might have cost .10 Euro.

    • Like 1
    Link to post
    Share on other sites

    Posted (edited) · A question about Layer Cooling Fans

    I have another couple of questions regarding Cura...

    I want to get the "initial_extruder_nr" from Cura in a post-processor.  Getting the "extruders_enabled_count" would be a bonus. 

    What do I need to import?

    What would be the syntax?

    Edited by GregValiant
  • Link to post
    Share on other sites

    • Solution
    Posted · A question about Layer Cooling Fans
    from UM.Application import Application
    
    extruder_count=Application.getInstance().getGlobalContainerStack().getProperty("machine_extruder_count", "value")

     

  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans

    I have another question.  I've been playing with a post for altering Z-hops.  I want it to exit when Z-hops are not enabled in Cura (or adaptive layers are enabled, or extruder count >1, but those are OK).

     

    ("extrud" is the extruderlist)

    When Z-hops are enabled in Cura

    retraction_hop_enabled = (extrud[0].getProperty("retraction_hop_enabled", "value"))

    results in 

    retraction_hop_enabled = True

    but when Z-hops are disabled in Cura it results in:

    "TypeError: 'NoneType' object is not subscriptable"

    and exits.

    I have tried several things but I've been unable to get around this so any help would be appreciated.

     

    (My normal system of blindly pushing buttons until I find one that works has let me down.)

     

     

  • Link to post
    Share on other sites

    Posted (edited) · A question about Layer Cooling Fans

    Certainly something wrong in your code but without relation with your analyse.  It works event if Z hop are not Enable.

     

    from UM.Message import Message

    from cura.CuraApplication import CuraApplication

     

    global_container_stack = CuraApplication.getInstance().getGlobalContainerStack()

    extruder = global_container_stack.extruderList[0]

    retraction_hop_enabled = extruder.getProperty("retraction_hop_enabled", "value")

    Message(text = "retraction_hop_enabled : {}".format(retraction_hop_enabled)).show()

     

     

    Capture.GIF

    Edited by Cuq
  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans

    "Certainly something wrong in your code."

    Cuq, putting it up here where everybody can see that I'm banging rocks together isn't helping my self-esteem.

     

    I had "UM.Application" instead of "Cura.CuraApplication".  Curious that it worked with "True" but not with "False".

  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans
    from UM.Application import Application
    
    global_container_stack = Application.getInstance().getGlobalContainerStack()

     

    or 

     

    from cura.CuraApplication import CuraApplication
    
    global_container_stack = CuraApplication.getInstance().getGlobalContainerStack()

     

    Should give the same Result , But I think it is better to use CuraApplication

  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans

    It's still broken.  Adaptive Layers has also caught the bug.  

     

    retraction_hop_enabled = extruder.getProperty("retraction_hop_enabled", "value") 

    and

    adaptive_layers = global_container_stack.getProperty("adaptive_layer_height_enabled", "value")

    Everything else seems fine and works as expected.  

     

  • Link to post
    Share on other sites

    Posted · A question about Layer Cooling Fans

    It ended up being my "return" line.

    I used a simple "return" figuring it would exit gracefully.  Wrong.  A simple "return" implies "return None" and it wasn't the post-processor that was complaining, it was Cura when the None came back instead of the data.

    Using "return data" makes it all good again even though nothing was done to the data.

     

    Once again, much thanks.

  • 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.3 stable released
        In this stable release, Cura 5.3 achieves yet another huge leap forward in 3D printing thanks to material interlocking! As well as introducing an expanded recommended print settings menu and lots of print quality improvements. Not to mention, a whole bunch of new printer profiles for non-UltiMaker printers!
          • Thanks
          • Like
        • 28 replies
      • Here it is. The new UltiMaker S7
        The UltiMaker S7 is built on the success of the UltiMaker S5 and its design decisions were heavily based on feedback from customers.
         
         
        So what’s new?
        The obvious change is the S7’s height. It now includes an integrated Air Manager. This filters the exhaust air of every print and also improves build temperature stability. To further enclose the build chamber the S7 only has one magnetically latched door.
         
        The build stack has also been completely redesigned. A PEI-coated flexible steel build plate makes a big difference to productivity. Not only do you not need tools to pop a printed part off. But we also don’t recommend using or adhesion structures for UltiMaker materials (except PC, because...it’s PC). Along with that, 4 pins and 25 magnets make it easy to replace the flex plate perfectly – even with one hand.
         
        The re-engineered print head has an inductive sensor which reduces noise when probing the build plate. This effectively makes it much harder to not achieve a perfect first layer, improving overall print success. We also reversed the front fan direction (fewer plastic hairs, less maintenance), made the print core door magnets stronger, and add a sensor that helps avoid flooding.
         

         
        The UltiMaker S7 also includes quality of life improvements:
        Reliable bed tilt compensation (no more thumbscrews) 2.4 and 5 GHz Wi-Fi A 1080p camera (mounted higher for a better view) Compatibility with 280+ Marketplace materials Compatibility with S5 project files (no reslicing needed) And a whole lot more  
        Curious to see the S7 in action?
        We’re hosting a free tech demo on February 7.
        It will be live and you can ask any questions to our CTO, Miguel Calvo.
        Register here for the Webinar
          • Like
        • 18 replies
      • UltiMaker Cura Alpha 🎄 Tree Support Spotlight 🎄
        Are you a fan of tree support, but dislike the removal process and the amount of filament it uses? Then we would like to invite you to try this special release of UltiMaker Cura. Brought to you by our special community contributor @thomasrahm
         
        We generated a special version of Cura 5.2 called 5.3.0 Alpha + Xmas. The only changes we introduced compared to UltiMaker Cura 5.2.1 are those which are needed for the new supports. So keep in mind, this is not a sneak peek for Cura 5.3 (there are some really cool new features coming up) but a spotlight release highlighting this new version of tree supports.  
          • Like
        • 22 replies
    ×
    ×
    • Create New...