Add Feature to disable snapping to buildplate #1213

Open
opened 2026-04-05 17:01:26 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @Xipit on 1/1/2026

Description

This addresses #8194

Introduces a new .3mf wide flag to enable/disable snapping to buildplate (internally ensure_on_bed)

  • defaults to true for new projects
  • is visible in the Move UI (see screenshots)
  • applies to all features that use ensure_on_bed()

Why implement it this way?

My goals here where to add an easy-to-understand feature that does not add clutter or confuses users.

  • Is placed in Move UI to be easily discoverable plus it makes thematic sense. Adding a Checkbox to every place where the setting is used would add way too much clutter. Instead i opted to add a comprehensive tooltip to explain where it is also used.
  • The option is saved project-wide, because users only need it for specific projects. Saving it per-object would make UI more complex than necessary. Adding an option for every feature to enable/disable would lead to unnecessary clutter.

Minor changes

  • removed ensure_on_bed() from being called every time an object is scaled (using the gizmos). Now snaps to buildplate only after scaling is finished.

Screenshots/Recordings/Graphs

image image

Tests

*Originally created by @Xipit on 1/1/2026* # Description This addresses #8194 Introduces a new .3mf wide flag to enable/disable snapping to buildplate (internally `ensure_on_bed`) * defaults to true for new projects * is visible in the Move UI (see screenshots) * applies to all features that use `ensure_on_bed()` ## Why implement it this way? My goals here where to add an easy-to-understand feature that does not add clutter or confuses users. * Is placed in Move UI to be easily discoverable plus it makes thematic sense. Adding a Checkbox to every place where the setting is used would add way too much clutter. Instead i opted to add a comprehensive tooltip to explain where it is also used. * The option is saved project-wide, because users only need it for specific projects. Saving it per-object would make UI more complex than necessary. Adding an option for every feature to enable/disable would lead to unnecessary clutter. ## Minor changes * removed `ensure_on_bed()` from being called every time an object is scaled (using the gizmos). Now snaps to buildplate only after scaling is finished. <!-- > Please provide a summary of the changes made in this PR. Include details such as: > * What issue does this PR address or fix? > * What new features or enhancements does this PR introduce? > * Are there any breaking changes or dependencies that need to be considered? --> # Screenshots/Recordings/Graphs <img width="431" height="203" alt="image" src="https://github.com/user-attachments/assets/e7080adc-b7b5-49f4-aff6-c859bac9b136" /> <img width="470" height="239" alt="image" src="https://github.com/user-attachments/assets/371e4ae8-f410-42b7-8fa6-4b56f2bc6ab4" /> <!-- > Please attach relevant screenshots to showcase the UI changes. > Please attach images that can help explain the changes. --> ## Tests <!-- > Please describe the tests that you have conducted to verify the changes made in this PR. -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1213