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.3.0)
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)
- 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.