Open CopperandDust opened 2 years 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.
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.