/blender-dactyl-keyboard

Blended Dactyl Manuform, a parameterized ergonomic keyboard

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Blended Dactyl-ManuForm Keyboard (Blended-DM)

This is a fork of the Dactyl-ManuForm, which is itself a fork of the Dactyl, a parameterized, split-hand, concave, columnar, ergonomic keyboard.

Glamourshot

This project aims to rewrite the original codebase from Clojure to Python leveraging the bpy and bmesh libraries for Blender.

Disclaimer

This script is very much a work-in-progress. It is easy to select a set of parameters outside the "stable generation space". Additionally, Blender's output is not always predictable in mesh-output or runtime length. If a malformed object is generated, re-running the script (without any change to the codebase) may produce a better result. Your mileage may vary.

Generating a Design

Install Blender

Load Script

  • Open Blender and delete the initial collections and objects (i.e., Collection, Camera, Cube, & Light)
  • Switch to the Scripting Window
  • Either Copy-Paste the code into a new file or load src/blended-dm.py
  • Optional: Open Console Window to observe output
  • Optional: Edit parameters near beginning of file as desired. Increasing body_subsurf_level will increase the body smoothness but drastically increase generation time.
  • Run the script by pressing the PLAY button

Note

This script enables extensions available online and installs 3D Print Tooolbox and Edit Mesh Tools. If running for the first time, these extensions will bw installed, but fail to generate a proper mesh. Simply run the script a second time to complete the mesh generation.

  • If the objects generated correctly, export as .stl (located under File menu)

Required Hardware for Case

Thingiverse

The 5x6 body/bottom .stl set from the things/ directory is in the thingiverse for public printing

Acknowledgments

Special thanks goes out to Joshua Shreve, whose Python fork and accompanying Reddit post inspired me to create this Blender fork.

License

Copyright © 2015-2024 Matthew Adereth, Tom Short, and Sean Gilroy

The source code for generating the models (everything excluding the things/ and resources/ directories is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. The generated models and PCB designs are distributed under the Creative Commons Attribution-NonCommercial-ShareAlike License Version 3.0.