Jump to content

Slicer bug.


Zlutz
Go to solution Solved by gr5,

Recommended Posts

Posted · Slicer bug.

Tested with Cura 5.5.0 and 5.6.0

 

Printing a smaller pipe on top of the larger pipe creates infill where it shouldn't be when I'm using exactly 6 walls (or 5 walls with alternate extra wall as on attached photos).

 

When I try with up to 5 or 7 and more walls, this doesn't happen.

 

I believe it's an edge case that happens when top pipe is exactly thick enough to (almost) touch the inner wall of the bottom pipe.

On attached photos, I'm using a 0.5mm nozzle with 0.6mm wall thickness, and the bug happens when I'm using exactly 6 walls.

Presumably, it's because the top pipe is pretty much exactly 8 walls thick, and bottom pipe would be 14 walls thick, 14 - 8 = 6.

I made a test to confirm my hypothesis so I tried using 0.5mm wall thickness. In this case, the bug happens when using 7 walls (instead of 6); top pipe is 9 walls in total, bottom pipe would be 16 walls in total, 16 - 9 = 7.

 

I also uploaded the STL file and the profile so you can hopefully reproduce it.

The square part should be on the bottom, and the bug is on the layer 324 when using 0.35 layer height, 0.6 width and 6 wall count (or 5 with alternate extra wall).

323.png

324.png

325.png

Finished.png

Axle-old.STL 0.6-noretract.curaprofile

  • Link to post
    Share on other sites

    Posted (edited) · Slicer bug.

    Found one more peculiarity on the other file, could be the same thing? Is this not a bug but a feature?

     

    Shouldn't there be yellow under every green and red?

    Slicer is doing the green lines directly on the infill... maybe there's a setting I should turn on/off?

     

    21.thumb.png.6c82d62b9a196132990df3b3378b1b16.png20.thumb.png.2b52bd1e417cd965d136d2576b7ceec2.png

    Edited by Zlutz
    Edited for clarity
  • Link to post
    Share on other sites

    Posted · Slicer bug.
    1 hour ago, Zlutz said:

    Found one more peculiarity on the other file, could be the same thing? Is this not a bug but a feature?

     

    Shouldn't there be yellow under every green and red?

    Well other green and red is acceptable under green and red 😄. But no, it's entirely normal, some things don't need skin, especially if they're internal.

     

    Any chance you could post it as a Cura project file (.3mf, in Cura get it ready then go to File > Save Project) instead of the STL and profile separately? It's a lot easier to work with and also includes your printer configuration (which probably wouldn't affect it, but you never know).

  • Link to post
    Share on other sites

    Posted (edited) · Slicer bug.

    I did the second file again with 7 walls. It will 100% have less strength than the first try (with 4 walls) as only left and right sides are "properly connected  to the layer under", all else is connected almost exclusively to the infill, and outer wall is actually touching the infill at the top.

    I could probably redo the 3D model where both walls on top would barely touch the walls on the bottom, then I would have only maybe 10mm^2 connection instead of say 40mm^2.

    020.thumb.png.9c87675d93257db4f53ed7295964d1e3.png021.thumb.png.432157db1feeaed541d4d7a709e9ad62.png

    CFFFP_holder.3mf

     

    I don't know, maybe I'm just paranoid, but the reason I'm investigating this is because I had some of my parts snapped at the connection similar to this (small cuboid on top of the big cylinder without chamfer or fillet). I did 10 top and 10 bottom layers to make the connection stronger, but in this case - I mostly only get infill, and barely one wall under the whole cuboid.

     

    Here's the file from the original post, layer 324 is "suspicious".

    CFFFP_Axle-old.3mf

    It is invisible on actual print, but red directly on brown doesn't sound right, should be some green or yellow under it... 😄

     

    Here's a drawing of my thoughts (side view of the inside, "standard Cura color scheme"):

     

    Difference.png

    Edited by Zlutz
    Added an example drawing
  • Link to post
    Share on other sites

    Posted (edited) · Slicer bug.

    Okay, this one is easy to explain: it doesn't do skin over the infill because it only does skin above/below areas that will be visible from the outside, which those aren't (they have stuff directly on top of them).

     

    If you're having trouble with it breaking, I think it's just a case of... PLA is brittle. It breaks, especially at parts like that where there's a large difference in size and you're just using hard corners (without a fillet or a chamfer). Sort of like a tree: you can break bits off a twig easily because they just stick straight out, but the branches have somewhat of a fillet around them usually and are a lot stronger.

     

    You might actually be overdoing it on the walls. If the vertical part wasn't entirely walls (had infill in the middle) and you used a 3D infill pattern like Cubic it will be connected through that (and Walls > Alternate Extra Wall is great at adding strength because it connects the infill to the walls every second layer). If you want it solid for strength, you're often better off using fewer walls (2-3), alternate walls, and set infill to 100%. Walls only add strength in the horizontal and vertical directions (in rectangular bits) and add no resistance to shear. At 100% infill you'll have a pattern which can help absorb torsion a bit.

    Edited by Slashee_the_Cow
  • Link to post
    Share on other sites

    Posted · Slicer bug.

    Thanks for the information, so, basically, there's not much I can do about it because my paint drawing explains it; expectation is different from reality...

     

    The thing is... the way I drew it will never be a problem, the problem only happens when red on top part starts touching green on the bottom, then yellow underneath becomes brown. I made "new examples" to better illustrate my issue.

    image.thumb.png.5f9ff682ff51ba67474756b32ebba2e8.png

    image.thumb.png.6ad1696e7dfa19d66488d74afc2ebf42.png

     

    The thing is, it works exactly as I expect it to work on most of my parts (because it's like on the top picture), I'm not sure if the contours are maybe the problem or it's something else.

     

    I will probably print the smaller parts with 100% infill and it will solve the issue, but it's not a viable solution for the larger prints. It will have to be accounted for in the design itself.

     

    I still think it's a bug, really - there's no point in having the ability to have 10 outlines, 20 top and bottom layers and then have the slicer put the infill like 0.1mm below the skin at the weakest point of the print...

  • Link to post
    Share on other sites

    Posted (edited) · Slicer bug.

    ... I made a quick STL file with just cubes on a cuboid.

    46 x 46, 47 x 47 and 48 x 48 cubes on top

    200 x 50 cuboid under

    5% triangle infill (to make picture clearer).

     

    ... so with 3 walls (as on the pictures), only the 46mm cube behaves as I want it to behave, 47 and 48mm cubes are printed DIRECTLY on top of infill, 48mm cube does overlap the walls below, but 47mm cube is "in the air".

     

    Lastbottom.thumb.png.717f6f9b8e1adbdf99f09d0634ca2cd3.pngFirstTop.thumb.png.5b711dd96dd67d079bf8ddf12eafcd98.png

     

     

    If I use 2 walls, 46 and 47mm cubes are correctly sliced.

    If I use 1 wall, all three cubes are correctly sliced

    If I use 4 or more walls, none of the cubes are correctly sliced

     

     

    Maybe it's the matter of opinions, but I still believe this to be a bug and there should never be brown below green and especially not under red.

     

    If I put a 50mm cube on top of a 70mm cube, and make them have 10mm walls, 50mm cube will not touch any walls of the 70mm cube - it will be printed directly on the infill.

     

    If I simply reduce the wall count to 9mm, the bottom cube will get 10mm perimeter of "top layers" (1mm because of the size difference, and 9mm to accommodate the 50mm cube, and the walls of the 50mm cube will be printed on the top layers of a 70mm cube. It doesn't make any sense.

     

     

    Edit:

    I tested older versions of Cura

    4.7.0 - same behaviour

    3.3.0 - same behaviour

    2.5.0 - it behaves like I expect it to behave!

     

    image.thumb.png.344499c27ed48f708a0020ab025feb67.png

    image.thumb.png.7011fc1bf1acafea8708098b53b7c6a5.png

    Edited by Zlutz
    Tested old versions of Cura and added information and screenshots
  • Link to post
    Share on other sites

    Posted · Slicer bug.

    Red and green lines in the preview are not skin. They're walls. Skin is only generated where part of a model will be visible from above or below. The results of your experiments with different numbers of walls are probably due to rounding applied when slicing (which you can change with Experimental > Slicing Tolerance to make it always round up or down instead of to the nearest number).

     

    Does it affect the strength of your object? Not really. In your second example the tower part would probably break off just as easily if it had skin below it entirely.

     

    Can you change it? Yes. Go to Top/Bottom > Skin Removal Width to 0. Set Skin Expand Distance to something insanely high: here's layer 11 of your second model with the expansion distance set to 20mm:

    image.thumb.png.f60abb39ef49720530b4487cd438d46e.png

    Will it always work? No. Here's layer 324 of your first model with removal width set to 0 and expand distance set to 400:

    image.thumb.png.f1891b8a52a3baf71ca38959ae3222c3.png

    Why doesn't that work? There's no skin being generated on that layer to expand.

     

    Finally: Is it a bug? No. Skin is not generated in areas which are not going to be visible.

  • Link to post
    Share on other sites

    Posted · Slicer bug.

    I made a new test file.

    It's a simple 20mm cube on top of a 30mm cube with 10 0.5mm walls.

     

    What you're saying is - it doesn't matter that there's no skin on top because it's not visible?

    I 100% guarantee that this will will print terrible and it's not going to be functional.

    Same print with 9 walls works perfectly because it generates skin with 9 walls.

     

    It's easy to say "just use 9 walls" when we have a perfect cube geometry, but with uneven geometry you get problems with 5 walls on one side, 3 walls on other side and 6 walls on third side, there is no solution.

     

    Expand distance doesn't work because there is no skin generated at all (it does work for my other model and that's fine, I will use it!)

     

    I tested older versions of Cura

    4.7.0 - same behaviour

    3.3.0 - same behaviour

    2.5.0 - it behaves like I expect it to behave and it generates skin under walls (screenshot in post above)

     

    Cubes for testing.3mf

     

    Cubes1.thumb.png.ae6c269224bab46dd9774ee8478215b8.png

    Cubes2.thumb.png.6cbaf3a1f50c3a0699cf77faba9910fb.png

    CubesWhole.thumb.png.02dcc90ee4466b6053538d4f4fc97db2.png

     

  • Link to post
    Share on other sites

    Posted · Slicer bug.
    2 hours ago, Zlutz said:

    It's easy to say "just use 9 walls" when we have a perfect cube geometry, but with uneven geometry you get problems with 5 walls on one side, 3 walls on other side and 6 walls on third side, there is no solution.

    It might be easy to say it, but it's wrong to say it. More walls is not the best way to a stronger print. Unless maybe you're trying to print a bulletproof vest (though personally I'd use a few walls and then 100% infill of a pattern whose lines aren't at 90° since that spreads the force rather than keeping it concentrated). No I don't have a gun to test. We have pretty strict gun laws down here. Walls add no strength whatsoever against shear (force applied on an angle not aligned with whatever's providing your strength) or torsion (twisting) and little resistance against being ripped apart parallel to one of their axes (like snapping a twig, I should probably know the technical term but I don't... tearing?).

     

    Moreover, in most cases, some free space (infill at less than 100%) makes your print more resilient. A crushing force applied against something solid won't spread the force, and it won't give at all. Infill is good at spreading the load, and will give a bit before it breaks (exact results depend on your material).

     

    Why might your example print terribly? Because you're using a low density of an infill pattern which can place lines far apart, depending on which direction is drawn at that layer. Try switching to Zig Zag. If you have even a half decent printer and it can't successfully bridge those gaps, then you have bigger problems.

     

    Would printing skin on top of the infill where the walls are going to be make your print stronger? On paper, maybe. In practice (if someone's trying to destroy it or it has an accident and suffers a significant impact against the smaller section falling off a table) it's just as likely to break. Why? Layer adhesion might contribute to strength, but it's far from the only factor.

     

    You've literally designed a worst case scenario to make your point. How often would it come up in what most people print, if they used the same settings as you? Not often. How many other people use the same settings as you to print? Probably close to zero. As I said above, people looking for the strongest prints aren't just filling the whole thing with walls because that's not the strongest way. If I had a force gauge (and it's the sort of thing I'd like to have for fun, not for any practical reason, but they're too expensive to justify for that) I'd print your example with your settings and then print it with my usual settings (2 walls with alternate wall, 20% cubic subdivision infill) and see what the difference in force required to deliberately break it was.

     

    This is not a bug. This is behaving exactly as designed. If you still think it's a bug, then the bug report form is here. If you accept that it's not a bug but think it should be an option, the feature request form is here. I don't think you can use "it works in Cura 2.5" as a crutch because that version is just shy of seven years old. A lot has changed since then.

  • Link to post
    Share on other sites

    Posted · Slicer bug.

    Yeah I consider it a bug.  There is a guy known as  @burtoogle and also known as "smartavionics" who had complaints about his exact issue, or a very similar issue where a wall was on top of skin and skin was either zero or one layer thick (in other words often directly on infill).  just like in your diagram.  He fixed the bug in the cura code and has his own version of Cura which I strongly recommend you try out.

     

    As Slashee_the_Cow says, Cura is basically working as designed.  But Cura has gotten better and puts some skin (or maybe it should be called wall support or something?) under walls now.

     

    I think Burt's fix *might* have been incorporated back into Cura so it may be that this bug is a sub-case of the bug he fixed.  Or maybe the Ultimaker Cura team didn't pull his PR and instead rewrote the code their own way.  Anyway I'd try his version of Cura to see if it's fixed.  He has fixed/added quite a few things in cura - for example much improved options for bridging.  He has been pulling in the latest features of Cura but had to stop recently (I forget why) so it is "frozen" at an older version of Cura yet it still is an absolutely fantastic version of Cura with probably 98% of the current features.

     

    Also you can install as many versions of Cura as you want and they don't interfere with each other (although I think they do try to pull in stuff from an older version upon install).  I have about 5 versions installed right now.

     

    https://github.com/smartavionics/Cura/releases

    • Like 1
    Link to post
    Share on other sites

    Posted · Slicer bug.
    1 hour ago, gr5 said:

    Yeah I consider it a bug.  There is a guy known as  @burtoogle and also known as "smartavionics" who had complaints about his exact issue, or a very similar issue where a wall was on top of skin and skin was either zero or one layer thick (in other words often directly on infill).  just like in your diagram.  He fixed the bug in the cura code and has his own version of Cura which I strongly recommend you try out.

     

    As Slashee_the_Cow says, Cura is basically working as designed.  But Cura has gotten better and puts some skin (or maybe it should be called wall support or something?) under walls now.

     

    I think Burt's fix *might* have been incorporated back into Cura so it may be that this bug is a sub-case of the bug he fixed.  Or maybe the Ultimaker Cura team didn't pull his PR and instead rewrote the code their own way.  Anyway I'd try his version of Cura to see if it's fixed.  He has fixed/added quite a few things in cura - for example much improved options for bridging.  He has been pulling in the latest features of Cura but had to stop recently (I forget why) so it is "frozen" at an older version of Cura yet it still is an absolutely fantastic version of Cura with probably 98% of the current features.

     

    Also you can install as many versions of Cura as you want and they don't interfere with each other (although I think they do try to pull in stuff from an older version upon install).  I have about 5 versions installed right now.

     

    https://github.com/smartavionics/Cura/releases

     

    I'm trying it right now, but looks like it has the same behaviour. Maybe there's an option that needs to be turned on?

    Can't play with it today anymore so it'll have to wait until next week.

  • Link to post
    Share on other sites

    • Solution
    Posted · Slicer bug.

    No, I don't think it's an option.  Well you could search for "wall" in the settings search box.

     

    I suspect it used to be even worse.  No skin at all under any walls.  Then Burt fixed it in his version of cura but he didn't cover every possible situation.  Then his feature got pulled into cura years ago so now ultimaker cura and smartavionics cura are probably the same for walls.

     

    I'd create an issue over on github.  That way your issue will get MUCH more attention.  As slashee suggested.  You have to create a github account but it's free.

    • Like 1
    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.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 26 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...