Since I've had my big epiphany that it might be possible for me to make anything via 3D modeling and 3D printing, I've started on the curved design problem. The base plate is curved and so is the plastic switch plate.
I would like to make a resin plate for now that has the curve with cherry mx cutouts in it. I believe I'll have to raise it but plenty of hard parts before that.
I settled on a 3-point Arc to make the curve line. I measured the flat line length across the top of the width of the plate. And then I measured the depth from that horizontal line across the top to the center bottom point of the arc. These are just estimations for now but they are enough to make the arc.
I read that in the old days you would go into the patch area and extrude a surface from the arc. I found that patch is now the Surface tab in Fusion 360. I played with it but wasn't getting anywhere and then I found a neat trick than a guy posted about the Sheet Metal tab.
https://www.youtube.com/watch?v=xN5uqSy ... e=youtu.be
I went into the Sheet Metal tab and created a flange from my arc and made it the length of the curved SGI plate and extruded it a tiny bit.
You then do this little trick where you extrude a tiny bit from the thin side face of the plate. From there you can choose "unbend" and select the top face of that little extrusion and it flattens out the flange.
The point of all this is to take a DXF output file from kle->swillkb of the SGI plate layout and get that 2D sketch onto the flattened flange and then rebend it and have the result be accurate without any warping of the shapes, etc.
That's as far as I've gotten.
In Fusion 360, you should always have your sketches fully defined. The import of the keyboard layout to a sketch has great complexity for trying to define the necessary constraints and dimensions. Each switch hole needs several. It might not be necessary but I started thinking about how to tackle it. I think I might have to write an add-in to add constraints to a sketch from swillkb. The API choices are python or C++. They used to have javascript. Sadness, I would have loved javascript. I'm over C++ so I guess I'd have to learn Python if I go that route. The idea would be to recognize lines that form the switch holes and replace them with a fully constrained equivelent.