Closed vgdh closed 4 days ago
Must be tested , Gcode looks like for a direct-drive extruder ( very small retract distance) need to validate also for bowden extruder type . Seems simple enough to integrate into a post-processing script.
Edit : Not totaly convice .. on my Ender-3 I still have a seam , in fact 2 seams . One at the beginning the other one at the end of the slope area . And I'm not sure that a printer can respect the instruction of Z=0.43124999999999997. At the start of the slope, as the height above the previous layer is zero, it looks as if the nozzle is rubbing against the previous layer.
So good Idea ... but this doesn't seem to be an universal solution.
works well on the cheepest kingroon kp3s with klipper
I think that for some machines, this could be a solution.
On my bowden Extruder doesn't get a nice result :
External Start of slope Area
External End of slope Area
@GregValiant can you test on your own printer ? Gcode tested on Ender-3 : https://github.com/5axes/seam-hiding-whitepaper/blob/main/ender-3%20nozzle%200.4%20line%200.25x0.4.gcode
Unfortunately, this looks suspiciously like a method that has been patented. If i'm right (and it's indeed patented), this will prevent us from adding it :(
I think that for some machines, this could be a solution.
On my bowden Extruder doesn't get a nice result
I think bowden can't provide the right accuracy of flow rate. May be it for direct machines only.
What if someone were to implement this as a CuraEngine plugin though? Ultimaker cannot help what external contributors implement, right?
What if someone were to implement this as a CuraEngine plugin though? Ultimaker cannot help what external contributors implement, right?
that is true
What if someone were to implement this as a CuraEngine plugin though? Ultimaker cannot help what external contributors implement, right?
If you don't want to put it on the market place, why not, but personally Ultimaker refused one of my plugins because it used a common font that was not free to reuse to make an STL model, for example. So I think it would be the same here.
Now, if there is a patent, we'd still have to check its content. Sometimes, depending on the content, there's always the possibility of a similar but different approach that would render the patent null and void. @nallath do you have a link to this patent ?
In the method shown, we start from a Z 0 offset with a zero flow and work towards the layer height, then zero flow again. You could, for example, start from a larger offset with non-zero flow to finish the slope before the Z of the layer. This is another method that could be beneficial to extrusion, as we know that machines aren't really capable of handling very low flow rates. That's one way of working... Maybe I'll apply for a patent ... Shit, it's too late, because I've written it does mean it's not possible anymore.
The patent I was worried about is this one https://patents.google.com/patent/US8349239B2/en but it only makes claims about the XY plane. So by including the Z plane it should put you in the clear (but I am not a lawyer, so do not take my word for it)
I think that for some machines, this could be a solution. On my bowden Extruder doesn't get a nice result
I think bowden can't provide the right accuracy of flow rate. May be it for direct machines only.
I think that should be possible. You can't change the flow quickly, but you can change the speed quickly. So instead of changing the flow, you just change the speed of the nozzle. That's what we do for Arachne currently
The patent I was worried about is this one https://patents.google.com/patent/US8349239B2/en but it only makes claims about the XY plane. So by including the Z plane it should put you in the clear (but I am not a lawyer, so do not take my word for it)
It's not the same solution and I don't think this point could be cover by this patent .. There are an other Enhancement request on this Github concerning this patent and how to reduce Seam : https://github.com/Ultimaker/Cura/issues/5728#issuecomment-1604470163 This one is exactly what the patent describe.
I have written some post-processing script. Feel free to test, modify, or contribute.
Now the script processes only the outer perimeters, printing the inner ones as usual.
bender likes it very much 😁
This feature in now implementing by OrcaSlicer: https://github.com/SoftFever/OrcaSlicer/pull/3839 Feel free to participate.
Looks like I'll have to do some more OrcaSlicer this WeekEnd ;)
Also now implemented implemented in Prusa and I have a different OrcaSlicer reference slicers.
This picture is from the Prusa PR:
See also https://www.youtube.com/watch?v=vl0FT339jfc
As an interim could anyone implement this as a PostProcessing script?
For the moment, this function is only integrated into Orca : https://github.com/SoftFever/OrcaSlicer/pull/3839
There has been a lot of work between the original script and the version that has just been integrated. So I'm not sure that integration via a script in Cura is possible. The Cura team will have to integrate this function in Cura natively, but I'm not sure that this is one of their priorities. There are still steps in development, notably with an adaptive option where the scarf joint seam would only be integrated on contours without sharp angles, as in this case the use of this option is counter-productive.
New option in OrcaSlicer : https://github.com/SoftFever/OrcaSlicer/pull/4317 : Conditional Scarf Joint
This is somewhat of a gamechanger. Would love to this in Cura :D
@5axes Sorry about this late reply. I just saw the updated comments. I changed the retractions in that gcode file to 6.5. My results were exactly the same as yours with two seams on the exterior about 180° apart. There were also two seams on the interior. This was sliced with Orca 2.0dev. The seam on the backside was unobtrusive but visible. This scarfed seam wasn't too good. It may have been better if there was some extra prime, but that is something I've never had to use.
As with the example gcode - there was a lot of cross-print travel which lead to stringing (PETG). That may have been a result of my inexperience with Orca. Between the stringing, under-extrusion, and poor seam quality my opinion (as of 8:01AM EST) is "Not yet". That is of course subject to change on a whim.
You can do better ... maybe it's time to leave Cura and invest time in another solution :)
I like the customization possible with Cura. I also prefer the interface (as clunky as it is). I prefer the supports as well. The "I refuse to slice this" bug hasn't affected me much. It mostly occurs with organic shapes and I don't print very many of those. Industrial type things haven't been a problem.
I have ported all 28 of my post-processors to VB. I can open a gcode file created by Prusa, Orca, Bambu, and IdeaMaker, as well as Cura and Creality - post-process them, and write a new gcode file. The VB code needs to be cleaned up and organized better, but they work.
Pro Cons
Among many other reasons, Cura has cloud backups and plugins like "Filament Settings" that make it have far better customization and saves lots of time compared to others.
I have a Ender V3 SE with a pretty well-tuned Klipper atm, is there some easy way to try this scar method to provide some direct-drive (0.6mm retraction). I assume I just download the gcode file and edit it as needed?
The Gcode is sliced in Relative Extrusion. You can go through and replace the retract and prime lines with the retract distance of your choice. "As received" the retract distance is 0.5. I changed the retract distance to 6.5 and I copied the startup and ending gcodes from another file and pasted them into the scarf gcode. It worked fine.
Orca Slicer 2.0 beta with Scarf joint seam with the option Conditional scarf joint (only on smooth contour) and slowdown for scarf joint : https://github.com/SoftFever/OrcaSlicer/releases/tag/v2.0.0-beta
Unfortunately, this looks suspiciously like a method that has been patented. If i'm right (and it's indeed patented), this will prevent us from adding it :(
Isn't this too simple to be patentable?
You can have a patent on a "simple" Idea. But concerning this discussion and the mentionned patent, it's not the same solution so in the present case there is no limitation to use it in Cura. Second pointthe scarf seam is not any more a simple solution. After a lot of tests and prototype the solution and number of parameters is now much more significant
What is the difference between this and vase mode?
What is the difference between this and vase mode?
It's already been implemented in OrcaSlicer feel free to try. Vase does only one line width wall and this method can do any number of lines in a wall.
Base mode does a single continuous wall spiralling round and round.
Scarf joins are like a wooden scarf joint. It starts a wall (any wall) by creating a gradually thickening extrusion (raising the height and extending more) over a short distance until it gets to the normal layer thickness, creating a sloping start to the layer. Then it does the rest of the wall normally. When it gets back to the start point it goes over the sloping part again, gradually reducing the extrusion amount so that it fills the sloping area to the normal height.
I have tried this with orca and it is NOT a magic solution to seam bobs caused by oozing - you need to get your retractions and/or linear advance right first.
If you think about how this works, the total amount extruded is (in theory at least) identical to a normal wall, so I think it should easily be within the bounds of possibility to achieve this with a post-processing script.
Hide the Seam Completely
Explanation
Every closed loop will eventually have a visible seam. However, if there is no specific point where the line ends, there is no seam, right?
That's it. The algorithm is remarkably simple, though the result is astonishingly good. It is not an easy task to post-process already existing GCODE files, but if it works at the slicer level, it will work very well.
The python code
The repository includes an example demonstrating a basic implementation of the algorithm for printing a ring. This implementation allows specifying parameters such as the number of lines in the ring, layer height, line width, speed, etc.
Also there is an example of gcode file for 0.4 nozzle line 0.3x0.6 layer height 0.3
Photos of the Seam Details on the Printed Example.
The first layer (the top on the first photo) was printed without the algorithm to get better adhesion.
In the photo below you can see there is no gap between the lines.
Describe the solution you'd like
I created and tested the algorithm to hide the seam completely. It would be nice if it will work within the slicer.
Describe alternatives you've considered
_
Affected users and/or printers
all the community
Additional information & file uploads
No response