This is a fork of the Dactyl-ManuForm, which is itself a fork of the Dactyl, a parameterized, split-hand, concave, columnar, ergonomic keyboard.
This project aims to rewrite the original codebase from Clojure to Python leveraging the bpy
and bmesh
libraries for Blender.
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.
Install Blender
- Install the latest version of Blender (Currently tested on version 4.2 LTS)
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
- If the objects generated correctly, export as .stl (located under File menu)
- 2x6mm disc magnets ( 12 )
- CA glue
- A loligagger-style board holder, such as the Loligagger Elite-C holder
The 5x6 body/bottom .stl set from the things/ directory is in the thingiverse for public printing
Special thanks goes out to Joshua Shreve, whose Python fork and accompanying Reddit post inspired me to create this Blender fork.
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.