Pre‐CAD - hali4045/case-design-guide GitHub Wiki
Planning
Although planning isn't strictly necessary, I like to have an idea in place so that I don't get lost in the middle of CAD.
Some useful features to plan before starting CAD are:
- General layout
- 60? TKL? 1800? Maybe an XT column?
- Layout options
- Stepped caps? Split left shift? Are you actually going to use full right shift on a 60?
- If I offer ISO, would I want it to be on a different plate so it looks nicer and is easier to assemble?
- PCB compatibility
- Do I want to design my own PCB or use an existing one?
- Which way is the enter stab on an h60 again
- Mounting
- Do I really want to prototype gaskets?
- Can I offer two mounts here?
- Seams and bezels
- Exaggerated seams?
- Seamless?
- Can I fit screws in here?
- Typing angle
- Will this hurt?
- Front height
- Will this hurt?
- Side profile
- Is this machinable on a 4-axis without side setups?
- Is this machinable at all?
- Did someone do this before and was it ugly?
- Can I do it anyways and make it not ugly?
- Structure and assembly
- "Screwless"?
- Brass weight?
- Other internal pieces?
- Connectivity
- Bluetooth?
- Daughterboards?
Some useful aspects to plan before starting CAD are:
- Feel
- Soft? Stiff? The illusion of choice?
- Sound
- Dense? Muted? Tinny?
- Aesthetics
- Elements taken from an existing thing? Recurring themes? Kpop signature?
- Price
- Will people even be able to buy this?
- Materials
- Polycarbonate top? Polycarbonate everything?
- Finishes
- PVD? Ano colour options? Raw?
- Can someone do FMJ chamfers again? Other than Owlab?
Making the layout
The typical way to begin designing a keyboard is to make a layout in Keyboard Layout Editor (KLE), which is then used in an online plate generator to get a 2D .dxf file to insert in CAD. You can skip this step if you're designing based off of a plate file.
Upon opening KLE, you'll be greeted by a variety of UI elements. Pressing F1 or Shift + / will bring up the help menu with all the controls and shortcuts. Also, You can Ctrl/Shift click to select multiple keys, similar to how File Explorer does it. I find the fastest way to obtain a layout ready for a plate generator is by using the ANSI 104 preset and modifying from there.
Legends aren't relevant when generating a layout, so I usually remove them under the Tools menu at the bottom. Make sure to navigate back to Properties afterwards to monitor keys as you're editing them.
The keys in KLE work in units in increments of 0.25. If you would like to deviate from the 0.25 unit grid I would (advise against it, but also) suggest doing so in CAD instead of KLE as rounding errors can be common.
From here, you can begin adding, deleting, and editing keys until you reach the general layout you desire.
To add layout support, the extra keys need to be laid over the existing ones. I like to move them all below the general layout then push them all up in one go. Keep in mind that some keys need to have their stabilizers north facing instead of the typical south facing. If using keeb.io's plate generator, now would be the time to mark those keys as homing before you move them all upwards and selecting specific keys becomes complicated.
Once all your keys are moved up nice and neatly, you can navigate to the Raw data tab and copy the output.
Open a plate generator such as keeb.io's or ai03's. keeb.io plate gen is slightly quicker and easier to use while ai03 plate gen allows for finer control (and has prettier stab cutouts), although the differences are marginal. Don't use swillkb's because it has rounding errors and makes CAD more difficult.
Paste in your raw data. Most of the default settings in either site should be fine, however you'll have to modify the raw data directly in ai03 plategen to account for flipped stabilizers. Both sites have a preview to ensure everything looks fine.
(Additionally, keeb.io plategen has a checkbox to combine overlapping layouts that I find quite useful.)
Your final product should look something like this:
Once finished, export as .dxf.