Add resin-friendly features: avoid suction cups & allow drainage
Design for resin printing differs in important ways from design for FDM printing.
This change aims to improve printability when the base of the keys is against the build plate of a resin printer.
The two printability concerns addressed are:
-
Fully enclosed volumes, called "suction cups". These volumes are undesirable, because the action of pulling up the build plate after exposing a layer creates a vaccum here which can make the print fail.
By adding breaks at each of the 4 corners of the key, resin can freely flow into the central area and there are no suction cups.
-
Volumes with no holes at the top (model +Z). It's desirable for as much resin as possible to drip free from the print before moving to the cleaning and curing stages.
By adding a single inclined hole at the back face, resin is allowed to drain out of the central area once the solid layers of the key are reached
These are enabled by the existing module resin(), so the typical use remains: resin() key().
I have not yet printed these, and I'm newish to resin printing altogether so please take this with a grain of salt.
The proposed geometry of the drain holes cuts into the top of the key in some cases (e.g., cherry row 3 & 4). Positioning the drain holes at the rear of the keycap doesn't work when the key slopes back like that. For my needs, moving the drain holes to the sides seems like a good option, but this would be trouble if the cylinder is partially or entirely along X instead of Y...