Jump to content
Ultimaker Community of 3D Printing Experts

Simplify3D Fans only on Perimeters

Recommended Posts


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.

Edited by Guest
  • Like 5

Share this post

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 | a new interface
      We're not only trying to always make Ultimaker Cura better with the usual new features and improvements we build, but we're also trying to make it more pleasant to operate. The interface was the focus for the upcoming release, from which we would already like to present you the first glance. 
        • Like
      • 128 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!