Skip to content

Latest commit

 

History

History
80 lines (66 loc) · 2.96 KB

README.md

File metadata and controls

80 lines (66 loc) · 2.96 KB

Parametric Keyboard model Kenerator - proof of concept / under construction

This is yet another project that tries to build a parametrized 3D keyboard shell for printing. The target is to retrieve a STEP format that can be post-processed with cad tools such as FreeCAD instead of a mesh.

Inspired by

what works yet

  • planar key placement
  • non planar key placement
  • key rotation (x,y,z)
  • key slots with undercut (for Gateron switches)
  • gap filler in between key slots
  • script can be loaded with cq-editor (fast computation for development)
  • script can be run standalone
  • script can export to STEP file format (the STEP file can be loaded by FreeCAD for refinement)
  • multiple configs/layouts possible

what doesn't work now

  • no walls
  • no baseplate
  • no stabilizer slots for long keys
  • iso layout: proper key placement is not verified

what is the aim

  • configurable layout: ISO, ANSI, size (full, no numpad, no arrow keys)
  • split keyboard
  • planar, non planar and dactyl layout

what are non-aims

  • sophisticated key cap modelling (the key is a simple extruded base, tapered on top)

Run the script - prerequisites

  • active anaconda environment with
    • cadquery installed (conda install -c cadquery -c conda-forge cadquery=master) and
    • python interpreter pointing to the anaconda installation,
    • cqmore installed (pip install git+git://github.com/JustinSDK/cqMore.git) and
    • optionally:
      • cadquery editor installed (conda install -c cadquery -c conda-forge cq-editor=master)
      • pycharm (add ~/miniconda3/bin/python Python interpreter).

Run the script

# to list all command line arguments
python src/main.py --help

# to export to STEP file (can take several minutes to export)
python src/main.py --export

# to render in cadquery editor  (usually takes seconds to render)
cd ./src # cq-editor must be started form the src folder
cq-editor
# then load main.py from disk, do notstart with cli args: cq-editor src/main.py

# to start a dry run: will compute everything but not export anythong
python src/main.py

Configuration

See: ./src/config.py

Screenshots

view in cq-editor

STEP file in FreeCad

non planar key example

key rotation