Page 1 of 1

QIDI I-fast Air Circulation Fan Control

Posted: Sat May 25, 2024 9:02 pm
by BaronWilliams
I am currently using Simplify3D with a QIDI I-fast. It works great, but some features are missing.

Is there a way to add the QIDI I-fast air circulation fan control to the Cooling tab as you can with the parts fans?

If I use the Cooling tab and add a QIDI I-fast air circulation fan as Environmental fan T2, then it generates this GCODE:

Code: Select all

M106 S255 P2
This does not work for the QIDI I-fast air circulation fan.

GCODE to turn on the QIDI I-fast air circulation fan is:

Code: Select all

M106 T-2
GCODE to turn off the QIDI I-fast air circulation fan is:

Code: Select all

M107 T-2
Because I can't get it to work in the Cooling tab, I am currently doing this in the Change Layer section of the Scripts tab to achieve this:

Code: Select all

{IF "[current_layer_number] == 1"}M107 T-2; turn off air circulation fan
{IF "[current_layer_number] == 2"}M106 T-2; turn on air circulation fan
This works to turn the QIDI I-fast air circulation fan off at layer 1 and on at layer 2. But it require manually editing the scripts when I want to change this, which is not convenient :(.

I would prefer to be able to do this in the Cooling tab, but can't seem to get that to work.

Any suggestions?

Thanks :)

Re: QIDI I-fast Air Circulation Fan Control

Posted: Sun May 26, 2024 10:41 pm
by BaronWilliams
I got it working. Using the Post Processing tab in the Scripts tab I entered this:

Code: Select all

{REPLACE "M106 S255 P2" "M106 T-2; QIDI I-fast air circulation fan on."}
{REPLACE "M106 S0 P2" "M107 T-2; QIDI I-fast air circulation fan off."}
This works to control the QIDI I-fast air circulation fan in the Cooling tab if you add an Environmental fan set to T2. Values of 1-99% will not work. Only 0% or 100% works. The QIDI I-fast air circulation fan only supports on or off anyway so this isn't really a problem. But if you set the value to 50% in the Cooling tab, then the Post Processing won't work and the QIDI I-fast air circulation fan will not be affected by it.

Is there a way for the REPLACE command to treat the speed parameter values from S1 through S255 as a single replacement? Such as "IF S>=1" then replace with "M106 T-2"?

Re: QIDI I-fast Air Circulation Fan Control

Posted: Tue May 28, 2024 10:48 am
by S3D-Jason
I was going to suggest that same {REPLACE} command when I saw your initial post, so that's probably the best way to work with a machine that uses a non-standard fan command.

I don't know of a way to replace all intermediate speeds like 5%, 10%, 15%, etc with the same "M106 T-2" command unless you just add a {REPLACE} line for each possibility. But like you said, if the machine only support 0 or 100%, using those same values in S3D should still work okay with your current script.

Re: QIDI I-fast Air Circulation Fan Control

Posted: Wed May 29, 2024 10:15 pm
by BaronWilliams
Simplify3D supports running an external program for post processing.

I didn't know that was possible. I did a bit of digging around and found that it's pretty easy to do. That gives people a lot of freedom. Quite nice actually.

For example, you can put this in the Post Processing section, if you're using Windows, and it will run the command prompt (cmd) in Windows and using the Windows copy command it will make a copy of the GCODE created by Simplify3D:

Code: Select all

cmd /c copy "[output_filepath]" "C:\FolderToCopyTo\FilenameToCopyTo.gcode"
It can run any external application.

Using this, it's possible to write a small external program that can perform a smart replace that can replace ranges of values.

When I have more free time I'll look into this option.