GregValiant 1,410
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.
- 1
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.
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 GregValiantfrom UM.Application import Application extruder_count=Application.getInstance().getGlobalContainerStack().getProperty("machine_extruder_count", "value")
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.)
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()
Edited by Cuq
"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".
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
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.
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.
Recommended Posts
Dustin 175
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