S3D-Alex
Posts: 224
Joined: Thu Aug 30, 2018 1:23 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Tue Feb 05, 2019 10:09 am

wirlybird wrote:
Tue Jan 29, 2019 12:15 pm
Great info, thanks.

It would seem however that if a layer fan speed is set to zero "0" for any particular layer or segment of layers that that would be the ultimate override.

Or does setting a "0" fan speed for any particular layer all ready override all other fan controls?
I understand where you are coming from with that thought. Much like the way the speed modifier works where if a layer is going to be printed too fast it will be slowed we thought the fan modifier should work the same. Allowing the Fan Overrides to control every layer makes the logic consistent throughout these areas of our software.

Please let me know if you have any other thoughts or questions about this.

wirlybird
Posts: 1171
Joined: Sun Jul 17, 2016 1:32 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Tue Feb 05, 2019 10:41 am

S3D-Alex wrote:
Tue Feb 05, 2019 10:09 am
wirlybird wrote:
Tue Jan 29, 2019 12:15 pm
Great info, thanks.

It would seem however that if a layer fan speed is set to zero "0" for any particular layer or segment of layers that that would be the ultimate override.

Or does setting a "0" fan speed for any particular layer all ready override all other fan controls?
I understand where you are coming from with that thought. Much like the way the speed modifier works where if a layer is going to be printed too fast it will be slowed we thought the fan modifier should work the same. Allowing the Fan Overrides to control every layer makes the logic consistent throughout these areas of our software.

Please let me know if you have any other thoughts or questions about this.
It may make the "logic" consistent but it doesn't really make any sense. Are you saying that even though I specified that the fan should be off the override is going to say "you must not really want the fan off so I am going to turn it on"?

If I set the fan to "0" for a specified layer or layers then I want it OFF and it should not be over-ridden and the fan turned on for any reason.

If fan speed is set to "0" for any layer then the fan overrides should also disable for the same layer(s).

S3D-Alex
Posts: 224
Joined: Thu Aug 30, 2018 1:23 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Tue Feb 05, 2019 11:08 am

wirlybird wrote:
Tue Feb 05, 2019 10:41 am
S3D-Alex wrote:
Tue Feb 05, 2019 10:09 am
wirlybird wrote:
Tue Jan 29, 2019 12:15 pm
Great info, thanks.

It would seem however that if a layer fan speed is set to zero "0" for any particular layer or segment of layers that that would be the ultimate override.

Or does setting a "0" fan speed for any particular layer all ready override all other fan controls?
I understand where you are coming from with that thought. Much like the way the speed modifier works where if a layer is going to be printed too fast it will be slowed we thought the fan modifier should work the same. Allowing the Fan Overrides to control every layer makes the logic consistent throughout these areas of our software.

Please let me know if you have any other thoughts or questions about this.
It may make the "logic" consistent but it doesn't really make any sense. Are you saying that even though I specified that the fan should be off the override is going to say "you must not really want the fan off so I am going to turn it on"?

If I set the fan to "0" for a specified layer or layers then I want it OFF and it should not be over-ridden and the fan turned on for any reason.

If fan speed is set to "0" for any layer then the fan overrides should also disable for the same layer(s).
It is labeled as an "override" to try to clearly show that it will indeed override other settings. The situation you describe would require the user to tell the software things that conflict. Saying I want every layer to have the fan on if it is below a certain time threshold should apply to that whole process.

wirlybird
Posts: 1171
Joined: Sun Jul 17, 2016 1:32 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Tue Feb 05, 2019 11:38 am

S3D-Alex wrote:
Tue Feb 05, 2019 11:08 am
wirlybird wrote:
Tue Feb 05, 2019 10:41 am
S3D-Alex wrote:
Tue Feb 05, 2019 10:09 am


I understand where you are coming from with that thought. Much like the way the speed modifier works where if a layer is going to be printed too fast it will be slowed we thought the fan modifier should work the same. Allowing the Fan Overrides to control every layer makes the logic consistent throughout these areas of our software.

Please let me know if you have any other thoughts or questions about this.
It may make the "logic" consistent but it doesn't really make any sense. Are you saying that even though I specified that the fan should be off the override is going to say "you must not really want the fan off so I am going to turn it on"?

If I set the fan to "0" for a specified layer or layers then I want it OFF and it should not be over-ridden and the fan turned on for any reason.

If fan speed is set to "0" for any layer then the fan overrides should also disable for the same layer(s).
It is labeled as an "override" to try to clearly show that it will indeed override other settings. The situation you describe would require the user to tell the software things that conflict. Saying I want every layer to have the fan on if it is below a certain time threshold should apply to that whole process.
So, if I understand correctly, if I am printing with ABS and have the fan layer control speed on the cooling tab on the left set to Layer 1 Speed 0 to indicate NO fan at all for any layer in the entire print, the override is still going to turn on the fan when it thinks it is needed even though I set the fan to "off" essentially.

So setting the overall layer fan speed to zero is pointless since the override will do what it wants?


The fan speed override is also only really valid for printers with variable speed fan capabilities.
The override serves no real purpose for printers like a Flashforge Creator Pro that do not have variable speed fan capabilities. The fan is either on or off.
So S3D determines that a layer print time on an ABS print is below the threshold and turns the fan on, which will be full power, and wrecks the print due to excessive cooling.

I really think someone has created a "fix" for a problem that wasn't there.

The override should only be exactly that. The override should only be able to be activate if a general fan speed has been set on the cooling tab.

S3D-Jake
Posts: 552
Joined: Wed Jun 20, 2018 12:45 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Tue Feb 05, 2019 12:11 pm

wirlybird wrote:
Tue Feb 05, 2019 11:38 am
S3D-Alex wrote:
Tue Feb 05, 2019 11:08 am
wirlybird wrote:
Tue Feb 05, 2019 10:41 am


It may make the "logic" consistent but it doesn't really make any sense. Are you saying that even though I specified that the fan should be off the override is going to say "you must not really want the fan off so I am going to turn it on"?

If I set the fan to "0" for a specified layer or layers then I want it OFF and it should not be over-ridden and the fan turned on for any reason.

If fan speed is set to "0" for any layer then the fan overrides should also disable for the same layer(s).
It is labeled as an "override" to try to clearly show that it will indeed override other settings. The situation you describe would require the user to tell the software things that conflict. Saying I want every layer to have the fan on if it is below a certain time threshold should apply to that whole process.
So, if I understand correctly, if I am printing with ABS and have the fan layer control speed on the cooling tab on the left set to Layer 1 Speed 0 to indicate NO fan at all for any layer in the entire print, the override is still going to turn on the fan when it thinks it is needed even though I set the fan to "off" essentially.

So setting the overall layer fan speed to zero is pointless since the override will do what it wants?


The fan speed override is also only really valid for printers with variable speed fan capabilities.
The override serves no real purpose for printers like a Flashforge Creator Pro that do not have variable speed fan capabilities. The fan is either on or off.
So S3D determines that a layer print time on an ABS print is below the threshold and turns the fan on, which will be full power, and wrecks the print due to excessive cooling.

I really think someone has created a "fix" for a problem that wasn't there.

The override should only be exactly that. The override should only be able to be activate if a general fan speed has been set on the cooling tab.
The setting that turns on the fan according to a minimum layer time threshold and is labeled as an override will override the set points you have set in the temperature tab. If you wish to use manual control rather than automated overrides.... turn off the override setting and your manual set points will no longer be overridden.
"A bird does not sing because it has an answer. It sings because it has a song."

wirlybird
Posts: 1171
Joined: Sun Jul 17, 2016 1:32 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Tue Feb 05, 2019 12:52 pm

S3D-Jake wrote:
Tue Feb 05, 2019 12:11 pm
wirlybird wrote:
Tue Feb 05, 2019 11:38 am
S3D-Alex wrote:
Tue Feb 05, 2019 11:08 am


It is labeled as an "override" to try to clearly show that it will indeed override other settings. The situation you describe would require the user to tell the software things that conflict. Saying I want every layer to have the fan on if it is below a certain time threshold should apply to that whole process.
So, if I understand correctly, if I am printing with ABS and have the fan layer control speed on the cooling tab on the left set to Layer 1 Speed 0 to indicate NO fan at all for any layer in the entire print, the override is still going to turn on the fan when it thinks it is needed even though I set the fan to "off" essentially.

So setting the overall layer fan speed to zero is pointless since the override will do what it wants?


The fan speed override is also only really valid for printers with variable speed fan capabilities.
The override serves no real purpose for printers like a Flashforge Creator Pro that do not have variable speed fan capabilities. The fan is either on or off.
So S3D determines that a layer print time on an ABS print is below the threshold and turns the fan on, which will be full power, and wrecks the print due to excessive cooling.

I really think someone has created a "fix" for a problem that wasn't there.

The override should only be exactly that. The override should only be able to be activate if a general fan speed has been set on the cooling tab.
The setting that turns on the fan according to a minimum layer time threshold and is labeled as an override will override the set points you have set in the temperature tab. If you wish to use manual control rather than automated overrides.... turn off the override setting and your manual set points will no longer be overridden.
No offense but this is just plain stupid. If I set the fan speed for all layers to zero I still have to go disable the override to tell it "NO, really, I meant NO fan".

You have taken something that really wasn't an issue and have now made it one.
You are treating the fan override like the speed override but the difference is that "print speed" is mandatory so it is always on or NO PRINT unlike the fan which may be set on only for specific layers.

So, if I do not want ANY fan for my first layer, which is a given for almost all prints, I have to set layer 1 at 0 and also disable the override. But what if I want the override active after layer 1? Now I have to make a second process? Or I have to modify the start script to kill the fan for layer 1.

No matter what you have taken something that was mostly ok and overly complicated it and rendered other settings mostly useles.

What is the point in being able to set the overall layer fan speed to zero if it is just going to get overridden? Might as well do away with the layer speed setpoints setting alltogether.

Sorry to say but 4.1 and 4.1.1 really have been big disappointments.

Max Filament
Posts: 13
Joined: Fri Sep 11, 2015 6:07 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Wed Feb 06, 2019 3:50 am

Yup I can confirm this.
Fan comes on at full speed at the start of the print. Even if layer 1 is set to 0

My work around is.
Layer 1 0
Layer 2 0
Layer 3 60

Obvious bug.

User avatar
DarthRevan
Posts: 461
Joined: Wed Feb 18, 2015 8:29 am

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Thu Feb 07, 2019 8:55 am

wirlybird wrote:
Tue Feb 05, 2019 12:52 pm
S3D-Jake wrote:
Tue Feb 05, 2019 12:11 pm
wirlybird wrote:
Tue Feb 05, 2019 11:38 am


So, if I understand correctly, if I am printing with ABS and have the fan layer control speed on the cooling tab on the left set to Layer 1 Speed 0 to indicate NO fan at all for any layer in the entire print, the override is still going to turn on the fan when it thinks it is needed even though I set the fan to "off" essentially.

So setting the overall layer fan speed to zero is pointless since the override will do what it wants?


The fan speed override is also only really valid for printers with variable speed fan capabilities.
The override serves no real purpose for printers like a Flashforge Creator Pro that do not have variable speed fan capabilities. The fan is either on or off.
So S3D determines that a layer print time on an ABS print is below the threshold and turns the fan on, which will be full power, and wrecks the print due to excessive cooling.

I really think someone has created a "fix" for a problem that wasn't there.

The override should only be exactly that. The override should only be able to be activate if a general fan speed has been set on the cooling tab.
The setting that turns on the fan according to a minimum layer time threshold and is labeled as an override will override the set points you have set in the temperature tab. If you wish to use manual control rather than automated overrides.... turn off the override setting and your manual set points will no longer be overridden.
No offense but this is just plain stupid. If I set the fan speed for all layers to zero I still have to go disable the override to tell it "NO, really, I meant NO fan".

You have taken something that really wasn't an issue and have now made it one.
You are treating the fan override like the speed override but the difference is that "print speed" is mandatory so it is always on or NO PRINT unlike the fan which may be set on only for specific layers.

So, if I do not want ANY fan for my first layer, which is a given for almost all prints, I have to set layer 1 at 0 and also disable the override. But what if I want the override active after layer 1? Now I have to make a second process? Or I have to modify the start script to kill the fan for layer 1.

No matter what you have taken something that was mostly ok and overly complicated it and rendered other settings mostly useles.

What is the point in being able to set the overall layer fan speed to zero if it is just going to get overridden? Might as well do away with the layer speed setpoints setting alltogether.

Sorry to say but 4.1 and 4.1.1 really have been big disappointments.
I think what the S3D guys are trying to say is that if you want the software to automatically choose fan speeds for you based on your layer's estimated print time, you can't also tell it not to do that. I agree with that logic. Just because what the settings were labeled as in the past didn't match their behavior doesn't mean that now that they match up it's wrong.

wirlybird
Posts: 1171
Joined: Sun Jul 17, 2016 1:32 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Thu Feb 07, 2019 9:27 am

DarthRevan wrote:
Thu Feb 07, 2019 8:55 am
wirlybird wrote:
Tue Feb 05, 2019 12:52 pm
S3D-Jake wrote:
Tue Feb 05, 2019 12:11 pm


The setting that turns on the fan according to a minimum layer time threshold and is labeled as an override will override the set points you have set in the temperature tab. If you wish to use manual control rather than automated overrides.... turn off the override setting and your manual set points will no longer be overridden.
No offense but this is just plain stupid. If I set the fan speed for all layers to zero I still have to go disable the override to tell it "NO, really, I meant NO fan".

You have taken something that really wasn't an issue and have now made it one.
You are treating the fan override like the speed override but the difference is that "print speed" is mandatory so it is always on or NO PRINT unlike the fan which may be set on only for specific layers.

So, if I do not want ANY fan for my first layer, which is a given for almost all prints, I have to set layer 1 at 0 and also disable the override. But what if I want the override active after layer 1? Now I have to make a second process? Or I have to modify the start script to kill the fan for layer 1.

No matter what you have taken something that was mostly ok and overly complicated it and rendered other settings mostly useles.

What is the point in being able to set the overall layer fan speed to zero if it is just going to get overridden? Might as well do away with the layer speed setpoints setting alltogether.

Sorry to say but 4.1 and 4.1.1 really have been big disappointments.
I think what the S3D guys are trying to say is that if you want the software to automatically choose fan speeds for you based on your layer's estimated print time, you can't also tell it not to do that. I agree with that logic. Just because what the settings were labeled as in the past didn't match their behavior doesn't mean that now that they match up it's wrong.

Yea, first problem with that is not all printers have fans capable of "variable" speeds. A lot of printers cooling fans are on or off only.
So if your printing ABS and a layer time goes below a threshold do you want S3D to ignore your no fan settings and turn the fan on anyway, possibly at full speed and possibly wrecking the print? I don't.

They seem to be trying to apply the logic of print speed overides to the cooling fan which simply doesn't work. There is always a "print speed" but there may not be a fan speed so telling it to turn on the fan even if it is set to "0", no fan, simply nmakes no sense.

My point is that if I set the overall fan speed to zero for the whole print such as for ABS then the overide settings should be disabled.
I feel they have created something that wasn't an issue in the first place.

How many people actually set a fan speed for the first layer? If I set the first layer to "0" and it is a really small point on the bed I sure don't want S3D to override my setting and run the fan. There goes adhesion! Doesn't make any sense.

Wahrend
Posts: 3
Joined: Wed Mar 06, 2019 6:10 pm

Re: 4.1 generates Gcode that starts my cooling fan before it should be on

Thu Mar 21, 2019 4:23 pm

Sorry for making a small necro on this thread, but sadly I have bumped into the same issue which strangely enough never was a problem before until today. I bought my printer 2 months ago, a Flashforge Creator Pro, and started using Simplify3D without any issues, but I did a firmware update on my printer to Sailfish 7.8 and after that this issue appeared. I can see the solution on the last page stating the following:

Starting Script Before:

G28 ; home all axes
G1 Z0.2 F1200 ; raise nozzle
G92 E0 ; reset extrusion distance
G1 X100 Y0 E12 F600 ; purge nozzle

Starting Script After:

M106 S0 ; turn off cooling fan
G28 ; home all axes
G1 Z0.2 F1200 ; raise nozzle
G92 E0 ; reset extrusion distance
G1 X100 Y0 E12 F600 ; purge nozzle
M106 S;[fan_speed_pwm] ; set fan to variable PWM value


However it seems my knowledge or lack of intelligence is simply not there to figure out where I should put those "Starting Script After" commands in on my current preset Starting Script of the Flashforge Creator Pro which has the following:

; **** Replicator 1 dual start.gcode ****
M73 P0 ; enable build progress
G162 X Y F3000 ; home XY maximum
G161 Z F1200 ; home Z minimum
G92 Z-5 ; set Z to -5
G1 Z0 ; move Z to 0
G161 Z F100 ; home Z slowly
M132 X Y Z A B ; recall home offsets
M135 T0 ; load right extruder offsets
G1 X-110 Y-70 Z30 F9000 ; move to wait position left hand side of the table
G130 X20 Y20 Z20 A20 B20 ; lower stepper Vrefs while heating
M126 S[fan_speed_pwm]
M140 S[bed0_temperature] T0
M134 T0 ; stabilize bed temperature
M104 S[extruder1_temperature] T1
M133 T1 ; stabilize left extruder temperature
G130 X127 Y127 Z40 A127 B127 ; default stepper Vrefs
G92 A0 B0 ; zero extruders
G1 Z0.4 ; position nozzle
M135 T1 ; left tool
G1 X-140 Y-70 F9000 ; reposition nozzle
G1 X-100 Y-70 E25 F300 ; purge nozzle
G1 X-110 Y-70 Z0.15 F1200 ; slow wipe
G1 X-100 Y-70 Z0.5 F1200 ; lift
G92 A0 B0 ; zero extruders
M73 P1 ;@body (notify GPX body has started)
; **** end of start.gcode ****

I assume M126 S[fan_speed_pwm] needs to be removed and somewhere along the lines the aforementioned commands needs to be put, but can those lines just be put anywhere? I guess the printer reads the script from top to bottom so something is telling me I can't just put it where ever I choose x)

Return to “Troubleshooting and Bug Reports”