Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
aviphysics

visualizing build order with out using layer view

Recommended Posts

I agree! I want more control! But the machine is forced to print in a certain order sometimes if the nozzle isn't in the exact center of the keep-away zone around the head.

I spent an hour or so playing with this. There are many factors. It prefers to print I believe right to left and front to rear but you can override that by messing with the "machine settings" and increasing the distances and then putting parts very close together. For example to make it print parts near the back first, increase the Y distance for the front of the test head larger than the rear (normally it's the other way around as the nozzle is near the front of the test head). And then put the parts as close as possible front to back such that if you move the parts any closer (in Y) the other parts all shift out of the way.

 

Share this post


Link to post
Share on other sites

The problem I was trying to deal with was optimally arranging parts after breaking up an STL. After breaking them up, Cura seems to try to arrange the parts going out from the center and the build order it picks looks random to me. The only way to tell what is printed when is to look at the layer view. I then arrange them to print from right to left/front to back and have edited the machine setting to allow closer spacing.

The thing that makes it the most frustrating is trying to remember the print order of everything as I shuffle the parts around.

 

Share this post


Link to post
Share on other sites

I don't use this feature much because it doesn't do a very good job (at least last time I tried it) in between 2 prints such that it tends to spit out a glob of filament in some random place somewhat close to the next print it is starting and this glob gets caught up in the print and can potentially ruin it.

 

Share this post


Link to post
Share on other sites

I use "one at a time" all the time and it's been working great for me. In fact it is number one on a very very short list of reasons I use cura over KISSlicer currently.

Personally I haven't been bugged by not knowing the order too too much. But I wouldn't mind if it was shown. A simple number next to each part would suffice for me.

 

Share this post


Link to post
Share on other sites

I use "one at a time" all the time and it's been working great for me. In fact it is number one on a very very short list of reasons I use cura over KISSlicer currently.

Personally I haven't been bugged by not knowing the order too too much. But I wouldn't mind if it was shown. A simple number next to each part would suffice for me.

 

It is mostly a problem when you trying to fit a bunch of parts onto the platform. Because the head extends far further to the left, it is much more efficient to have the parts on the right printed first.

 

Share this post


Link to post
Share on other sites

It is mostly a problem when you trying to fit a bunch of parts onto the platform. Because the head extends far further to the left, it is much more efficient to have the parts on the right printed first.

 

This. The code tries to get the most efficient order. But, there are cases where it does not care if it does one part or another first. In that case, I cannot even predict which will print first, as it depends on the order in which you loaded the files (indirectly)

 

Share this post


Link to post
Share on other sites

Daid, could it just put a number by each part or something?

It seems like it is mostly a problem with splitting STLs. Maybe when splitting a file, instead of arranging them around the center it could place them in a grid, with the first to print on the bottom right and last at the top left.

Of course, maybe I am confused about when print order is computed. Is it done everytime the path is computed or is it done when parts are loaded. To me it seems like it is the ladder. Could there be a way to make it recompute the build order. Seems like it would mostly just need to print the parts with right edges furthest to the right first. If two parts are matched to a certain degree of precision (maybe +/- 5 mm), it could then pick the parts that have a front edge closest to the front first.

Edit: I guess it is a little more complicated then that, but maybe not too much more.

 

Share this post


Link to post
Share on other sites

It occurred to me that the issue of print order has to do with the front right edge of the part and (I think) any arrangement of parts can be printed as long as that front right edge has enough clearance for the print head and the parts don't extend into the gantry.

So, to allow all the parts to be printed, a rectangle (or polygon if you want to get fancy) needs to be drawn around each part extending from the back edge to the clearance required for the front edge and from the left edge to the clearance required on the right. This rectangle marks the area consumed by the part on the platform and no other parts are allowed in this area.

To decide print order a hierarchy is built in the following way. A rectangle is drawn around each part marking the clearance required on the left and on the back side. Any surround parts that are within this rectangle must be built after the selected part. Using this array, Cura could select a part at random and place it in a list directly below the last of any parts which must be printed first that are already on the list. Finally, if one is not confident of my hypothesis, Cura could do one last check of the list to make sure no part is printed after another which must be printed first.

To easily navigate between parts, Cura could drop the bead to allow enough clearance for the print head to pass over the tallest part. If one wanted to get fancy, they could just have it drop far enough to pass over parts that had already been printed along its path of travel.

 

Share this post


Link to post
Share on other sites

Looking at the Gcode, I noticed that the gcode separates the parts with the line 'layer count:'. It should then be possible to write a plugin to correctly sort the build order. Totally want to get started on this next week when I have finished this series of evening classes I am taking. Once a plug-in is built, it is just a matter of altering the machine settings to allow parts to be placed with the correct tolerance.

Edit: It even zeroes out the e steps at the beginning of each part :). It might almost be easy. One can basically use the M107 command and the 'Layer count' to bound the rapid move between parts. After sorting the parts, just scan for max Z in the prior parts and make the machine drop the platform below that level before executing the jog.

Kind of feeling excited. Too bad Cura doesn't render the post plug-in gcode. One would have to use a 3rd party program to reality check the final gcode.

 

Share this post


Link to post
Share on other sites

One would have to use a 3rd party program to reality check the final gcode.

If you save the gcode into a file and then "clear platform" and load the gcode file then layer view should properly show the order to print. In this case, cura is basically the 3rd party program.

 

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
Sign in to follow this  

×

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!