-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Unable to change printing order #3555
Comments
I know what you are trying to achieve. I just want to point out that Though I definitely agree be able to have a predicable/adjustable print sequence can be very useful. |
Holy smokes, 2020?? oO But ironically, I never encountered problem with PrusaSlicer, it allows me to change the sequence. Just to make sure I am not dreaming, I just tried and like always, printing by layer follows the sequence I need it to follow. Thanks man |
Cura behaves as: First in, last out. So... Seems pretty natural (to me) to import and place parts in the order you want them to print. |
Oh believe me, I've tried that but it somewhat works now and don't work anymore onwards. |
I am working on improving the print order when it is turn off, and I just need to confirm that does the order of the object list ALWAYS work as expected WHEN "Print py object" is turned ON? Or it is also broken? I need to make things clear so I could know whether I need to fix both. |
BTW, I've checked the code and it uses a nearest neighbor search in print by layer mode. It takes the original order from the object list, then try to reorder it to find a shorter path, that's why the object list order works when there are only two objects on the plate, then it works seemingly randomly when there are more than 2. Meanwhile according to the code, it uses the same order as the object list in print by object mode, unless there is a bug in that part that makes it not always work. That's the reason of my previous comment: if it works as expected, then I don't need to touch that part of the code. |
And a bit more explaination of current code: OrcaSlicer/src/libslic3r/ShortestPath.cpp Lines 1978 to 2000 in b7b22eb
It uses the center of each object to calculate the shortest path. |
My current plan is to adding a "print order" (or whatever sounds better) option, that has the following options:
I'll first implement the first two options, then consider adding pre-defined orders. The way each object fits into rows/columns will be tricky though. |
Thank you so much for looking into this, it has been so frustrating. The first two options should solve all the problems, shortest path after the purge line which is usually at the very front, front corner or those using adaptive mesh can have the purge to be right next to the model. The second option, it would be awesome to rather than just follow the object list, to allow the users to interact with it like what somewhat happens with "print by object". You might wanna start from a less risk bigger model over a small one which might not be in order so you need to move it up/down. |
I'll allow reordering the object list in print by layer mode so that's not a problem at all (in fact that's the first thing I did so far).
Ah that's a good point... Currently the purge line is not treated as an object so its location won't be considered at all when calculating the print order. Will see if I could solve this. Worst case scenario we could use the order of the object list though. |
100%, whatever you think is easier to implement will be already better than currently, it is painful. |
Please give #3685 a try and see if it works for you. |
1AM now, can try tomorrow after COB 🥲 |
0015hrs - Waiting for the actions to complete - Still has 4 spinny wheels |
Unless I am doing something wrong, it is not following the object list, in fact, it is doing the opposite order, bottom/center/top |
Could you post the project file? |
@Noisyfox , please let me know if you can open it. |
|
I think there's a misunderstanding lol By object isn't perfect but works, the problem is by layer, if follows no sequence at all. |
No no no, this is a separate option called "Layer order", which is "the print order within each layer". Though I do think I need a better naming for this option... Any suggestion? |
Of course, it has to be user doing user stuff lol |
EDIT: "Layer order" sounds about it, perhaps add more context to its description when hovering the mouse. |
@Noisyfox I would hug you if I could ❤️ Hopefully @SoftFever can merge your changes then we have everything we need, a gold printing order and igianna changes ( already merged) to reduce extra non-necessary solid infill. Thank you so much again for this beautiful work, and I should had built a bigger printer, 300mm is no longer enough haha No more fights with Orca 🙏 |
i just happened to have a need for this and found it merged into the nightly orca build. i have about 50 objects on my plate and it seemed to get the order correct. if youre still searching for name suggestions i would say "Intra-Layer Order" is pretty descriptive, "Layer Order" is a bit ambiguous. just my 2cents great work, thanks again! |
I'm not a native English speaker but "Intra-Layer Order" sounds just about right to me. Thanks! |
Hey, could we have a quick way to number each individual object on the plate when we clone them? It's great that we can set the print order by the object list, but when you have 100+ cloned objects with the same name, it's a pain to manually order them. Maybe change it to a "1- Object"; "2- Object" etc. naming scheme in the object list when we clone it would help. |
OrcaSlicer Version
Any
OS version
Linux Mint Cinnamon
Additional system information
No response
Printer
Voron Trident
How to reproduce
Actual results
As much I love OrcaSlicer, this has to be worst object management ever.
We have talked about this on Discord a bunch of time but nothing was done about it.
As you are looking at it, any 3D printer I am aware of, will move the head from the left to right where is usually the purge line is printed.
With that being said, it should start printing like so, from the left to the right, from the front towards the back.
Basic logic right?!?
Here you have the normal behaviour
A slightly change and there goes the toolhead traveling across the bed to start the print.
And again.
That data isn't helpful enough???
Sure...
What logic is this???
It is so frustrating because this is such a basic must have logic but doesn't seem to be relevant.
Nobody is talking about print by object, save that nonsense.
You have to waste minutes trying to move things around to get a somewhat decent sequence.
The object list and nothing is the same, it does not work, you cannot interact with it, not like PrusaSlicer does.
You don't have to have print by object enabled on PrusaSlicer to allow the order to be changed.
I cannot get the sequence right with a full plate like this no matter what I try.
Expected results
Follow the common logic sequence, from the left to the right, from the front towards the back.
You avoid a 260c nozzle traveling all the way to the back to start a print which usually ends up with curling line at the start and messed up first layer.
Users with the "print by object nonsense", please, press "Alt + F4"
Thank you
Project file & Debug log uploads
This can be simulated with anything, it does not require user log.
Checklist of files to include
The text was updated successfully, but these errors were encountered: