JustMKollum
Posts: 13
Joined: Mon Oct 01, 2018 7:11 pm

Best way to achieve anti-scarring using V4?

Hello.

I tried upgrading to V5, specifically because I was having issues with scarring on the top layers on my 3D Prints with V4. The scars were really bad.
Image

I was looking forward to the anti-scarring feature, so, I purchased the upgrade to V5, turned on "Force Retraction on Top Layers" and "Only Vertical Lift on Top Layers" and made the "vertical lift 0.10" and it worked wonders, at first, until I attempt to do a filament change. I do multi-color prints for the most part with my Ender 3.

I can't seem to accomplish a filament change or color swap as easy as I could in V4, or at all really. I tried searching these forums for solutions on how to do filament swaps mid prints. I tried copying the code

Code: Select all

{REPLACE "; layer 21, Z = 3.816" "; layer 21, Z = 3.816\nG1 X10.000 Y200.000 E0; }
into the "Post Layer script" and the "Post Processing" tabs one at a time, and my printer ignored the pause both attempts.

I also tried

Code: Select all

{REPLACE "; layer 21," "M600\n; layer 21,"}
and something is not right, it won't pause at layer 21. Perhaps my Ender 3 doesn't support the M600 command?

But I'm just so upset because with V4 it was so much easier to do multi-colored prints with one extruder using Simplify3D! All I had to do was
  • 1. Go to "Variable Settings Wizard" and slice where I wanted the transition of filaments to occur into processes
    2. Paste this into the ending script "G1 X0 Y0" for the color/filament swap
    3. tweak a few layer settings, make sure "Only retract when crossing open spaces" is unchecked, "Force Retraction between layers" is checked
    4. Save each process as a gcode
and that was it. I was able to change filament without issue as separate gcodes for each filament swap with multiple processes.

When I repeat these steps in V5, the printer crashes into the print, scarring and scorching the top with the heated nozzle, as if the resuming Z Height is incorrect. I tried adjusting the ZHeight under "custom zones" by adding 1 more mm to where I wanted it to print next, and it still scorched my print and created bad scuff marks/scratches on the top layer, creating an awful print.

Image

So, I requested a refund for my V5 since I purchased it less than 14 days ago, and I want to switch back to V4.

What is the best way to achieve anti-scarring and a cleaner/smooth surface for the top layers in V4?

For V4 I have
"Only retract when crossing open spaces", unchecked
"Force Retraction between layers" is checked

but I know those two settings can only do so much.

I can't seem to find an answer here or on Youtube.

Thank you.
S3D-Jason
Posts: 1608
Joined: Sun May 31, 2015 6:01 am

Re: Best way to achieve anti-scarring using V4?

The new anti-scarring features only exist in V5, so there's definitely no way to get similar improvements from V4. From reading your post, it sounds like the main issue was mostly just that your printer wasn't pausing where intended. V5 has some new post-processing syntax, so I think this would have been an easy thing to fix in V5.

Which exact Ender 3 model do you have?
JustMKollum
Posts: 13
Joined: Mon Oct 01, 2018 7:11 pm

Re: Best way to achieve anti-scarring using V4?

S3D-Jason wrote: Mon Jan 08, 2024 10:31 am The new anti-scarring features only exist in V5, so there's definitely no way to get similar improvements from V4. From reading your post, it sounds like the main issue was mostly just that your printer wasn't pausing where intended. V5 has some new post-processing syntax, so I think this would have been an easy thing to fix in V5.

Which exact Ender 3 model do you have?
I have the regular/original Ender 3

When I go to "About Machine" I get

Software 2.0.8.2
Hardware 4.2.2
2.0.8.2
2021-10-12

Image
S3D-Jason
Posts: 1608
Joined: Sun May 31, 2015 6:01 am

Re: Best way to achieve anti-scarring using V4?

I believe the original Ender 3 supports using the M0 gcode command to initiate a pause, so you can simplify things a lot by getting rid of all the processes and separate gcode files. With only 1 process remaining, add the following to Edit Process Settings > Scripts tab > Post Layer Change Script:

Code: Select all

{IF "[current_layer_number] == 21"}M0 ; pause print
You can add multiple lines if needed to pause at more than 1 layer:

Code: Select all

{IF "[current_layer_number] == 21"}M0 ; pause at layer 21
{IF "[current_layer_number] == 50"}M0 ; pause at layer 50
If you want to confirm the commands are in the correct place, just export the gcode file to your hard drive, open it in a text editor, and search for the "M0" commands. Should be much easier than the process you were using.
JustMKollum
Posts: 13
Joined: Mon Oct 01, 2018 7:11 pm

Re: Best way to achieve anti-scarring using V4?

S3D-Jason wrote: Tue Jan 09, 2024 9:20 am I believe the original Ender 3 supports using the M0 gcode command to initiate a pause, so you can simplify things a lot by getting rid of all the processes and separate gcode files. With only 1 process remaining, add the following to Edit Process Settings > Scripts tab > Post Layer Change Script:

Code: Select all

{IF "[current_layer_number] == 21"}M0 ; pause print
You can add multiple lines if needed to pause at more than 1 layer:

Code: Select all

{IF "[current_layer_number] == 21"}M0 ; pause at layer 21
{IF "[current_layer_number] == 50"}M0 ; pause at layer 50
If you want to confirm the commands are in the correct place, just export the gcode file to your hard drive, open it in a text editor, and search for the "M0" commands. Should be much easier than the process you were using.
THANK YOU! Thank you! Thank you! This pause code worked!

However, I would like to tweak the code a little further if I can. The nozzle leaves a blob in the center when it pauses because the head sits in the exact position. What would I put into the code to lift the head up and slightly away from the print, while still keeping it heated and everything else?

It still works, but that would be even better. Thanks.
S3D-Jason
Posts: 1608
Joined: Sun May 31, 2015 6:01 am

Re: Best way to achieve anti-scarring using V4?

Easiest thing is probably to just insert a "G28 X0" command. That will home the X axis, moving the nozzle to the side and away from the print.

In that case, the command for doing that would look like this:

Code: Select all

{IF "[current_layer_number] == 21"}G28 X0 ; home X axis
{IF "[current_layer_number] == 21"}M0 ; pause print
That way both of those commands run at layer 21 when you do the pause.

Return to “General Discussion and Tips”