I think you need to ask yourself "why" does z-hop cause stringing when just horizontal movements don't? The solution comes out of that question. I think the difference in stringing between z-hop and no z-hop is two fold: 1) When you lift the nozzle directly off of the print surface, the action of doing this creates a suction effect which pulls some of the molten plastic back down the nozzle. You then move the head, stringing the molten plastic. 2) When you move horizontally (instead of lifting) you avoid the suction effect, and you create a wiping effect which helps clean the nozzle, avoiding stringing. With these two effects in mind, I believe you can see why your "diagonal Z hop" produces the effects that it is. I can see two possible solutions to this. First solution: Start the hop maneuver AFTER you have already horizontally moved off of the print surface (and you are in the air), thereby maintaining the wiping effect, and avoiding the suction effect. Second solution: Begin the hop by doing a quick filament retraction, and at the same time an in-place head orbit, providing the wiping effect, toward the end of the orbit start increasing your z height. In practice this looks like a corkscrew movement, as you begin your hop. The filament should be continuously retracted throughout the corkscrew movement, providing a reverse suction effect, to counter act the somewhat reduced suction effect (reduced because of the spiral lift) that will remain from lifting off the surface. I believe Bambu Lab is using this method in their slicer (this is what my X1C looks like it's doing), and it seems to work pretty well.
@davydatwood3158 Жыл бұрын
Solution 1 wouldn't solve the core problem, though, unless I'm missing something. The entire reason for doing the z-hop is to not move horizontally while the nozzle is still at risk of hitting the print. Moving horizontally to avoid stringing before hopping has most of the risk of collisions that not hopping at all does, I would think.
@bujin5455 Жыл бұрын
@@davydatwood3158 it depends entirely where the point of failure is. There are three potential failure modes here: 1) You are printing along, finish a run, and as you move to your next print location, you run into a protrusion close to where you were just printing. 2) You finish a run, and you run into a protrusion somewhere between where you just finished and your destination. 3) You finish a run, and you run into a protrusion very close to your destination print site. Number 1: doesn't cause failure all that often because the area is fresh and warm, and deforms easily, and so bumps tend to move out of the way. Number 2: happens some times (though most slicers try to avoid unnecessary travel over the model), but since it should be an island, you should jump over it with the first solution I proposed, as you are doing a z-lift as soon as you get into free air. Also, you could prioritize finding free air to make that z travel. Number 3: is the failure mode I observe most often, because the destination is usually cooled significantly (as its often gone the longest without being touched), thus it's already pretty rigid, and the print head has reached it's maximum travel speed, so it hits with the most force. The first solution completely addresses this failure mode.
@Kalvinjj Жыл бұрын
@@bujin5455 Yes, I've seen that specially in supports. The print head can freely move away from the curling little horns (I hate those...), but when it's reaching the destination it will knock it out easily as it hits the curled up horns sharply. Happens a heck lot with top parts of a circle.
@davydatwood3158 Жыл бұрын
@@bujin5455 you make a very cromulent point, sir! I defer to your greater knowlege.
@reinux Жыл бұрын
Maybe we can make a script that'll generate a matrix of different retraction + hop timings to see which ones work best for which filament/printer.
@JonNewell Жыл бұрын
I bought my first 3D printer this week, a Bambu Lab X1 carbon. It printed this egg in just over 1hr, with no issues or stringing, no supports. Used generic filament too. So far I’m blown away with this printer.
@JP-xd6fm Жыл бұрын
Man, is like someone starts racing cars with a F1 instead of a little crappy car... Lucky bastard! 😜😜🤣
@No0o0o0o0o0 Жыл бұрын
Exactly , just dropped the file in, sliced then printed. NO changes to default and perfect print in an hour. I am on over 1500hrs printed so far. Only cleaning/greasing and belt tightening maintenance. So between your new out the box and my seasoned X1C fast accurate prints are straight forward on some printers.
@OutOfNamesToChoose Жыл бұрын
I'm really proud of the progress that 3D printing has made. I'm still using my first 3D printer of an Ender 3 Pro, and hearing people like you getting into 3D printing with such significantly better printers makes me excited about what will be available years down the line when I decide to upgrade.
@RickDenoire5 ай бұрын
Try the same using PETG and report the results back here please.
@MetalRhino42 Жыл бұрын
I hope you're remembered in the future for all the stuff you have contributed to 3d printing
@hyprodimus Жыл бұрын
This has been added to Orca Slicer (i switched from Cura, its been amazing). Under the Printer Settings --> Extruder --> Retraction --> Z hop type --> Slope Switching from Normal (vertical) to Slope solved my stringing problems. I was trying to modify temperature, retraction length, retraction speed, drying filament, etc, you know all of the traditional things that can help. The only thing that worked was disabling z hop. Of course you lose the benefits of z hop, and risk knocking off prints. Then I came across your video and discovered that its already in the slicer! I reset my settings and only changed to use Z hop Slope, and the stringing is virtually gone! Im at 220 C temp for PLA, 0.8mm retraction distance for a DD extruder, 45 mm/s retraction speed. Pretty normal I think. Anyways, this makes me love Orca slicer even more. Orca has all the best features from the other slicers and some unique ones.
@emilcost8613 Жыл бұрын
When printing parts with little first layer contact area, I add a 5mm brim and use glue stick. You can also add a little paint on supports even though you may not need them. The support base adds a little sticking action to small first layer parts. I also slice the model using Prusa's cut function. This adds the extra step of gluing the parts together and adding a little filler to sand. I greatly admire your skills at programming G-code.. very impressive work on developing the diagonal Z hop. Nice work!
@TherealSquiffy Жыл бұрын
yoo teaching tech. an hour ago i started printing the overhang egg, and guess what??? it went perfectly first try! I have no idea how, but it has very little stringing and very good quality. and with default settings!?! I really have no idea how it worked so well.
@TherealSquiffy Жыл бұрын
and yes... no brims or rafts.
@RickDenoire5 ай бұрын
Try PETG and tell.
@yru2501 Жыл бұрын
Important thing is when retraction occurs. For long time retracting in slicer was done WHILE moving up Zhop. This was perfect receipt for string to pull. You can fine tune it with "wipe". Enforcing 50-90% of retraction before wipe will break string before mowing up. I checked 2.5 PS and this behavior is corrected. Still by using last few mm of path as place to wipe /not much settings in PS/ you could better break string. A blob will start to form, but a "reverse wipe" on landing could hide it. And after a month of tuning... :D
@mthobbies5885 Жыл бұрын
Very cool idea. I’ve always thought it would make more sense to have an extrusion path finish then retract followed by a wipe move away then a vertical lift. Followed by a travel move. All the benefits of a hop without stringing.
@LightCarver Жыл бұрын
Wipe while retracting is an option in Superslicer. Has about a dozen options for adjusting it's behavior too. Prusaslicer has it too, possibly other slicers.
@Montragon29 Жыл бұрын
There are options like these also in Cura. wipe distance within wall, after/before retraction, etc...
@Montragon29 Жыл бұрын
@@LightCarver these options exist in Cura too(wipe distance within wall/path after retraction etc). Also there is an option for coasting within wall/path before/after retraction, before movement to other parts of the print or layers.
@mthobbies5885 Жыл бұрын
@@Montragon29 I didn’t know that.
@LightCarver Жыл бұрын
@@Montragon29 That's good. I haven't used Cura in quite a while and didn't check.
@johnathon007 Жыл бұрын
It really seems like the more blended the axis movements become the better the prints turn out. Eventually I'd like to see a slicer that moves more organically mixing all 3 axis smoothly.
@amandamoger9648 Жыл бұрын
Love your way of explaining...Just sliced a model part in the z hop script that usually strings bad no matter how I tweak it. Probably 70% less which as i produce models to sell means less clean up time. Always something new to try....thanks for the effort....
@laudavhutcheon946 Жыл бұрын
I swear all my devices are listening to me :) I'm having an issue with my very large printer hotend dragging, pulling and damaging the print. Miraculously this comes up in my you tube feed today. Life saver!!!
@bowieinc Жыл бұрын
Great video!!! Very impressed!
@hal_wayland Жыл бұрын
I've had the idea for this but certainly didn't think of postprocessing the G-code to try it out :D Cool to see that someone has tried it out, that it seems to work, and that you've given us a tool to try it out ourselves. Thanks!
@RoHo764 Жыл бұрын
Thanks!
@user-mz6qu3hz6m Жыл бұрын
Michael, I attempted to print some POM in my X1C today, and at one point I slowed the print speed down to 10mm/sec, and I noticed the X1C does something my Prusas do not-the print head does a little curly-q motion on retractions, so in effect it’s kind of doing what you’re suggesting here. Try it on your X1C and see what I mean. Very interesting.
@ChrisTheBear93 Жыл бұрын
It's funny how I was thinking about this just yesterday. Genius. Keep up the good work 👏
@Drakoman07 Жыл бұрын
What an interesting concept! Michael, I’m always impressed with your intuitive explanations. No wonder you’re a teacher, you’re killer at it!
@eskanderx1027 Жыл бұрын
Great idea with the alternative hop
@htpkey Жыл бұрын
Awesome experiment Michael! It's awesome that you added the source code!
@JamShady Жыл бұрын
The reason I use z-hop is to avoid hitting printed parts, as you demonstrated with the curling edges of the egg. Your modification appears to ignore this necessity by making the upwards travel move so slight over larger distances that there is probably more likelihood of it hitting the printed part on larger prints. I would suggest you need a slight modification to your 'alternate' approach which is to make three movements; first a short diagonal move upwards which introduces the required height for the z-hop, but also keeps the nozzle moving horizontally, then move the rest of the way horizontally and finally descend as appropriate to the required location. Imagine the path like the flight of a plane; short and quick ascent, linear travel, and then descend. That would appear to satisfy everything. As for how well it prints... let's see?
@bj_ Жыл бұрын
I remember years ago an experimental slicing tech where, at the end of a perimeter move, it would partially re-trace the perimeter to wipe the tool and smoothly lift off the part following that direction and then when it was off the part would curve mid-air towards the next extrusion target.
@Dekker3D Жыл бұрын
I would've implemented this at a constant diagonal angle, like 10-20 degrees from horizontal, up until it hits the desired z-hop height. That seems like the best way to avoid those curled-up bits consistently, and also makes small hops much less of an issue.
@JoshMurrah Жыл бұрын
I think this is about 80% right, and I'm really intrigued by your thoughts here - I think there's an additional constraint/limit here... you need to leave at the start of travel, and arrive at the end of travel, at a certain movement angle, say 30 degrees, or so... if you do a long travel, you are risking hitting curled edges somewhere, since you're moving mostly horizontally at one or both ends. This means a move is in three phases... leave at a degree of uptake until (and if) you reach your z-hop height, then a horizontal travel section if needed, then at the right point, start your descent into the end of the move at the arrival angle. This means more complicated gcode and possibly accel/decel delays, but the angle you leave and arrive at, needs to be constrained to keep from these quasi-horizontal start/end of the move.
@reverse_engineered Жыл бұрын
That was exactly my thought too. His issue with short travels was that the angle was too steep. Rather than limit the minimum distance, he needs to control the angle. It ends up looking a lot like an acceleration curve: a fixed angle up to the desired height, a flat travel at that height, then a fixed angle down to the end of the travel.
@MCsCreations Жыл бұрын
Pretty interesting idea indeed, Michael! 😃 Stay safe there with your family! 🖖😊
@fookingsog Жыл бұрын
Most of my stringing and overhang issues have been remedied by setting layer height to 0.16, 100% fan, retract & then wipe towards infill before moving to another area. No Z-Hop necessary.
@noway8233 Жыл бұрын
Zhop is very usefull for avoid crash with parts pf a model , specially if yuo print fast ,for me "fast" is 120 , 150 mm/s
@DanielSanPedro Жыл бұрын
I didn’t know one could wipe towards infill before hopping. Going to have try that in addition to diagonal.
@fookingsog Жыл бұрын
@@DanielSanPedro I think it's termed "wipe inwards" if memory serves me correctly.
@Nanoqtran Жыл бұрын
@@fookingsog which slicer are you using?
@fookingsog Жыл бұрын
@@Nanoqtran Currently using SuperSlicer.
@RaphaelRema Жыл бұрын
Nice idea, Michael. After travel, maybe if the nozzle lands at the infill instead of at the perimeter would help a bit more.
@ottoglockner8467 Жыл бұрын
yes! also maybe before "lift of" the nozzle goes a bit inwards to the part while retract and then makes the z hop to the other location to pint.
@RaphaelRema Жыл бұрын
@@ottoglockner8467 Perfect! Like a wipe on the infill before and after the travel. That would be awesome.
@mariobro1954 Жыл бұрын
My idea for this was to removed the original z raise and add the Z height increase to the destination gcode before the gcode for lowing back down on the Z. This is diagonal on the take off, but normal Z lower as you go back down to the part. I have created post script I run from excel VBA code to achieve this. (I see you got to this point as well. Didn't watch the video first.. lol)
@yellowdog3872 Жыл бұрын
I think you're right with this. The was the diagonal hop is done in the video would still lead to a collision or still have a higher chance of one. Your method actually gets to clearance height where it matters, not in the middle where the hop height doesn't make a difference.
@DIYunpolished Жыл бұрын
I modded my ender 3 with a fan on the gantry and it's a blower fan and it's amazing. Printing now and it's doing great. Thanks to your linear advanced plus the NEW input shaper on marlin I am very pleased. You should download the 2.1.2 enable the input shaper deleting the slashes and then follow their instructions and I'm over here with 3k acceleration with 120mms on an ender 3 bed slinger my gosh!
@digital0785 Жыл бұрын
i had thought about adding a slight raise during bridging to keep sagging down as it has potentially time to harden more of a "stretched" state so it's essentially bowing up to compensate for the sag
@MatrixRage Жыл бұрын
In manufacturing with beams or other structural steel, such as the main rails of trailers, etc this concept is called “pre-cambering” they camber the material so that it’s bowed upward when there is no load, but after the structure is loaded,it supports it flat
@Happy3dprinting Жыл бұрын
Without this sort of concept testing and development ideas we wouldn’t have 3d printing as today. Great idea and I will be testing this as soon as I can.
@BenRyherd Жыл бұрын
That's so wild, obviously you thought of it first because you tried it and made a video already but I had this EXACT idea this morning when I woke up. The conclusion I came to is that you'd have to be able to set the "diagonal angle" otherwise really detailed parts with a little curling might still get hit if the hotend didn't get to the full "hop height" before travel, and if you get to the full hop height before the diagonal move it actually just ends up being a longer travel move.
@stefanguiton Жыл бұрын
Awesome work!
@kel5944 Жыл бұрын
I think this has great potential. I think it might work better if the travel path is shaped more like this _/---| basically, move horizontal first as if no z hop at all, but then quickly go up at an angle to max z hop height to get as much benefit as possible. Then go straight down to the part to print in case the part you are about to print to has curled up. I think that would make it less likely to catch the nozzle than dropping diagonally to that point.
@Dustmuffins Жыл бұрын
This is pretty much exactly what happens in Orcaslicer if you enable slope zhop. It works extremely well and I was able to print the torture egg on the first try with nearly zero stringing.
@PiefacePete46 Жыл бұрын
There's two factors contributing to the failure: (1) The warped protrusions that the head colides with. This is the real issue, and is the first thing to fix, if possible. (2) Bed adhesion... if the part is immoveably stuck to the bed, it will help avoid disaster when collisions do occur. Michael, along with all the 3D printing channel Gurus, have long since adopted their favourite systems. Some time back, I watched an excellent series, pre-dating 3D printers, on Rapid Prototyping by Dan Gelbart. He explained that if you clean a surface with Isopropyl Alchohol, or products like thinners, you actually leave a layer of hydrocarbons. Although it is typically only one atom thick, it acts as a separation layer. I think he said that a detergent which can be rinsed off completely is preferable. Ivan Miranda demonstrated his preferred method in a video: basically clean it with dishwash liquid, (no additives, colouring, perfumes), rinse with hot water, pat dry with a paper towel (I just shake my glass bed until only the tiniest of droplets remain; the heated bed gets rid of those.) From that point on *** DO NOT TOUCH IT... E V E R ! ! ! *** This has worked for me, but Michael's test model will be a challenge for any method. Watching with interest!
@2mD Жыл бұрын
while watching the first part of the video i was thinking that it would work better if the z hop only goes up vertically and then drops straight down to avoid hitting curled up edges. im glad i watched to whole video before commenting because apparently you had the same idea ;)
@dev-debug Жыл бұрын
I messed with this via cura post processing script a while back (I"m older so a while back was probbaly almost 2 years lol). Not for stringing issues but for a smoother surface when using z hop. Lifting straight up was leaving a stippled texture. Never thought about it for stringing nor tested it for that. My end print macro does pull away up and diagonal now so makes sense that could help. I may have to dig the code back out and play with it some more. Maybe I'll release a cura post processing script for it.
@PaulW7000 Жыл бұрын
This is a great idea, and I like all the replies. Post processing gives infinite flexibility. Now my speculation begins: I think the hop is required regardless of how well the print is secured, because you must avoid hitting curled edges. (My post processor does this also). Another thing to consider - we could call it ooze time - the interval between print operations that the printhead can/will ooze. Vertical hops are very inefficient/slow due to the 90 degree angle. Not having the first vertical hop after the retract reduces the time, and so possibly less stringing. Three 30 degree moves would be quicker, four moves at 22.5 degrees would be a lot faster. (Remember my Junction Deviation Visualizer, smaller angles corner much faster). Yet another thing to consider is that ooze can contribute to nozzle depressurization, particularly when there are a lot of moves in a short period of time. You may see that your extrusion widths get narrower (easy enough to measure). (And there is also filament deformation with repeated retracts). That can be compensated in your slicer. I think there may be some shake when your bed is being moved up and down, perhaps that is contributing to the accuracy issue. Angular hops reduce the rate of the bed movement slightly, that might help during the ending movement to reduce resonance. You're doing great work!
@MisterkeTube Жыл бұрын
Do you have "wipe while retracting" set in PrusaSlicer (unsure what it is in cura) when enabling z-hop? I would expect that what your change does is similar to: retract while moving the nozzle over printed stuff to basically wipe it clean and the do z-movements to avoid hitting stuff. That's what I would expect "wipe while retracting" to do when z-hop is enabled: retract and wipe and then move up. So, did you have that option set?
@uhu4677 Жыл бұрын
I am actually amazed, that he doesn't seem to know this option. I always enable Z-Hop, and I always enable wipe. No stringing here.
@RomanoPRODUCTION Жыл бұрын
Interesting job, let's hope prusa will hear you about that.
@redrover1154 Жыл бұрын
While I can understand the 'up' portion of the diagonal move, I'm not sure the 'down' portion of the diagonal move actually contributes much to the improved print quality. If the benefit of the diagonal move is to clear the nozzle from curled edges, you would theoretically want to reach the maximum height of the z-hop as soon as possible (at an angle that still provided the low-stringing benefit of course), sustain that z-position, then drop to the model at the intended destination (such as in your alternate diagonal move) Moving diagonally upwards the entire travel move seems to just increase the risk of clipping some element of the model over long distance travel. So perhaps you could include another parameter that controls the total distance traveled before the maximum z-hop height is achieved.
@g3-is-me Жыл бұрын
It seems like the moving horizontally has the effect of wiping the nozzle clean. I wonder if a method of retract, then move horizontally off the part, then ramping upward would be effective. Then a simple lowering like you do in the alt method and restoring the filament back to the nozzle would work. Further, to prevent whatever limited filament might be dragged off the edge, a brief reverse in horizontal direction might keep more material away from the part edge. Whatever might remain would potentially have minimal impact on the next layer deposited. I"m still new to all this, so I don't have the experience to predict the possible results.
@andybrice2711 Жыл бұрын
I have a related idea which I've been wanting to try, but I'm not quite good enough at G-Code yet. Let's call it something like "Non-Planar Bridging". I'm wondering if we extruded bridges in just the right arc/parabola/catenary shape, whether we could eliminate sagging.
@SianaGearz Жыл бұрын
I don't believe that this is possible. But I can give it a try and it's an interesting idea. You don't expect the extruded bead to fully cure while you're bridging. Indeed thus helps you keep it somewhat clean as surface tension helps you fight gravity and maintain low sag. So when you draw your bridge faster, it actually succeeds more. You can also underextrude the bridge, since area will drop a little with extrusion width but volume and weight will drop much faster. But very slow bridges cure more and maybe it is a thing that can be done.
@runklestiltskin_2407 Жыл бұрын
Looks to me like you could improve the bed adhesion, too.
@sublucid Жыл бұрын
Yeah, I thinking “Uhhh, did you try using a brim?” But there might be another issue that crops up in that case if it’s hitting curled up edges…
@Karavusk Жыл бұрын
@@sublucid I was thinking "why isn't he using 100% fan speed all the time for pla?" Z hop is not something I would ever use to fix this
@goldchain34 Жыл бұрын
I think the alt z-hop that would work best is the one that starts at the same level at the print, retracts (and in it's movement away acts as a sort of wipe), but then change height to max z-hop height during travel, to then stop and lower into place over the next starting point. It accomplishes the "wipe" when leaving, and the z-hop to avoid little lips (as you pointed out) when moving back to a section.
@jesta192 Жыл бұрын
What if, in the slicer, travel moves avoided areas near overhangs? I can still see your method hitting the curl in some cases on certain models. If there was a setting that said the travel move must begin away from any overhangs (including a margin), and would also need to avoid printed areas, I think it might be the best way forward.
@Marzec309 Жыл бұрын
Here's an idea to tweak your alternate Z hop. If you can travel off the part horizontally and then once clear start the alternate hop motion. This way you still get the wiping action as the nozzle clears the part.
@alejandroperez5368 Жыл бұрын
Outer perimeters need to be printed last, and the nozzle needs to move to the point where the nozzle has the shortest path to exit the printed area, even if it means moving away from the next printing point, otherwise you may hit your already printed section (curled borders). Once the nozzle is outside, lift and move it towards the next printing point, going down vertically. Also, retractions may need to be tweaked.
@TheSupertecnology Жыл бұрын
Cura already does such thing; parameter is called "avoid printed parts" and it can also avoid support material. It does choose between a z hop or an avoidant travel move though, but never both simultaneously.
@bert_b139 ай бұрын
"Curse this overhang egg." 😂Legend.
@cho4d Жыл бұрын
like you i suspect the key is in the initial move away from the model. i think starting the move horizontally (ie. identical to no z-hop) would be worth trying. then raise Z while travelling using a sine function or something so most of the vertical move is done near the end to hop over the obstacle before plopping down again.
@bsimmons00 Жыл бұрын
Wouldn't this just lead back to the original issue of the nozzle catching on the curled overhangs? That was my takeaway from the video. The diagonal hop is interesting but you still need that initial vertical hop of some sort to get clearance over any curling.
@bujin5455 Жыл бұрын
@@bsimmons00 depends on which overhang you're talking about. If you're talking about the overhang (protrusion) at the destination, then no, you're hoping over it. If you believe the problem is because of a protrusion closer to the head's current position, then yeah, you won't avoid that. Though, from experience, it seems like there are few issues that arise from bumps near your current print site (probably because of how fresh and warm the area is), and most of the issues come from crashing into something near the end of the travel to the next print destination (which is cooler and more rigid).
@nandingpanelo Жыл бұрын
Youre amazing. Happy new year
@ObGoRat Жыл бұрын
Cool idea and thanks for helping the community out with your tuning site and tips! Would it be possible to let the hotend sidestep to an area where nothing had ben printed yet and no potentially curled up sections could pose a collision risk? Then, you would have the pros of a normal non-z-hop horizontal movement but still dodge printed edges which did curl up. I have no idea about programming though, so I am not sure whether it would be hard to write an algorithm for a slicer which identifies possible pathways in the same level instead of inserting a z-hop to a level where nothing should be because there should not yet be extrusions. On that note, maybe the existing code for non-planar slicing could help out here..
@Duraltia Жыл бұрын
Halfway into the video I was already about to suggest the Alternate approach which by the time the video finished became redundant - Nice to see my gut feeling not having betrayed me.
@DIYunpolished Жыл бұрын
Within orca slicer which is a fork of Bambu slice you can use the spiral z hop that Bambu uses on their machine. I use orca for my ender 3 pro. Printing one of these now with spiral z hop.
@triblade1669 Жыл бұрын
I think this will work amazing. Industrial machines already use this idea. My jobs laser cutter let's you choose been curved, diagonal, out rectangular movement when moving from part to part.
@puerlatinophilus3037 Жыл бұрын
As the stringing most likely comes from the upward motion sucking out molten filament from the nozzle, I propose the following; 1. start the line horizontal without retracting 2. After a defined distance (let's say 2mm) you retract while doing the movement of step 3. 3. Continue like your second proposed method. I.e. move to 0.6mm above location B. 4. Unretract and lower to location B. If you want to get extra fancy you can try unretracting a small bit more filament before lowering down to location B and retract back to normal before touching down. But idk probably nothing exciting would happen.
@gerthddyn Жыл бұрын
I'm curious about Patrick's egg. His looks perfect and even zooming in you can see almost none of the overhang jaggies yours has. Did he expound on his settings to get that and his printer? I'm still not sure what causes stringing with z-hop and why you don't get any if you don't do it and go in a straight line.
@rammiii2908 Жыл бұрын
Great Idea and good explanation. Why not make a small movement to the inside of the print, the direction pointing to the infill?
@MartinDerTolle Жыл бұрын
I think one important parameter would be the delta between the current printing layer height and the height to which the printer head will lift off to. In your example, no such delta is set, so it just lifts off as much as it wants to. My thought process is that the diagonal z-hop, as beneficial it may be, probably only really matters for near the point of lift-off and maybe at the drop-down (not with the proposed alternative, of course), so it would make sense to move the printer head in a straight line onwards from where continuing to move the printer head in the upwards direction would prove no benefit
@dannyberne Жыл бұрын
I used to have a script that would intercept the g10 through g11 command, retract E, do a 3d diagonal move to just above where I was going to plop down, and then unretract E, and simultaneously plop down. I stopped when I started using firmware retraction and linear advance. I've thought about hacking marlin to make g10 and g11 more complex by adding some canned code, but I haven't found the time
@antonkoenr Жыл бұрын
Inspiring video:) How does this test and theory compare to pulbic domain Orca slicer Spiral or Slope Z hop type settings?
@Enjoymentboy Жыл бұрын
Watching the animation showing the difference between standard travel z hop and diagonal z hop really clarified this for me. I'm new to 3d printing so I am taking in all the info I can and this is great stuff. But one thing hit me: Why do the hop from 2 edges that at close together instead of from the "outer" edges? Using the tower you showed in this video would it help to do the hops at the outside edge, travel over the printed surface doing the diagonal hop and then "land" on the outer edge on the other tower followed by moving inwards as those layers are applied? I suspect I'm not describing it well but I would think that the stringing could be reduced if the strings are connected inside the print surface instead of at the edges.
@Sebastian0x7BF Жыл бұрын
I think you have to avoid any nozzle movement but the horizontal one just after the retraction - as far as I get it that’s the main cause of reduced stringing when no Z-hop is in use. The Z-hop has to be done just before the nozzle reaches the next extrusion point to avoid the collision. Of course the transition between movements can be fluent like S-shape to reduce resonances, however it’s a matter of fine tuning the whole idea.
@benjaminjohnson6476 Жыл бұрын
This is a thought i had for a gcode modification that i dont have the skills for but could reduce travel times in prints. What i have noticed is if you align the zseam to one spot like a corner the slicer will be starting and ending each wall in relatively the same spot. So i thought why have it stop, retract, move, prime, print when it could just continue from the end of one wall to the adjacent start of the next wall out. Effectively connecting all the walls into one cohesive snaking wall for each layer. To me this seems like it could reduce travel times pretty well.
@yusky03 Жыл бұрын
I printed this out of ABS using the same settings I use to print all my Voron Parts. Came out perfect other than some minor miss aligned bridge extrusions due to the bridges being on a curve. I guess the low part cooling needed for ABS with 40c chamber temps really makes this a cake walk for ABS. My Lift Z is set to 0.2mm and I didn't have any stringing. I even even have outer perimeters printing first which should make overhangs harder to print.
@mikejones-vd3fg Жыл бұрын
Clever work around and perfect timing because it may not be needed soon, I just saw a solid state cooling fan with no moving parts at CES, super cool and would be perfect for 3d printing. And what do you know the issue of the print not sticking is directly related to cooling. I wonder how much speed we're actually loosing because of non optimal cooling. I see fan upgrades in the 3d print community all the time but nothing much more said after that. The company claims it can improve laptops performance x2 is how bad cooling is these days , giving them another 5-10w of headroom, which is alot if your processor is only 15w to begin with so a pretty major breakthough in coolin technology i cant wait to see it applied to 3d printing. Maybe you could mod an ender 3 to print at 500m/s with that kind of fan? I saw the video on PCworld's channel that shows it off at CES if anyones interested and Frore Systems is the company. It looks like a flat lithium battery that apparenty is filled with these small vibrating membranes that suck air in at incredible speeds and blow it out the end.
@pyalot Жыл бұрын
I think stringing is reduced with no z-hop because the bit of oozing filament is wiped off as the head moves sideways away from the just printed part. You could experiment with „micro wipes“. Basically retract, then do a little wiggle before hopping.
@ScottLahteine Жыл бұрын
In general the diagonal Z hop is similar to the wiping option in the slicer, providing a little more surface and time to capture oozing filament. A short retraction as part of the Z hop may also help the process for objects with small surfaces. And you may get even more improved results by accurately tuning Linear Advance, and of course doing all you can to avoid ooze and wet filament that generates uneven pressure. Oiling the filament (e.g., with a paper towel dipped in vegetable oil) is another old-fashioned way to reduce ooze because it produces a slightly more regular extrusion. The object I sometimes use for this kind of stress testing is the classic Voronoi Skull at a very small size. Even before we had Linear Advance I was able to tune my old crufty Prusa i3 to the point where the output was almost completely string free. Anyway, diagonal Z hop is a fine variant of wiping and it would make a useful OctoPrint plugin while we await the slicer option.
@koenvanduffel2084 Жыл бұрын
What about the spiral Zhop in Orca slicer? That helped me out a lot when printing PA12.
@MAJ_T_Bagger Жыл бұрын
Very cool idea! would your post processor allow a z hop half way through the travel move? Then your normal anti stringing settings shouldn't be affected but still get the benefit of the hop on the next print move?
@ShadowDrakken Жыл бұрын
I suspect a horizontal wipe equal to the extrusion width (ie. as if z-hop were disabled briefly) before starting the diagonal movement should help with the stringing.
@GuckerAndi Жыл бұрын
When looking at the alternate diagonal z hop, it seams that the stringing is more at short travel moves. I guess thats the result of a bigger angle between horizontal and the travel move. Maybe you get better results by defining the diagonal angle to be constant instead of the travel height. You could still have a maximum height and after reaching that a horizontal move.
@valshaped Жыл бұрын
I think starting flat and using a curve upward at the start of the move would be a good choice
@cosmiccrunch8591 Жыл бұрын
A simpler and potentially safer (in regards to avoiding collisions) solution would be a short horizontal wipe while retracting and then a normal z hop before completing the full travel move.
@chicoxiba Жыл бұрын
HI how about the tight spiral up to clearance plane to get rid of the crap and Straight Rapid to next island. Bambu slicer does day.
@ashleys3dprintshop Жыл бұрын
I know the X1C does a Z hop while printing but I just that ran model on my printer and it printed fine, no stringing, on default settings in 1 hr. Uploaded for proof.
@tfinzel Жыл бұрын
Same for me on my Bambu Lab X1C. No problems with that print.
@begeekru Жыл бұрын
I think problem could be mitigated by avoiding entering and crossing curled zones, which can be detected by slicer as areas of steep overhangs. If nozzle will avoid these zones printing will continue regardles curling.
@elvinhaak Жыл бұрын
Will test soon. But: I think the results will be even better with a reversed start-section. What I mean is the following: Z-hop to the opposite moving first for a short bit and then do the real motion, a bit overshoot and move back. I'm pretty sure this can eliminate the stringing even further.
@reverse_engineered Жыл бұрын
Basically a wipe in the reverse direction? I was thinking something similar. It might be a bit tricky though because it might not be obvious which way to move back if there are many short segments.
@elvinhaak Жыл бұрын
@@reverse_engineered Yes, that is what I meant too. Might get the distance from the last line but still tricky.
@kamalG Жыл бұрын
Fun thing, bambulab is using Z hop as default, but there ain't a single string on the print. It might be the wiping distance of 2mm, but it's worth a bit of investigation.
@MauriceMischo Жыл бұрын
One great tipp to achieve simalr results is to increase the Z jerk
@iannicholls2790 Жыл бұрын
My guess, explained better by Bu Jin here, is that the stringing would be reduced if you didn't raise until the head is in mid-air. That is, delay the z-hop for a mm or two, but keep it vertical. This way, it wipes away any stringing on the source island, z-hops over other islands, and down to resume at the destination.
@ScottyMcCraigles Жыл бұрын
My thoughts as well while watching the video.
@wesleyfraser3058 Жыл бұрын
Innovative idea. I wonder if after a retract, a wipe on the current part couldn't solve the stringing issue, then z-hop, move, unretract?
@Sembazuru Жыл бұрын
PrusaSlicer has (and all Slic3r based slicers should have) a wipe while retracting that should do this wipe-move right before Z-hop. And it also has a setting to have a portion of the retract to happen before the wipe. The help text indicates this "retract amount before wipe" is intended to mostly help on bowden printers.
@intheworld99 Жыл бұрын
Really interesting your research and testing. Very thanks for your resources in your calibration site and videos. Did you already talk about a way to recover a failed print? I mean a way to launch a new print in top of existing failed print by offseting Z and chopping the gcode at the right "height" or maybe another technique to get it. This would be super useful for those big prints that fail at the very end.
@WernerBeroux Жыл бұрын
To reduce stringing even more, what about a horizontal move half way and then Z-hop (possibly ideally using the alternative version).
@TH-wr1dv Жыл бұрын
Not new idea but still good one. Look airplane z lift from superslic3r repository
@TH-wr1dv Жыл бұрын
ticket number #927
@thealpatxino Жыл бұрын
An alternative method that also could be tested is to make the Diagonal go directly above the destination point and not the middle point. in that way it would do two moves, one diagonal upwords, and then the vertical down to start the new extrusion. It could reduce the stringing and also had the benefits of a not so dialled extrusion so it does not knock the piece out of he bed.
@thealpatxino Жыл бұрын
oh well... i finish to see the video now... hahahah
@rubenexplains2640 Жыл бұрын
I'm printing on a shitty fire hazard ANET A8 on a heated glass bed, hair spray for helping the part stick and a BL-Touch for bed leveling and I never had issues with parts getting of the bed. Maybe your bed adhesion is sub-optimal and that is where your bottleneck is. Your z-hop solution is promising though, great find!
@hallowedshade125 Жыл бұрын
Wanna get wrecked? Take a shot everytime Michael says Zed. 😆
@MrExo_3D Жыл бұрын
I think this is a good idea, and should be implemented as an option in prusaslicer. the most control we have the better
@2008abba Жыл бұрын
Are you using prusa slicer? Isn't there a wipe settings in there? I'm pretty sure that's what I turned on in order to remove a lot stringing. I'm not going to claim that I'm trying to print anything nearly as torturous as this. But anyway
@stevenhu202 Жыл бұрын
I wonder if you could combine this with a x/y jerk. Just have it change its angle so the stringing doesn't connect.
@VaWo13 Жыл бұрын
great idea! but i think you should've tried adding a small wipe-distance of around 1 mm to the start of the trave!
@uhu4677 Жыл бұрын
Why don't you just use "wipe while retracting"? It will do a horizontal movement first then and the Z-Hop later. With Z-Hop + Wipe enabled I print dry PLA without any stringing.
@Hairing Жыл бұрын
Maybe a better idea would be to enforce travels to go around steep overhang areas or lift if it cannot do so. But might be hard to implement.
@reneeceldesigns3965 Жыл бұрын
Can I make another suggestion. Keep the setting without Z hop for 2mm initial movement. Then perform the Z hop. Thus you keep the original non Z hop 'wipe' movement and keep the benefits of Z hop.
@CB_agotchi Жыл бұрын
I think there's something to it. Bambu slicer uses a spiral z hop and it works great 🤷🏻♀️
@dovedyson Жыл бұрын
Love the shirt.
@cassandracollins4150 Жыл бұрын
seems promising, although it would take way longer to print possily moving back the way you came when starting the travel (eg traveling allong the+Y and then step up towards -Y) then towards the next extrusion. try to make the stringing go inside already excitant parts.
@santiagopostorivo Жыл бұрын
Will it work well with Klipper? I read that the normal Z Hop should be disabled. I used it with klipper and it worked fine, so I do not know why that suggestion was made in the Klipper guide.
@fouzaialaa7962 Жыл бұрын
very cool can this be stacked with "wipe while retracting" to get rid of stringing all together ? its a feature in prusha slicer
@ryanvoss6316 Жыл бұрын
I would think allowing the travel to move horizontal for say 2 mm and then move upwards should remedy the stringing issue as it acts like a normal travel and most failures happen as the travel arrives at the next extrusion
@altus1226 Жыл бұрын
I wonder if "bobbing" the filament or the print-head might result in a better result than even this!