Jump to content
Ultimaker Community of 3D Printing Experts
lars86

Cura 15.06 / 15.04: Spiralized Vase, Stutter Scar

Recommended Posts

I'm not sure what is going on here, but with a very clean, fully solid model of a very circular vase, I bring it into Cura, set the shell for one pass, enable spiral outer contour, infill is 0, and uncheck solid top.

The layer view looks perfect, but in the same spot on each lap (but not every single lap) Cura makes a little stutter move with the print head. It basically moves backwards 1-2mm then forwards. It is almost hard to see with your eye unless you are looking for it, but the print shows a telltale scar.

It seems to migrate diagonally up the print, and doesn't happen on every single layer. Is there a setting that can avoid this bug?

Edited by Guest

Share this post


Link to post
Share on other sites

https://github.com/Ultimaker/CuraEngine/issues <- There is a new button issue.

It helps if you post the following things;

1. What did you do to cause the problem? (Steps of the problem, data we can use to reproduce it)

2. Why do you think this is a problem (eg; What did you expect would happen and what actually happend)

Share this post


Link to post
Share on other sites

Hi lars86,

Thank you for your message. Sorry to hear your idea is not being acted upon.

It would be an improvement for sure, but currently we are also working on The New Cura which keeps our dev. team very busy. So even though it would be an improvement, it may not receive our priority right now like BagelOrb says. Since Cura is open source, perhaps you could be part of the solution?

Share this post


Link to post
Share on other sites

Hi lars86,

Thank you for your message. Sorry to hear your idea is not being acted upon.

It would be an improvement for sure, but currently we are also working on The New Cura which keeps our dev. team very busy. So even though it would be an improvement, it may not receive our priority right now like BagelOrb says. Since Cura is open source, perhaps you could be part of the solution?

 

It turns out that the link I followed to report the bug is for the new Cura development. I tried the same print in the latest Cura beta, and found a similar bug exists in the new engine as well. I documented it, and uploaded all pertinent files.

I'm happy to help, but not sure what else I can do. I'm a mechanical engineer, not a programmer. I have plenty of improvement ideas for the build platform, hot end, print head, etc :)

Share this post


Link to post
Share on other sites

This is a recent (ish) problem with Cura.  The position where each layer starts changes a bit on each layer. I would guess this was introduced roughly in December.  Cura worked fantastically well even 2 years ago.  So I would try one of these older versions.  In fact I recommend 13.01 (jan 2013).  also try 13.04 which was a completely different slicing engine - and much slower!  But it worked fine:

http://software.ultimaker.com/old/

You can install multiple copies of Cura (one windows - don't think it works on Mac) and they are treated like different programs.

Edited by Guest

Share this post


Link to post
Share on other sites

This is the first time I've heard the Ultimaker crew have such a bad attitude.

 

Daid is very nice in person but can sound harsh at times in his quickly written comments.  Just to help you understand how spiralize works - and how slicers work:

First realize that STL is a list of 3D triangles with no relationship between the triangles (STL doesn't say which touch each other).  The slicer intersects a plane (current slice) with every triangle.  Some intersect the plane as a line (the rest don't intersect at all).  Now you have a bunch of random line segments in no particular order.

Next the slicer tries to figure out which line segments are associated with each other although the endpoints are often slightly different due to floating point rounding.  You should end up with a bunch of looped chains of line segments.  You then print *inside* those loops (or outside if it's a hole inside a larger loop).  Anyway there's lots more details (special cases for bridging, multiple passes, infill, overhangs, line segments too short, and more).

Spiralize cheats - it just says - hey this layer has e.g. 300 line segments so instead of moving Z up .1mm at the end we will move it .1/300 for every line segment.  And it mostly works.

The next slice above is supposed to start as close as possible to the previous point where you end a slice.  That code seems to be broken or more likely maybe your vase just doesn't have enough triangles to find one close enough.  I guess ideally you want all your triangles to have a vertical edge and hope the slicer uses the vertical edge instead of the sloping edge when picking layer change spots.

Daid says "spiralize is a hack" and it is but intersecting a plane with triangles is easy.  How do you intersect a spiral with a set of triangles?  There's no one correct solution.  how do you pick the center of the spiral?  What if the STL has many posts?  Where is the center one?

Also everyone wants to use multiple threads to slice even faster but to do that you can't have different layers knowing much about the previous layer otherwise they would have to wait for the previous layer to slice.  So it would be nice if you could start each layer at any old random spot.

Ideally spiralize should first find a continuous path as vertical as possible up the side of the vase. I'm 90% sure it doesn't do that - that would be a nice feature for non spiralize prints also!

Edited by Guest

Share this post


Link to post
Share on other sites

Thanks makes sense, thanks for posting!

I definitely don't think this issue is a result of lacking mesh density. Here is my model:

mesh.thumb.jpg.f6dfa2eda982fa85d0fbb6107551ea17.jpg

It seems to me that you could accomplish it one of two ways:

Find the closest line segment on the next slice to the ending vertex, then linearly interpolate to the nearest point on that segment, and have the first move of the next layer be a print move from the ending vertex to the interpolated close point. This is certainly more intensive in coding and in processing.

An alternative could be just to find the closest vertex on the next layer, which is generally in the same direction as the last print move. You could find the closest two vertices, one should be "ahead" of the nozzle, and the other behind. Then, you look at the average delta X and delta Y over the last 'n' number of print moves, and see which of the two vertices has deltas in the same direction(s). Again, the first move of the next "layer" is a linear segment from the ending vertex to the closest forward vertex.

mesh.thumb.jpg.f6dfa2eda982fa85d0fbb6107551ea17.jpg

Share this post


Link to post
Share on other sites

With the Olsson Block and a .8mm nozzle, I do a lot of spiralized prints with 1.2mm walls and .6mm layer height. Good for vases and lamp shades, and I like the fat shiny visible print lines.

But in an otherwise absolutely flawless print this visible scar sucks indeed!

1. So is there a workaround?

2. I didn't test it with the new Cura so far, has someone?

3. And (sadly) is there another slicer that does a "clean" spiralize?

Share this post


Link to post
Share on other sites

Try the new cura!  The slicing engine was rewritten - I'm sure it has all new bugs!  But god rid of many others.

 

Great to see the new version has gone official!

I just tested this spiral vase in 15.06.01 and found that instead of a small stutter backwards at "layer changes", it now rapids forwards leaving a gap. It is actually two rapid moves, one larger and one smaller move. If instead of these two rapids, we made a printing move which ended at the final XY coordinates, it would probably work perfectly. I hope they can fix this!

vase1.thumb.jpg.cf8628708adbe726757b9e6e03aa2d69.jpg

vase3.thumb.jpg.b4f88af3a7a8a935cf9ddd3994e6ac52.jpg

vase1.thumb.jpg.cf8628708adbe726757b9e6e03aa2d69.jpg

vase3.thumb.jpg.b4f88af3a7a8a935cf9ddd3994e6ac52.jpg

Share this post


Link to post
Share on other sites

One of the old Cura versions did that too in spiralize. Think it was 14.07.

So no luck with this...

As the new Cura Engine was built to be enhanced by plugins, I'm hoping that someone who codes will be able and willing to add a new spiral plugin.

Oh, and while we're at this: some more dirty experimental parameters could be added, like this.

Just dreaming around8)

  • Like 1

Share this post


Link to post
Share on other sites

"You can install multiple copies of Cura (one windows - don't think it works on Mac) and they are treated like different programs."

Of course it works on a Mac. I've had multiple versions installed on my mac several times, due to regression-caused bugs.

And if you want spiralize, try Slic3r - the newest "stable" version is much more Cura-like, with some really useful features.

Share this post


Link to post
Share on other sites

Good call. Slic3r 1.2.9 generates some very nice code for spiralized prints. I like how there is a Z position call on every line as well. Cura seems to post them more sporadically (though I'm not sure there would be a physical difference in the print).

I do still hope Cura can be made right in this sense.

Share this post


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

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 0 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!