rsheldiii / KeyV2

KeyV2: A Parametric Mechanical Keycap Library
GNU General Public License v3.0
1.41k stars 180 forks source link

Constant height inverted dish. #165

Open CopperandDust opened 2 years ago

CopperandDust commented 2 years ago

It would be good to have an inverted dish function that fillets the corners to create the inverted dish, rather than raising the inverted dish above the normal key height. Example image using DSA profile.

image

rsheldiii commented 1 year ago

openSCAD doesn't have a first-order way to do fillets - not to say it's impossible but the math is pretty tricky. The easiest way to approach this would be to have the dish intersect the keycap $dish_depth lower, scaling it slightly to account for the larger cross-section it'll be cutting into. You can't just modify the $total_depth, because that changes how fast the corner and side sculpting occurs, and doesn't affect the top_total_key_width and top_total_key_height.

It might be a helpful addition to be able to slide the dish down; the current spherical dish affects the height of the keycap more than it should, which would be mitigated by that as well.