Conversation
Adds handle_style so the drawer front can use a finger hole instead of a protruding handle, or nothing at all. The hole is open topped by default, cutting a notch with rounded bottom corners in to the top of the drawer front, so it prints without supports. Set handle_hole_open_top to false for a fully enclosed hole. handle_hole_size sets width, height and depth, with negative width/height being a fraction of the drawer front and a depth of 0 cutting through. handle_hole_radius sets the corner radius. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
handle_styleoption to the drawer front, so a drawer can use a finger hole instead of a protruding pull handle (or nothing at all).The existing behaviour is unchanged:
handle_styledefaults tohandle.New options (Drawer section)
handle_stylehandle(default),hole, ornonehandle_hole_size[width, height, depth]. Negative width/height is a fraction of the drawer front, matching the convention used byhandle_size. A depth of0cuts through the front, a positive depth leaves a blind recess clamped to the wall thickness.handle_hole_radius-1isheight/2handle_hole_open_toptruehandle_hole_open_topsquares off the top of the hole and cuts it out through the top of the drawer front, leaving a notch with rounded bottom corners. There is no overhang, so it prints without supports. Set it tofalsefor a fully enclosed hole, which then honourshandle_vertical_center.Implementation
difference(), and the handle is wrapped inif(handleStyle == "handle").drawerFingerHole()module builds the rounded profile from ahull()of circles and extrudes it along the drawer front. Ahull()is used rather thanoffset()on a square, because the square is degenerate when the radius isheight/2.drawers(),drawer()andgridfinity_drawer().combined/gridfinity_drawers.scadregenerated withscripts/combined-openscad_script.ps1.Testing
Rendered with OpenSCAD, all manifold with
Status: NoErrorand no warnings: default handle,none, open top notch cut through, open top notch as a blind recess, enclosed hole,handle_hole_radius = 0,handle_vertical_center, theeverythingrender, and the combined file.