Skip to content

Conversation

suchmememanyskill
Copy link
Contributor

@suchmememanyskill suchmememanyskill commented Jan 31, 2025

Description

(Partially) implements #8106

I tried to re-use as much as possible here. I don't know the orca codebase at all. Please let me know if there's anything that can be improved on with this implementation :)

What i implemented from the proposal:

  • A new setting called 'Load Behaviour', put under the 'Project' heading
  • This new setting has 4 options: 'Load All', 'Ask When Relevant', 'Always Ask' and 'Load Geometry'
    • Load All: Always loads the .3mf as a project file, loading both geometry and configuration. You will never be asked to pick between opening as project and loading geometry only. It will always load as project.
    • Ask When Relevant: Default option. Replicates the current scenario. Will load the project when the plate is clean, otherwise will bring up a popup asking the user if they want to load geometry only.
    • Always Ask: Whenever a .3mf is imported, it will bring up a popup asking the user if they want to load geometry only.
    • Load Geometry: Always loads the .3mf as geometry only. You will never be asked to pick between opening as project and loading geometry only.

What i didn't implement implement from this proposal:

  • A .3mf is not checked if it contains configuration. You will potentially be asked to open as project/load geometry only even if there's only geometry to be loaded. This hasn't changed with the current situation; this happens currently too.
  • The changes in configuration compared to the base printer are not shown.

Screenshots/Recordings/Graphs

image

Tests

I loaded .3mf files with a bunch of different configuration settings, checking if they match the description above.

clean-plate.mp4
dirty-plate.mp4
open.mp4

@Noisyfox
Copy link
Collaborator

Noisyfox commented Feb 1, 2025

  • The changes in configuration compared to the base printer are not shown.

Do you mean "compare the config from 3mf to current profile"?

@Noisyfox
Copy link
Collaborator

Noisyfox commented Feb 1, 2025

Nice work!

Also an option here could make this option more visible & user-friendly?
image

@suchmememanyskill
Copy link
Contributor Author

Do you mean "compare the config from 3mf to current profile"?

That is kind of a difficult question. Your current profile may not match the stored printer in a project file, so comparing to the current profile is not useful. That's why i said 'base printer' (As in, Orca looks up the unmodified profile of the printer/filament profile/process profile, and shows the diff between that). But that sounds quite difficult to implement, especially as i'm just getting started with orca development.

Also an option here could make this option more visible & user-friendly?

What would this remember option do? If you have 'Open as project' selected, will it chnage my new setting to 'Load All'? And if you have 'Import Geometry Only' selected, it will change to 'Load Geometry'? I think i can do that.

@Noisyfox
Copy link
Collaborator

Noisyfox commented Feb 1, 2025

If you have 'Open as project' selected, will it chnage my new setting to 'Load All'? And if you have 'Import Geometry Only' selected, it will change to 'Load Geometry'?

Exactly

@suchmememanyskill
Copy link
Contributor Author

suchmememanyskill commented Feb 1, 2025

image

There seemingly was support for this in the past, i've re-useed the commented out ui elements here. Please do double check the commit, i'm pretty sure i did it right, and it does work as i expect it to, but again, not very familliar with the codebase.

Image with tooltip (both hover over the checkbox and the checkbox label will give this message):
image

@Noisyfox
Copy link
Collaborator

Noisyfox commented Feb 1, 2025

Perfect! Thank you!

@suchmememanyskill
Copy link
Contributor Author

suchmememanyskill commented Feb 1, 2025

Is there anything missing from my side to get this merged? (Assuming code is fine and all)

@Noisyfox
Copy link
Collaborator

Noisyfox commented Feb 2, 2025

Is there anything missing from my side to get this merged? (Assuming code is fine and all)

Overall looks good to me, thanks~

Copy link
Collaborator

@Noisyfox Noisyfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@Noisyfox Noisyfox merged commit cc92abf into SoftFever:main Feb 9, 2025
16 checks passed
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

Successfully merging this pull request may close these issues.

2 participants