Skip to content

[og] Add backside screw hole w/ revised chamfer handlings#133

Open
ClassicOldSong wants to merge 4 commits intoAndyLevesque:mainfrom
ClassicOldSong:main
Open

[og] Add backside screw hole w/ revised chamfer handlings#133
ClassicOldSong wants to merge 4 commits intoAndyLevesque:mainfrom
ClassicOldSong:main

Conversation

@ClassicOldSong
Copy link
Copy Markdown

This PR improves chamfer/screw/connector interaction and adds an optional backside screw-head cutout.

What changed

  • Added an optional backside screw-head cutout:
    • Backside_Screw_Hole
    • Backside_Screw_Head_Diameter_Shrink
  • Added new chamfer modes:
    • Border Only
    • Non-Border Only
  • Changed chamfer generation so it is resolved per-position instead of using broad mode exclusions.
    • Screw holes now suppress chamfers only at the positions where screw holes actually exist.
    • Connector holes now suppress chamfers only at overlapping connector positions.
    • Connector holes are no longer disabled just because chamfers are enabled.
  • Made Everywhere, Border Only, and Non-Border Only respect the existing corner chamfer checkboxes (Chamfer_Top_Left, Chamfer_Top_Right, Chamfer_Bottom_Left, Chamfer_Bottom_Right) for the outer corners.

Why

The previous logic was too coarse in a few places:

  • enabling screw holes could force chamfers into corner-only behavior instead of only skipping the affected screw locations
  • chamfered border modes could disable connector holes entirely, even though the better behavior is to keep the functional connector hole and suppress only the conflicting chamfer
  • the corner chamfer checkboxes only fully mattered in Corners mode, while broader chamfer modes could still generate outer-corner chamfers even when a specific corner was disabled

This PR makes those interactions more local and predictable. Also, with backside screw hole enabled, we can use the more pretty top faces of stacked prints instead of being forced to use the hanged over face.

Behavior after this change

  • Corners still behaves as before, using only the selected outer corners
  • Everywhere chamfers all valid positions except:
    • positions occupied by screw holes
    • positions occupied by connector holes
    • disabled outer corners
  • Border Only chamfers only border positions, while still respecting:
    • screw holes
    • connector holes
    • disabled outer corners
  • Non-Border Only chamfers only interior positions, while still respecting screw-hole positions

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.

1 participant