Jump to content
Ultimaker Community of 3D Printing Experts

Simplify3D Fans only on Perimeters


Recommended Posts

Posted · Simplify3D Fans only on Perimeters


I been thinking today of how to do this and the answer was quite easy, probably this isn't much interesting, but when printing stuff like greentec, sometimes is good to have scripts like this.

Basically this goes on S3D postprocessing scripts


{REPLACE "\n; skirt\n" "\n;skirt\n\nM106 S0\n"}
{REPLACE "\n; raft\n" "\n;raft\n\nM106 S0\n"}
{REPLACE "\n; outer perimeter\n" "\n;outer perimeter\n\nM106 S140\n"}
{REPLACE "\n; inner perimeter\n" "\n;inner perimeter\n\nM106 S0\n"}
{REPLACE "\n; gap fill\n" "\n;gap fill\n\nM106 S0\n"}
{REPLACE "\n; solid layer\n" "\n;solid layer\n\nM106 S0\n"}
{REPLACE "\n; infill\n" "\n;infill\n\nM106 S0\n"}
{REPLACE "\n; bridge\n" "\n;bridge\n\nM106 S0\n"}
{REPLACE "\n; support\n" "\n;support\n\nM106 S0\n"}
{REPLACE "\n; dense support\n" "\n;dense support\n\nM106 S0\n"}

What does it do?

It looks on the generated code that S3D makes, and search the placeholders that it insert to show what's currently being printed. Then, replaces this text and adds the M106 (fan) command.

This way you can change the speed, acceleration, jerk, fan, of the area that's being printed.

For example, you want 120% Flow on outer perimeters Only & 60% Flow on supports. Then the script would look like:

{REPLACE "\n; skirt\n" "\n;skirt\n\nM221 S100\n"}
{REPLACE "\n; raft\n" "\n;raft\n\nM221 S100\n"}
{REPLACE "\n; outer perimeter\n" "\n;outer perimeter\n\nM221 S120\n"}
{REPLACE "\n; inner perimeter\n" "\n;inner perimeter\n\nM221 S100\n"}
{REPLACE "\n; gap fill\n" "\n;gap fill\n\nM221 S100\n"}
{REPLACE "\n; solid layer\n" "\n;solid layer\n\nM221 S100\n"}
{REPLACE "\n; infill\n" "\n;infill\n\nM221 S100\n"}
{REPLACE "\n; bridge\n" "\n;bridge\n\nM221 S100\n"}
{REPLACE "\n; support\n" "\n;support\n\nM221 S60\n"}
{REPLACE "\n; dense support\n" "\n;dense support\n\nM221 S100\n"}

As you can see, if you are reading this far, is that for every change you do, you need to 'undo-it' on the other stuff, this way you are sure that the print returns to the default setting. So if you change Flow with M221 Sxx then you need to reset it to 100% so the rest of the prints works and only affects the areas of your interest.

But... How you do more than one thing? Just add more with Slash 'n' that's a Return key. So, let's see how it would look to have Fans at 100% and the Flow trick, all at the same time.

{REPLACE "\n; skirt\n" "\n;skirt\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; raft\n" "\n;raft\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; outer perimeter\n" "\n;outer perimeter\n\nM221 S120\nM106 255\n"}
{REPLACE "\n; inner perimeter\n" "\n;inner perimeter\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; gap fill\n" "\n;gap fill\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; solid layer\n" "\n;solid layer\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; infill\n" "\n;infill\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; bridge\n" "\n;bridge\n\nM221 S100\nM106 0\n"}
{REPLACE "\n; support\n" "\n;support\n\nM221 S60\nM106 0\n"}
{REPLACE "\n; dense support\n" "\n;dense support\n\nM221 S100\nM106 0\n"}

And this is how the Gcode looks like


The only issue this can make is that, if you print too fast, and the there's a lot of instructions, the punny marlin could get stuttering. But for a normal print this shouldn't happen.

Also if you use this, remember to check the gcode changed, just incase, a missing '\n' changes the result.

  • Link to post
    Share on other sites
    Posted · Simplify3D Fans only on Perimeters

    I don't need this procedure ATM, however it made me think of more ways to customize gcodes to get exactly what I may need. So thanks for posting! It's always good to hear new ideas

  • Link to post
    Share on other sites


    This topic is now archived and is closed to further replies.

    • Create New...