Jump to content

Sloped or delayed Z hop?


Recommended Posts

Posted · Sloped or delayed Z hop?

While coping with PETG stringing, I printed dozens of parts and spent days trying to get rid of it.

I optimized certain settings like coasting (reduces pressure at the end of the loop), wiping (cleans excess material from the nozzle), retract priming (restores the missing material due to coasting, so avoiding underextrusion), increasing travel speed (to decrease the time for oozing), drying the role and printing inside-to-outside. Decreasing the temperature is not an option for me. It turns out, in my long Bowden setup retraction length and speed are not the game changing ways to tackle this question. Nonethe less, that all seems to work quite well.

 

But:

While stringing has been reduced, it is still there. Depending on the model, I am not always able to print really clean pieces.

I did not give up and decided to clear the question, whether PETG is a viable material as a PLA replacement for general use (to put it simple).

 

What I found:

After all my optimizations, if I print a challenging piece (just to test) there are two prominent stringing patterns that I could recognize:

Either there are no whisps at all; in this case, material gets accumulated at the spot where the travel movements cross the next border (typically when moving between towers). If the travel movement passes the same point in the border, the hanging tiny bit of molten filament gets caught there and accumulates. One gets stronger pieces of debris attached to the surface, which tend to stick to the nozzle and move around. The solution to this: Let the nozzle fly to the target above the current height - nothing else than a z hop movement.

 

Indeed, when z hop is used, the nozzle lands to the target spot at a height where the oozed material won't touch the border. That works perfectly at the end of the travel move and there is no accumulation anymore. The problem is, that at the beginning of the travel move (when retraction takes place and the z hop is done), stringing occurs. It is minimal and very fine, but with repetitive travel paths one gets a beautiful curtain of dense whisps. I know that they can be burned, but that is not "clean", scars are still visible. Apparently, no reasonable retraction length will completely avoid stringing (at least in my case).

 

So I came up with the idea of the delayed z hop. What I mean: the actual lifting should not take place vertically at the beginning of the travel move.

Have you tried to rip the PETG filament oozing out from the nozzle with your fingers or twizzers? If you pull it downwards, it just streches endless and it is a mess as you get fine sticky filament everywhere. But if you rip it *sidewards*, the nozzle will be immediately clean at that moment. A normal z hop in Cura is like ripping the filament downwards - that does not work well and you get stringing. So what I want is a travel movement that begins sidewards after retraction (as usual), but also executes a z hop later, before crossing the next border. Well, a sloped z hop would probably be fine if the movement is not too steep. This way, no whisps are built at the beginning of the travel, and no material get caught at the next crossed border. A perfect solution.

 

Cura is not able to do that kind of thing (in contrary to Orcaslicer, which has a sloped z hop - for the time being, I can print PETG to my full satisfaction only with Orcaslicer).

 

But perhaps there is some postprocessing script that just converts a normal z hop into a delayed one (or to a sloped one) after retractions. I could not find anything.

 

I am a bit surprised since this retraction saga keeps annoying 3d printing hobbyists since ancient times. I can rule out that I discovered anything new in my analysis - so why has a solution to such a basic problem not yet been implemented? Just wondering.

 

Any idea or proposition will be welcomed.

  • Link to post
    Share on other sites

    Posted · Sloped or delayed Z hop?

    I found this:

     

    I will give it a try, although I would prefer a postprocessor script that runs automagically after slicing in Cura.

  • Link to post
    Share on other sites

    Posted (edited) · Sloped or delayed Z hop?

    I print mostly PETG.  Stringing (Angel Hair) is always an issue.  Also an issue is the curling of feather edges as they warp upwards.  That is a severe problem when large horizontal holes start closing up.  There must be z-hops to clear the part or the print can be hit hard enough to break it loose.  The hops make the Angel Hair a lot worse.

    When you enable z-hops in Cura, there are going to be z-hops from the beginning to the end.  My solution was to cancel the z-hops except for those layers that need it.  Setting the new z-hops height to '0' effectively negates the hop.

    When a hop occurs the code is often something like this...

    G1 X132.477 Y129.811 E1854.34812   >> Last extrusion before travel
    G1 F2100 E1847.34812                         >> Retract
    G1 F600 Z16.0                                      >> Z-hop
    G0 F7200 X143.424 Y129.432 Z16.0 >> Travel destination
    G1 F600 Z15                                         >> Z-drop

     

    We know where the nozzle is, and where it's going to, so it could be post processed to produce this...

    G1 X132.477 Y129.811 E1854.34812   >> Last extrusion before travel
    G1 F2100 E1847.34812                         >> Retract
    ;G1 F600 Z16.0                                      >> Lose the Z-hop

    G1 F7200 X137.951 Y129.622 Z16.0  >> Add this line.  The X Y are the mid-point of the original destination line.
    G0 F7200 X143.424 Y129.432 Z15.0 >> Original destination but now the Z is the drop-to height.
    ;G1 F600 Z15                                          >> Lose the Z-drop

    That is doable without too much work.

    Combing moves, whether they are at the end of a layer, or mid-layer, will be a problem.  You have a non-linear travel move that might be 10 or 15 lines of gcode (or a lot more if you are circumnavigating a large round print).  Trying to increment the Z-hop across 1/2 those lines and then incrementing it back down across the next 1/2 would be a PITA.

     

    I'll stick with my solution.  I suppose effectively having a wipe at the start of every travel would have some advantage, If the "Feather Edge" is close to the start of the travel and the nozzle isn't yet be up to the full z-hop height, it's gonna hit.

    And then there are multi-extruder printers with different hop heights per extruder.

    Using this post to negate the z-hops except for specific portions of a print works well for me.  Using the "Advanced Cooling Fan Control" post-processor along with "Alter Z-Hops" can help reduce stringing.  It isn't eliminated though.

     

    AlterZhops.zip

     

     

     

    Edited by GregValiant
  • Link to post
    Share on other sites

    Posted · Sloped or delayed Z hop?

    I can confirm that "Diagonal Z hop" works for my purpose, although it should not be used together with postprocessing scripts that manipulate retractions and the like. In special cases I would definitely go to https://teachingtechyt.github.io/diagonalZhop.html

     

    I am reluctant to use an online service for everyday prints and would prefer a postprocessor script compatible with Cura. After some research I got the impression that there is a wide conciousness about this z-hop/stringing question and many people have developed solutions and so I hope to find one.

     

    Your turn.

  • Link to post
    Share on other sites

    Posted · Sloped or delayed Z hop?
    20 minutes ago, GregValiant said:

    That is doable without too much work.

    Well, I am impressed. For me that is not the general method. I would manually fiddle with the gcode file perhaps in an exceptional case.

     

    20 minutes ago, GregValiant said:

    Trying to increment the Z-hop across 1/2 those lines and then incrementing it back down across the next 1/2 would be a PITA.

     

    You defeated yourself 🙂

     

    I will take a look at "AlterZhop" - later. It is about 03:00 hours in my time zone. Thanks for that.

     

    I actually do not need this hassle. Just switching to Orcaslicer solves this problem. But Orcaslicer sucks at times, so I want to keep a prepared working environment in Cura.

     

    I wonder why you mostly print PETG. I am enthusiastic about printing intricated things and PETG is not suitable for that. I am about to ditch that material. Have you tried PCTG? I have a role waiting for me...

  • Link to post
    Share on other sites

    Posted · Sloped or delayed Z hop?
    56 minutes ago, Supramaker said:

    I wonder why you mostly print PETG. I am enthusiastic about printing intricated things and PETG is not suitable for that. I am about to ditch that material.

    I actually print intricate things more often in PETG, since usually they have some mechanical need.

     

    You can use it in almost any situation where you'd use PLA, the main differences are that stringing is unavoidable but it's less brittle than PLA and won't melt if you leave it in a car parked in the sun.

  • Link to post
    Share on other sites

    Posted (edited) · Sloped or delayed Z hop?
    6 hours ago, Slashee_the_Cow said:

    You can use it in almost any situation where you'd use PLA, the main differences are that stringing is unavoidable but it's less brittle than PLA and won't melt if you leave it in a car parked in the sun.

     

    Yes but instead of PLA I am switching to PVB. You can easily smooth it with alcohol and it is getting cheaper (last role I bought was for 28 €).

     

    One more hint regarding stringing: allegedly fine stringing can be avoided by using a bit of olive oil. Im my case, silicon oil has not helped (but not sure how stringing would be without, have not checked systematically).

     

    So for decorative things I am going to use PVB. For other things most probably PCTG, but in the long run something else like PC (I need to upgrade the printer first, that's a project by itself)

    Edited by Supramaker
  • Link to post
    Share on other sites

    Posted · Sloped or delayed Z hop?
    13 hours ago, GregValiant said:

    We know where the nozzle is, and where it's going to, so it could be post processed to produce this...

    G1 X132.477 Y129.811 E1854.34812   >> Last extrusion before travel
    G1 F2100 E1847.34812                         >> Retract
    ;G1 F600 Z16.0                                      >> Lose the Z-hop

    G1 F7200 X137.951 Y129.622 Z16.0  >> Add this line.  The X Y are the mid-point of the original destination line.
    G0 F7200 X143.424 Y129.432 Z15.0 >> Original destination but now the Z is the drop-to height.
    ;G1 F600 Z15                                          >> Lose the Z-drop

    Looking thoroughly at your changes, this exactly what the linked diagonal z hop does (in the so called "traditional" version). Save your time and let the online service process your gcode files. 

     

    But to avoid stringing, the "alternate" version is better. Let us know how it goes for you if you happen to use that service. 

  • Link to post
    Share on other sites

    Posted · Sloped or delayed Z hop?

    As it turns, the diagonal Z hop did improve my PETG printing, but not enough.

     

     

    image.thumb.jpeg.b6c0e92c3c3dc8eeaf612231615bf315.jpeg

    The left piece is the "improved" version (using diagonal Z hop on the Cura generated gcode). Well, the original print using Cura... I just won't show it, it is just a failure even after applying all known tricks.

     

    The right piece  is the result using an alternative slicer which provides the capability to wipe after retraction and does Z hop in different ways.

     

    The improvement after applying the diagonal Z hop postprocessing is rather modest, because it only provides a flat starting lift (better than Cura's vertical one).

     

    Of course this model exacerbates the issue with stringing, but that is the point.

     

    My last cent.

  • 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 5.8 Stable released 🎉
        In the Cura 5.8 stable release, everyone can now tune their Z seams to look better than ever. Method series users get access to new material profiles, and the base Method model now has a printer profile, meaning the whole Method series is now supported in Cura!
        • 5 replies
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Thanks
          • Like
        • 3 replies
    ×
    ×
    • Create New...