-
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
Increase solid infill area to next sparse infill line #569
Comments
That has been on my list for a long time.
…On Sat, Nov 4, 2017 at 10:37 AM, Sebastianv650 ***@***.***> wrote:
Version
Applicable to all Versions
Behavior
This is a problem I have since I own a 3D printer: If you have models
which have more than one horzontal top surface only a few layer heights
separated from each other, the print will have rough imperfections on the
topmost layer due to the way Slic3r starts a solid infill over a sparse
infill when the solid infill isn't connected to a perimeter on all sides.
See the attached stl, a baseplate for my latest print as an example (scale
to 5%):
Grundplatte.txt
<https://github.com/prusa3d/Slic3r/files/1443092/Grundplatte.txt> (rename
to .stl)
That's the result:
[image: baseplate]
<https://user-images.githubusercontent.com/10776877/32404126-5271f808-c14a-11e7-87e7-c3c447a7b778.JPG>
If you choose a even more sparse infill type like cubic instead of
rectilinear, it gets even worse. The reason for this is that the ends of
the first solid infill layer, which is printed with bridging parameters,
have nothing to stick to, so they curl upward when the print head switches
direction. The next layers printed obove this jams into the ends, resulting
in surface defects.
This problem also happens in a simmilar way when we have a shape like a
cube, where you have a cylindrical hole in the top (not going all the way
down). The 1st solid layer of this hole is printed over the sparse infill,
if this is realy low it might even print completely over air.
My idea is to add a second condition to the infill area generation: Always
extend the first defined area to the next sparse infill line printed in the
last layer. This way, the ends have something where they can stick to when
the print head turns into the other directions, so they shouldn't curl up.
See sketch for clarification:
[image: scan_0001_cut]
<https://user-images.githubusercontent.com/10776877/32404178-27b5ffa0-c14b-11e7-98a9-3be600881306.jpg>
In worst case (no infill or small part), it would extend the solid infill
up to the next perimeter. The next solid infill layer can then be printed
in the usual area, so no extension is now needed as it has already a
surface it's printed on.
Feel free to ask questions, I'm not sure if I was able to describe exactly
what's the point ;)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#569>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFj5I0htP_gsB_8dlMzhKu88GHyuQG9Sks5szDA9gaJpZM4QR8ut>
.
|
For me it's #1 issue that could save up to 30% filament. Make 0% infill and use infill only where it's really needed for cosplay/decorative parts. There's no reason for people to use 20% infill for their Picachus. Similary called checkbox "only infill where needed" only breaks the infill, IDK why it's even there. |
Same problem which I hoped to be answered by someone from Prusa, maybe a video could help us to solve this issue for thousands of users... @josefprusa |
I've had the same issue. PrusaSlicer 2.x correctly identifies the feature type as Bridge infill, so it seems like the logic would need to be applied specifically in those instances. At the end of each bridging segment (or where a direction change is needed), the slicer would need to look at both the current layer and the layer below. Check if the end of the bridge is going to touch an existing extrusion on either layer. If not, look for to the next available extrusion (on either layer) beyond the end of the bridge and extend to it. |
@rtyr Any updates on this? I hoped this will be included in 2.3.1 :( Workaround: Use the "print solid layer every n layers" or use the height range modifier and change the infill to 100% for the critical slices. |
@dxstp It has relatively high priority, but I will rather not promise it for 2.4. |
@lukasmatena Wouldn't it be the easiest to completely fill the layer under the first solid bottom layer after an infill layer, no matter what? It could be activated as an expert config setting if needed. |
No, just think about what it would do to print times, if it was a very large part. Also, what a waste of material. |
I would rather have a print that completed without failure than a fast or efficient print. If it wrecks the part... then the whole thing is a waste of material. |
Sure... but why not use a modifier in critical areas? |
Mostly because I would expect the slicer to be competent out of the box. For a commercial usecase like mine, time is money. I have neither the time nor the inclination to arse about having to second guess what the slicer will or will not do. Printing into dead space, causing lumps or other issues is directly opposed to being competent. |
The reason for sparse infills actually is having a fast and material efficient print. Otherwise we have to print the parts with no less than 20% infill to mitigate the impact of this bug - or lose a print completely. Both is much more wasteful than printing one solid layer which is properly attached everywhere. Of course a smarter solution is possible, but alas, this bug is almost 4 years old. A pragmatic and simple solution which actually gets implemented seems to be at least something. |
This issue appears to be affecting support layers as well. Here is a screenshot showing several top support layers are entirely floating in mid air. I have not found a work around for this.
|
@lukasmatena @bubnikv The original issue is still open in 2.4.0-beta1, the generated result looks exactly the same. The root cause is in the slic3r library, I already mentioned this issue in their Github too. However, this is regarded as a "feature request" and unlikely to be addressed by the lead developers ("pull request or bust"). |
Only thing that has changed is the fact that it will indeed not be in 2.4. |
@Automatica-Mat Like I already said, it is quite high on the list. Doing an extra perimeter will not magically make it supported, it may help in some cases but not universally (it might bridge in your case, but hardly in what @dxstp posted). |
Well, just to add one more vote for this issue to get higher on priority list as it indeed ruins prints. |
Considering the speed in which the arachne engine was ported from cura, i personally can't understand why this issue (which isn't just only an annoyance, but a serious bug, resulting in failed prints, or the need to add more infill, thus wasting material and time) is so long open, especially when looking at super slicer (a fork of PrusaSlicer), which has the needed feature, called 'Supporting dense layer', at least since 2020. Edit: So the code is there since 'years', you just need to grab it, as SuperSlicer is a form of PrusaSlicer i assume that shouldn't be so much work at it's the same codebase. |
I will join the request to solve this problem .. after switching from cura to prusa, a lot of plastic was screwed up until I realized what the problem was, and later - many hours to find the right setting to fix this problem, feeling like a complete idiot because I can’t find the right setting in Prusaslicer (well, it can’t not be there) .. Well, I would like to take this opportunity to thank you for the Prus slicer, because very nice to use this product |
This is a severe bug as it directly leads to failing prints and should not be too hard to solve. Having it open for more than 5 years now, that's just bad :( |
This should be fixed in 2.6.0-alpha5. Feedback is welcome. |
what infill? is is cubic like în #569 (comment) ? |
From changelog: Extend sparse infill #569 Another long-standing issue was connected to bridging solid infill printed over sparse infill. The shape of such infill islands was only determined by what was above, and the infill lines were often inadequately supported as a result, leading to mid-air extrusions and possibly failed prints. PrusaSlicer now extends the lines of the bridge infill so that their ends are supported by the sparse infill on the layer below. The bridge infill is now always using 'Thick bridges'. The new algorithm is NOT applied for Support Cubic, Adaptive Cubic and Lightning infill. |
That is great news. Will Slicer warn if infill that is used does not create proper support for upper leayers? |
We plan to extend supported infill patterns :). This was just changelog for alpha5 release. |
I think we delivered this feature, so I am closing this thread. For specific bugs/requests were created own issues already and we are mosly working on them. Hope you like the feature it in the end of day. Thanks |
As I searched for Bridge Infill maybe my bug is related to this feature |
Version
Applicable to all Versions
Behavior
This is a problem I have since I own a 3D printer: If you have models which have more than one horzontal top surface only a few layer heights separated from each other, the print will have rough imperfections on the topmost layer due to the way Slic3r starts a solid infill over a sparse infill when the solid infill isn't connected to a perimeter on all sides. See the attached stl, a baseplate for my latest print as an example (scale to 5%):
Grundplatte.txt (rename to .stl)

That's the result:
If you choose a even more sparse infill type like cubic instead of rectilinear, it gets even worse. The reason for this is that the ends of the first solid infill layer, which is printed with bridging parameters, have nothing to stick to, so they curl upward when the print head switches direction. The next layers printed obove this jams into the ends, resulting in surface defects.
This problem also happens in a simmilar way when we have a shape like a cube, where you have a cylindrical hole in the top (not going all the way down). The 1st solid layer of this hole is printed over the sparse infill, if this is realy low it might even print completely over air.
My idea is to add a second condition to the infill area generation: Always extend the first defined area to the next sparse infill line printed in the last layer. This way, the ends have something where they can stick to when the print head turns into the other directions, so they shouldn't curl up.
See sketch for clarification:
In worst case (no infill or small part), it would extend the solid infill up to the next perimeter. The next solid infill layer can then be printed in the usual area, so no extension is now needed as it has already a surface it's printed on.
Feel free to ask questions, I'm not sure if I was able to describe exactly what's the point ;)
The text was updated successfully, but these errors were encountered: