Skip to content

Add finger hole pull option to drawers - #301

Open
Ttawannn wants to merge 1 commit into
ostat:mainfrom
Ttawannn:main
Open

Ttawannn wants to merge 1 commit into
ostat:mainfrom
Ttawannn:main

Conversation

@Ttawannn

@Ttawannn Ttawannn commented Sep 5, 2026

Copy link
Copy Markdown

Adds a handle_style option 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_style defaults to handle.

New options (Drawer section)

Option Description
handle_style handle (default), hole, or none
handle_hole_size [width, height, depth]. Negative width/height is a fraction of the drawer front, matching the convention used by handle_size. A depth of 0 cuts through the front, a positive depth leaves a blind recess clamped to the wall thickness.
handle_hole_radius Corner radius, -1 is height/2
handle_hole_open_top Default true

handle_hole_open_top squares 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 to false for a fully enclosed hole, which then honours handle_vertical_center.

Implementation

  • The hole is cut as another child of the existing drawer body difference(), and the handle is wrapped in if(handleStyle == "handle").
  • New drawerFingerHole() module builds the rounded profile from a hull() of circles and extrudes it along the drawer front. A hull() is used rather than offset() on a square, because the square is degenerate when the radius is height/2.
  • The new parameters are threaded through drawers(), drawer() and gridfinity_drawer().
  • combined/gridfinity_drawers.scad regenerated with scripts/combined-openscad_script.ps1.

Testing

Rendered with OpenSCAD, all manifold with Status: NoError and 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, the everything render, and the combined file.

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

No deployments
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