veikman/dmote-keycap

MX key feedpack

doordormeta opened this issue · 2 comments

Hey! Long time.

I have printed MX keys. Finally I got the feel the keyboard a bit and how I want the keys to be shaped in the end. I also had a trouble while printing the keys. I had to sand them with small sanding tools so they could fit.

The MX connector walls have vertical angle. When you FDM print things, first layers need to be a bit squished to the bed for the adhesion.

Furthermore, not all beds are glassy, mine for example, is a magnetic mat which deforms a bit over time. And when I want to print whole set of keys in one go, each key has a bit different squish at the bottom layers. Even if I level the bed nicely, some keys will still get the bottom layer squish.

This results in a bit non-vertical walls, a bit wider than the bed.

Can you please add an option to manipulate:

  • MX connector inner wall spacing

  • maybe MX connector outer wall angle, I still have to print them without supports

Hi! Glad you’re trying it out.

I may be misunderstanding your terms, but it sounds like your “connector inner wall spacing” is the space inside the cross-shaped hole in the keycap stem, where it connects to the switch. If so, this is already parametrized as :error-stem-negative (CLI flag --error-stem-negative). If you put in a lower (more negative) value for that parameter, the space grows bigger to compensate for printer error (inaccuracy).

If your “connector outer wall angle” refers to the angle of the stem, I don’t see how changing this would help with supports. There is already a feature that will arch the ceiling to reduce the need for slicer support structures. Perhaps this arching would help. To activate it, you need to supply a non-minimal :top-size.

I suggest you run the application as follows and check out the preview in OpenSCAD:

$ lein run -- --switch-type mx

This gets you a minimal MX-compatible cap where the connector stem is raised above the print bed, where it is safe from bed warping and therefore first-layer squishing, but it would require supports in slicing. Now add a couple of extra parameters:

$ lein run -- --switch-type mx --supported --sectioned --top-size '12 12 4' --error-stem-negative -0.8

This gets you a sectioned (non-printable) view of a taller, wider cap with an arched ceiling and an extra wide interior cross: So wide that it can’t possibly fit well, but I hope it illustrates the point. The stem, still elevated above the bed, has built-in supports (controlled by --nozzle-width) that will be easy to clean up.

Playing around with those extra parameters should get you a design that needs minimal post-processing on an uneven bed and still fits as tightly as you want. If this doesn’t solve your problem, please let me know.

There is now a troubleshooting guide here. Please let me know if something is unclear.