Skip to content
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

SLA Optimize Orientation Not Working as Expected #5714

Closed
nolspeed29 opened this issue Jan 8, 2021 · 27 comments
Closed

SLA Optimize Orientation Not Working as Expected #5714

nolspeed29 opened this issue Jan 8, 2021 · 27 comments

Comments

@nolspeed29
Copy link

Version

2.3.0-rc2+

Operating system type + version

macOS Catalina 10.15.7

3D printer brand / version + firmware version (if known)

Prusa SL1

Behavior

  • Describe the problem
    Since updating to PrusaSlicer 2.3.0, the Right Click>Optimize Orientation no longer works as it did previously. The model is now just set orthogonal on the build platform. It does not rotate to an optimism (usually tilted back) orientation like before.
  • Steps needed to reproduce the problem*
    Import .stl model, Right-Click>Optimize Orientation. Using default 0.05 Normal profile and material.
  • Expected Results
    Model gets orientated in a complex manner to minimize supports and enhance print reliability
  • Actual Results
    Model gets positioned orthogonally and does not change with repeated attempts.
    • Screenshots from PrusaSlicer preview are preferred

Screen Shot 2021-01-08 at 9 56 07 AM
Is this a new feature request?
No

Project File (.3MF) where problem occurs

CatfolkRogue.3mf.zip

@tamasmeszaros
Copy link
Contributor

Try to enable "pad around object" mode on the side panel and optimize orientation after that.

@nolspeed29
Copy link
Author

I did this and now the part reoriented w/ the base flat. Continued attempts do not change the orientation.

Screen Shot 2021-01-08 at 12 19 13 PM

@Area5142
Copy link

Area5142 commented Jan 9, 2021

I can confirm the problem with "Optimize orientation".

Here the model orientation is optimized in PS 2.2.0:
SL1 Orientation in 2 2 0

And here the model orientation is optimized in PS 2.3.0RC3:
SL1 Orientation in 2 3 0RC3

Configurations for the models are the same.

@nolspeed29
Copy link
Author

Just confirmed this issue on my Windows64 PC as well. Fresh install using default profile and both pad settings.

@tamasmeszaros
Copy link
Contributor

tamasmeszaros commented Jan 11, 2021

The optimize rotation feature was changed in this release (by me). The old behavior was optimizing for the greatest misalignment with all the axes so that the print would (maybe) end up having smoother surfaces. This optimization have a tendency to rotate the object in 45 degrees in X and Y axes -- not exactly, but roughly, for a lot of objects.

Now there is a different heuristic which is trying to minimize the supports needed to print the object. I personally felt that this is more useful as the surface quality is also hugely dependent on the number of supports needed. So now you can't see an eye catching 45 degree rotation, but something that seems random or unexpected, if pad around object is not enabled. It's not a bug however and it tries to minimize the needed supports. I think that in this case the object is oriented roughly orthogonally to avoid the supports needed for that circular base.

With "pad around object" is enabled, the algorithm is extended to find the best surface of the object to put on the bed. If you want to do a print without elevation, I think there is little use of an auto rotation that will totally ignore the fact that you want to place the object directly on the bed.

@nolspeed29
Copy link
Author

Hmm, while I see where you are coming from with this change, often the main reason to orient at the angled rotation is to improve print success by “spreading out” the model across more supports and more of the build plate. This decreases the chances of the model detaching from supports or the build plate and leading to a failed print due to FEP film suction or adhesion. Also, angling the model can strengthen thin features, mask any faint layering, and reduce print time (less height than a vertical model).

Could the option be put in to revert to the previous behavior? What has the testing on the SL1 been like using this new auto orientation?

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 12, 2021

@nolspeed29 We plan a minor release soon. Let's collect some feedback to this change and let's make a decision based on the feedback collected. As of now we have a feedback of just two of you.

@dhprice
Copy link

dhprice commented Jan 12, 2021

I would second nolspeed29's suggestion. I don't place objects flat on the build plate. I found the old optimisation worked very well with both complex shapes such as figurines and more regular objects such as vehicles. Not only did it result in a well supported object but also lower in height than the new method with shorter print times. When I rotated and set supports manually I would get failures, with the old optimisation function I never had a print failure. Please reinstate the old method as an option.

@TKIY
Copy link

TKIY commented Jan 13, 2021

Have to agree, the new orientation functionality is not at all workable for me. This has completely killed my workflow and at the very least an option to choose behaviours is needed.

@neophyl
Copy link

neophyl commented Jan 13, 2021

I don't use SLA personally so I don't really have an opinion but just to mention that this has been commented on the forum too https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-2-3-0-final-sla-optimise-orientation-behaviour-changed/
(for purposes of keeping track of feedback)

@dhprice
Copy link

dhprice commented Jan 13, 2021

If you are looking for feedback you might cast your net a bit wider. PrusaSlicer with the "old" orientation behaviour has been highly recommended for it's orientation and support generation for non-Prusa SLA printers, replacing those functions in Chitubox which is simply used to slice the result.

@nolspeed29
Copy link
Author

@dhprice @TKIY Nailed it. This feature's behavior was so good in the previous releases that people use it for all SLA printers, not just Prusa SL1. It is an integral part of the workflow. Can an update be pushed to offer an option on the behavior?

@TKIY
Copy link

TKIY commented Jan 19, 2021

Not to be a pain, but any news on this being reverted or optionally reverted?

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 20, 2021

We will likely do that in the upcoming minor release.

@dhprice
Copy link

dhprice commented Apr 16, 2021

Any plans to re-introduce the ability to use the original orientation optimisation as it does not appear to have made it into in 2.3?

@TKIY
Copy link

TKIY commented Apr 16, 2021

Still waiting for the 'minor release' and it's killing me.

This is still causing me a ton of extra unnecessary work. No reason it should have been changed in the first place.

@TKIY
Copy link

TKIY commented Apr 24, 2021

Not only was this not fixed in 2.3.1 it's now even worse. You can no longer optimize the orientation of an object if ANY object is off the print bed.

PLEASE PLEASE PLEASE return the functionality that was removed for no apparent reason!

@tamasmeszaros

@dhprice
Copy link

dhprice commented Apr 24, 2021

I like the Prusa SLicer for the Mk3 but have no other option as I cannot get 2.2 to co-exist successfully with later versions. So while I have a Prusa i3 Mk3 I have had to stop using Prusa Slicer for it.

Instead I have had to remove 3.3 and have reverted to PrusaSlicer 2.2 to generate pre-supports for a Creality SLA printer and now use Cura 4.9 for the Prusa Mk3.

I am disappointed that the change in 2.3 appears to be solely because of the preference of one person and despite a number of customers/users requesting that the change be reverted or made optional for sound reasons we have been ignored.

@crimmsonwind
Copy link

crimmsonwind commented May 5, 2021

Piling on to say that I greatly preferred 2.2's Optimize Orientation as well. Prusaslicer has been frequently recommended on the various resin printing subreddits specifically because the Optimize Orientation (and auto supports) are very user-friendly (especially for beginners) and it was superior to pretty much any other slicer. Totally loved recommending it for doing the setup and watching people who were previously struggling hard suddenly having a good amount of success. Now I'll have to make a point of telling people to avoid 2.3.

2.3's approach is a huge downgrade. While I understand the potential reasoning behind it, I don't agree with it. The number of supports alone aren't an issue. Trying to keep those supports off of important faces (the details and front half of a miniature for example) is way more important to me. As it currently is in 2.3, it's constantly putting the miniature face-down and covering it in supports which is exactly what I don't want.

At least in 2.2 I could select the optimization a few times to cycle between different approaches. With this, there's only one choice and it is face down.

Maybe you want to argue that 2.'3's take on optimization is better for certain things.

If you absolutely want to keep the current optimization, could you not add two options to toggle between? The current logic, and the previous one used in 2.2? You could mark them as one that prioritizes less supports (2.3's version), and one that prioritizes a better cross-section change layer to layer (2.2's version).

@lukasmatena
Copy link
Collaborator

@tamasmeszaros might give more details, but as far as I know, the old behavior was brought back by 4293a68, with a possibility to choose. The change just did not make it into 2.3.1 which ended up as a minimal patch release of 2.3.0. It will be included in 2.4.0. You're not ignored, although I understand where the feeling came from.

image

@dhprice
Copy link

dhprice commented May 6, 2021

Thanks for the update, look forward to trying functionality in 2.4

@Area5142
Copy link

Area5142 commented May 6, 2021

I can confirm that version_2.4.0-alpha0-270-g123c5af34 (today) has three orientation optimizations:

  • Z axis only
  • Least Support
  • Best surface quality

Z axis only Z axis only

Least support Least Support

Best surface quality Best surface quality

All are same cube, same angle of view - not sure why "Least support" has more support than "Best surface quality".

@crimmsonwind
Copy link

This is very good to hear/see. I really look forward to trying out the different options and seeing how they work out.

@tamasmeszaros
Copy link
Contributor

Guys sorry for the long wait. The revert in the code was done a pretty long time ago, it's just that the next "proper" release is just about to happen. As @lukasmatena stated, 2.3.1 is a minor patch release. To make up for the long wait, you can now use the old rotation, the "new" one and an extra "Z axis only" rotation which only rotates the object to have a minimum bounding box in Z axis. Also, all the rotations should be a lot faster in the new release.

@tamasmeszaros
Copy link
Contributor

@Area5142 Please note that the "Least support" option uses a heuristic and does not call the support generator. It will try to orient the faces of the model so that the overall slopes are minimized. The support generator is much more intricate and looks for overhanging points, edges, etc... It can happen that for such a simple model as the cube, the result is not apparent or useful.

@Area5142
Copy link

@tamasmeszaros maybe the names should be changed to avoid confusion:

  1. Old name "Z axis only", new name "Minimize print height"
  2. Old name "Least Support", new name "Minimize overall slopes"
  3. Keep name "Best surface quality"
  1. Orient the model to have least z height for faster print time.
  2. Orient model to have fewer slopes and less need for support.
  3. Orient model to get the best surface quality (??).

@bubnikv
Copy link
Collaborator

bubnikv commented Sep 22, 2021

Implemented in PrusaSlicer 2.4.0-alpha1.
Closing.

@bubnikv bubnikv closed this as completed Sep 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants