Jump to content
Ultimaker Community of 3D Printing Experts

Layer start/end

Recommended Posts

Hello All!

I am pretty new ( <1 year) in 3D printing and using slicers and I'd like to ask a noob question...

The layer end/start usually leaves a more-or-less visible mark on the outer surface of the object (FDM technology).
Why it must be on the outer surface? Would it not be possible to start the layer or at least the outermost wall from the inside of the model? By this the seam would be more hideable.

Or is it a very stupid idea?



Share this post

Link to post
Share on other sites

It's not a stupid idea at all. If you are using more than 1 line for the wall, just make sure the "outer before innner walls" setting is not enabled and the "optimize wall printing order" setting is enabled it will print the inner walls before the outers. Hope this helps.

Share this post

Link to post
Share on other sites

I print usually 3, sometimes 2 walls and both settings you mentioned are enabled.

But the printer prints the infill (before or after the walls) -let's say- separately from the walls.

Just wondered if the start or end of a perimeter (maybe both) coud be hidden eg. into the infill, so the possible blob it causes would be invisible and there would be less tinkering needed to create less visible Z seams..

I set the Z seam alignment to "closest", but it is still not exatly where the infill ended.


Share this post

Link to post
Share on other sites

If you use 3.x Cura, each layer is sliced independently in parallel fashion. The starting point of each layer is determined by the z-seam option and your hard coded setting of 'layer_start_x' and 'layer_start_y'




But this only impact how parts (a.k.a island) get sorted. (It is not an ideal way for path planning optimization. That's what I'm working on to improve it. See my path planning thread.)


To your question, the actual starting point of the layer is determined by the printing order of infill and wall. In fact, if you choose infill first, the layer starting point should always be inside the infill.


I haven't figured out the end point of layer yet. But the initialization of the starting point of parts (including wall and infill) could impact tool path planning, which it may not be taken care properly. 

After all Cura is open source, you could do whatever you want with your ideas.


Edited by Ricky

Share this post

Link to post
Share on other sites

Hi all,

as said in another thread, I think it would be a great feature to be able to disable the parallel processing to get back the "old" slicing quality of cura <=2.4.

However, what about doing the parallel processing not layer-wise but blocks-of-layers wise?

For example, one could assign layers 1..20 to thread 1, 21..40 to thread 2, etc. Within each block-of-layers the slicer could make use of starting a new layer at where the last one ended, and only after every 20 layers it would have to start at a possibly suboptimal position.


BTW, one more great option would be to have a "don't care" for print order, but just print shell, infill, holes, etc in any order just to avoid travels. For more technical objects, such as mounts, ducts, gears, etc, surface is not the most important thing so they may profit from such an option. Stupid idea?


Best regards,


Share this post

Link to post
Share on other sites


Assuming you ignore starting point and end point among layers, the slicing problem above is called embarrassingly parallel problem. One should not group or schedule ahead in algorithm. The reason is that one machine may have only 4 cores. It is reasonable to group the threads by 4. But what if I have a many core GPU or even a grid of computer where tens of thousand of core are available. If you still groups by 4, you won't gain any performance. Thus, it is a bad idea.


Early optimization is the root of all evils.


If you are interested in getting your hands dirty, we could work together in 15.04 legacy branch to optimize travel path.


My goal is to run TSP on path planning for parts. So far I'm working on my dev branch:

  • Added thread safe logging to file and screen with G3LOG
  • Enable CMake
  • Output parts (island) to an external file for TSP solvers
  • Added matplotlib to view the parts by layers


See my forked on Cura Engine: https://github.com/rickyzhang82/CuraEngine/tree/dev-15.04.6


Also, if you want a release version with UI, you can build it as RPM in Fedora 28. I patched the build script so that it can pull from my dev-15.04.6 CuraEngine repo: https://github.com/rickyzhang82/LegacyCura/tree/dev

Share this post

Link to post
Share on other sites



I have got the next problem, look on the picture. (PLA, nozzle: 205C, retraction 5mm, retraction speed 80mm/s)

Could you help my, how can I hide it? Or could you suggest my a good CURA option?


Share this post

Link to post
Share on other sites

1) Print slower to avoid those blobs.

2) Make sure all the printing speeds are the same because...


It takes a few seconds for the pressure in the nozzle to equalize so everytime the printing speed slows down you get overextrusion and everytime it speeds up you get underextrusion.  Those blobs are possibly because it slowed down just before it printed the outer wall.


Also I tend to get better quality with a bit thicker layers than you have here although that might be unrelated in this case.

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

    • Ultimaker Cura | a new interface
      We're not only trying to always make Ultimaker Cura better with the usual new features and improvements we build, but we're also trying to make it more pleasant to operate. The interface was the focus for the upcoming release, from which we would already like to present you the first glance. 
      • 79 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.
      • 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!