-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A method for less visible seams #11621
Comments
This looks really promising and would make one of the banes of FDM less of an issue. |
Very few new features in a slicer are revolutionary these days, but this seems like it could be one of them. |
Scarf joint (source: wikipedia) |
I would love to see this idea receive more attention. I can imagine that implementing it in a slicer might be quite complicated since an algorithm would have to handle various shapes and sizes. Nevertheless, the result is very compelling, at least visually. |
I think implementation would be easy in the slicer. It would just have to keep track of the first x millimetres of each layer, do the taper over those point and then complete the matching taper over the same points, in the same sequence, at the end of the layer.
I’m hoping that now that PS2.7 is out there will be some attention given to scarf seams…
…On Sat, Nov 25, 2023, at 10:40 PM, ulfertg wrote:
I would love to see this idea receive more attention.
I've printed the test cylinder, and the result is simply great.
I can imagine that implementing it in a slicer might be quite complicated since an algorithm would have to handle various shapes and sizes. Nevertheless, the result is very compelling, at least visually.
—
Reply to this email directly, view it on GitHub <#11621 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BBXJAZJ423AYI5TJCWZ4QGTYGHKJJAVCNFSM6AAAAAA7DV6GVSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRWGI4DQMRQHA>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
commit b3n3d1k7@173a693 (that solves issue #7932) implements a 360 degree scarf for the last layer of vase mode. I think it can be adapted |
Yes, that would probably work. In fact, my own scarf code is adapted from a routine that I wrote to go between vase-mode and layer by layer portions of my objects. I think that the best solution would involve both the slicer and the firmware because the firmware could have responsibility for tapering extrusions over the length of a move. Such a capability would be very useful for non-planar printing. I once asked for this feature for RepRap firmware in the Duet forum, but the response was that my use-case was too specialised. |
wow, that's astounding, I will peek at the code. |
What should I do to gain more attention this feature request? Given the effectiveness of the scarf seams and the straightforward way in which they can be incorporated into slicers, I'm surprised that it has no visible interest from developers. Presumably I'm 'doing it wrong'... |
I love it! Maybe they have more important things to do, but you can stir the hornet's nest a bit: post this to Prusa/3D printing groups and maybe it will get enough traction. Eventually Jo will get bored from all the people who tag him asking for it and will just greenlight it 😂 Reddit: Facebook:
Show everyone the example picture from your initial message here, and it's sure to get lots of traction. |
@popsickl3 Good idea. Yes, I'll post to Reddit, but not Facebook. I deleted my Facebook account after Zuck threatened the Australian federal government with retaliation for proposed legislation that would have Facebook paying a small amount to Australian commercial news outlets for their news. Facebook then closed down all of the government departmental facebook pages and those of many emergency and social support services! He/they are not, at the moment, as obviously odious as Musk, but he/they are equally deserving of no support from me. Sorry for the rant, but things like that should not be forgotten. You can read about it here: https://www.theguardian.com/media/2021/feb/23/facebook-reverses-australia-news-ban-after-government-makes-media-code-amendments |
This is a nice idea but the requirement to print the outer perimeter first is a deal breaker. Most designs I print have some overhang perimeters somewhere (negative beveled edges or horizontal round holes), and printing the outer perimeter first results in poor quality due to insufficient contact surface. That's why printing the outer perimeter first is disabled by default. It's useful only for prints with no negative slopes that need high dimensional accuracy. I'd wager that this setting is rarely used, and by consequence this scarf seam feature would also be rarely used. It would be great if the scarf seam was simply an automatic integrated feature of the 'outer perimeter first' setting. |
@amatulic You may be right, but it certainly should not be a deal-breaker. Any clever implementation in the slicer would do the scarf seam where is fits well and a conventional seam in layers where the outer perimeter first is a problem. The slicer knows where there are overhangs and by how much the hang over, after all. |
@MichaelJLew - I'd like to see an option to "print non-overhang outer perimeters first". Then this scarf seam could be used on those, and on layers where there's any overhang, print the inner perimeter first as normal. This concept looks promising and needs some thought on how to implement it so that it gets used when it's possible to do so. I can't think of anything I've published recently that doesn't involve an overhang somewhere, even if it's just a 45° beveled bottom edge. A Benchy wouldn't do well with outer perimeters first, but it might be good if this could be flipped back and forth automatically. |
This is a great idea |
I don't know what a Pull Request is. Yes, it's an idea for the slicer, but I have already implemented it in my own LiveCode functions, so it is not "just" an idea. I have posted an example of Gcode that works, so it is not "just" an idea. I have also given a description that is pretty much pseudo-code, so it is not "just" an idea. Does a person have to provide C++ code in order to contribute? I don't think so, and I find your comment to be a bit offensive. |
I knew what you were referring to, but thank you for mansplaining it to me. |
I have been castigated on Reddit for saying that the implementation of this should be "easy". I guess I should have said that the implementation is conceptually straightforward. I have also been castigated for not supplying the code. I assumed that my Livecode code would not be helpful, but here it is: put 6 into z put rout-w/2 into r put rout-w/2 into r function smallSeamLayerMW xc,yc,rout,rLumen,LH, theta,@z,f function smallSeamLayerMW2 xc,yc,rout,rLumen,LH,seamDtheta,@Theta,@z,f function arc1taperLH xc,yc,r, dz,dtheta,@z,@Theta,w,LH1,LH2,f,ccw |
Seems that the Code function plays badly with the LiveCode code, so here it is again (with a couple of commented out lines removed): ("--" denotes a comment; code is case-insensitive; indentation is for clarity only) on mouseUp put 6 into z put rout-w/2 into r put rout-w/2 into r function smallSeamLayerMW xc,yc,rout,rLumen,LH, theta,@z,f function smallSeamLayerMW2 xc,yc,rout,rLumen,LH,seamDtheta,@Theta,@z,f function arc1taperLH xc,yc,r, dz,dtheta,@z,@Theta,w,LH1,LH2,f,ccw |
This is now being implemented for OrcaSlicer: SoftFever/OrcaSlicer#3839 |
I never really noticed this was an issue before. I started recently designing (with a view to selling) astronomy parts. Telescopes are round and cylindrical for the most part. These seams are bad enough that I'm not actually sure I can sell them in the current state! This solution does seem fantastic. I wonder, does it work with lower layer heights than 0.3? I have details on cylinder walls which benefit from lower layer height, around 0.15mm. I hope Prusa actually acknowledge the effort put in by the community in this thread. |
Yes, it works well for me with layers of 0.12mm. I'm not sure, but the micro-step distance on the z-axis might be a limiting factor... Are you aware that Noisyfox has implemented the method in OrcaSlicer? See this thread: |
I saw that. I've not looked in to alternative slicers, so will take a look thanks. I was on with Prusa Support the other day and I linked this thread, he said he would forward it on. Believe it or not the seams were actually interfering with my interference fit. I really hope they implement it. It's great. |
This looks brilliant! Given the hype Orcaslicer put on it (well-deserved), I would hope to see it on PS very shortly! |
Orca slicer is based on bambu slicer, which is based on prusa slicer right? I guess it should be possible to backport the code... |
It is a mix of Bambu and prusa. I believe the base is Bambu |
Is there a way on voting on such features ? anyone know ? @SachCZ |
Give it a 👍 in the first item. At least that shows the interest and support. |
|
I can't wait to have this feature in PrusaSlicer (or alternatively a XL-Profile in CURA)! |
I can't believe how long this idea has gone unnoticed for. This seems pretty easy to implement and would be a massive upgrade for PrusaSlicer. I hope they'll add it in 2.9 or 3.0 but I have no idea. |
Well, it was noticed by OrcaSlicer, as it has been implemented in 2.0 and 2.1. I was surprised by the lack of response from the PrusaSlicer developers, but it no longer matters to me. |
I just installed Orca to try this. What is it listed as? I'm also wondering if the Kobra 2 profile would have the same settings as the Kobra 2 Pro.. There was no option for it. |
Scarf joint seam in the seam portion of the strength tab. Try it with the inner/outer/inner option for wall printing order if you have three or more perimeters. |
Thanks, I'll give it a shot. |
It's odd, I found some old rollers I printed years ago. They are 25cm long
and 4cm in diameter and printed vertically. There is almost no seam joint
at all.. the print is nearly flawless.
This would have been printed on a MK3 using prusaslicer.
I wonder why things have got worse
…On Thu, 4 Jul 2024, 03:43 Androxilogin, ***@***.***> wrote:
Thanks, I'll give it a shot.
—
Reply to this email directly, view it on GitHub
<#11621 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIPJKO6WWPOQCGV76YTH2ODZKSZFBAVCNFSM6AAAAAA7DV6GVSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBXHEYDKNRSHE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
what was the layer height? |
0.2 is all I did back then would have been completely stock prusa settings.
Fillamentum petg
…On Thu, 4 Jul 2024, 10:32 Tomas Mudrunka, ***@***.***> wrote:
I wonder why things have got worse
what was the layer height?
—
Reply to this email directly, view it on GitHub
<#11621 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIPJKO7XUGIOVRS5ZFYQM53ZKUJCRAVCNFSM6AAAAAA7DV6GVSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBYGUZTCMBSGQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
This seems very interesting, is there any way to currently use this in PrusaSlicer with an external post processing code? I am hoping that since this is already implemented in Orca, that the developers will also seriously consider it for PS. |
Such a great idea. I can't understand why it hasn't been implemented by the prusa team. |
You did a lot of work on this proposal: you described how it should work, you provided images and a file for the slicer, you provided the code that implements this function, but you only received complete ignorance from the developers :( |
I think it's because the developers are (a) short-staffed, and (b) busy working on bigger changes and shiny new features, rather than algorithmic improvements to existing features, like the method described in this ticket. There's more to a fix than simply making sure it compiles without error and works; a huge matrix of use cases must also be tested, and this takes a lot of time. I actually submitted a trivially simple PR (#9737) well over a year ago that fixed a bug in how temperature is controlled when switching between materials with the MMU, and while it got a lot of likes and positive comments like this issue, and Prusa staff were pinged multiple times, it never got a response, so it's still there. I and many others are using this fix, but we all have to compile PrusaSlicer ourselves to do so. |
Ya'll need to calm down with the rage comments. They are aware of the feature: |
They know about it but it's probably not on the top of their priority list. Importance is in the eye of the beholder. I for one would rather have a supported method for drawing straight lines for seams and supports that has been requested for years. But they work down their own list of priorities, and if that doesn't match mine or yours, we can always use other slicers, I guess |
I really would like to see this as well and I'm confident they are already working on this :) |
This feature will be the best ever and would allow us to print better functional parts with narrow widths that won't glue together. |
66 comments. my 1 kilo robot planetary gear was kinda ruined by seams. I have to change to orca slicer to attempt it again. thanks! |
Implemented in 2.9.0-alpha1. Closing. |
The problem presented by the seams at layer change needs little introduction. It is sometimes trivial and sometimes important and PrusaSlicer offers a lot of variables that can alter the seam location, form, and visibility on the model. However, there is often no good way to prevent the seam from being #intrusive.
I have a method for making seams in my 'hand-made' gcode that are far less intrusive than those that I can achieve using PrusaSlicer. I believe that the method would be readily incorporated into the slicer and should be offered as an option.
I call the improved seam a 'scarf seam' because it is similar to a scarf joint that woodworkers might use to join two pieces of timber end to end. The scarf joint is conceptually simple as it simply has matching tapers on the ends of the timber that are glued together. A long taper gives a strong joint.
The standard seam can be described like this: the nozzle is positioned at the start of a perimeter at the z-height that is a full layer height above the previous layer. Extrusion starts and the nozzle moves around the perimeter until it arrives back at the start position whereupon the nozzle movement and extrusion stops. The scarf seam differs in that the nozzle starts at the same z-height as the previous layer. The Z-height is gradually increased as the perimeter is printed until it reaches the full layer height. (That is one of the scarf tapers.) The perimeter is then printed normally until the nozzle reaches back to the starting XY location, whereupon the nozzle retraces the first taper with a complementary taper where the layer height is decreased gradually to zero but the z-height is fixed. (That makes the second taper.) After the second taper is complete the nozzle can be moved away to complete the rest of the layer in the normal manner.
The low visibility of the scarf seam comes from the fact that the discontinuity of the joint if spread over the gradual tapers. When the nozzle is moved to the outer perimeter to start a scarf seam it is moved with effectively zero layer height and so there is almost no artefact from that movement. The scarf seam is compatible with any object shape, but I used a cylinder for the example for my own convenience. (I normally print fountain pen parts and most of my printing is pseudo-cylindrical objects with gcode from custom-written software and so I have a big library of cylinder-related functions.)
The scarf seam has a couple of possible disadvantages. First, it gives a region of variable layer height that may sometimes be visible. Second, it will be slower than the normal seam because it involves the nozzle moving twice over a part of the outer perimeter. That speed difference may be trivial in many cases as the scarf distance can be small compared to the perimeter total, and the outer perimeter is a small part of most printed objects. Finally, the scarf seam requires that the outer perimeter be printed first so that the first taper does not foul adjacent extrusions.
Example file
The attached file was generated by PrusaSlicer and then gcode generated by custom software appended. The PrusaSlicer settings were for the MK4 (no IS) and used the 0.20 QUALITY setting for Prusament PLA with the following changes from the defaults: no retract on layer change; no wipe; external perimeters first. The seam was painted on to force it to align with the seams from my software.
The first 6mm of the cylinder are the PrusaSlicer output. The region between 6mm and 12mm has a scarf seam with the tapers extending around the full 360 degrees of circumference. Between 12mm and 18mm the scarf seam has aligned tapers over 80 degrees of circumference. The alignment requires a retrograde travel move after each layer. The last section, 18mm to 24mm, has the 80 degree scarf but does not re-align the seams and so the seam moves by 80 degrees at each layer change.
cylinder d=12 h=6 v2d.gcode.zip
The text was updated successfully, but these errors were encountered: