A port of Zappycobra's Z-Butt system to OpenSCAD.
STL models are available for download in the releases section.
- MX, Alps, Topre or Kailh Low-Profile stems for switches and stabilizers
- Key sizes of 1u, 1.25u, 1.5u, 1.75u, 2u, 2.25u, 2.75u, 3u, 4u, 6u, 6.25u, and 7u
- ISO enter and big-ass enter
scad/z-butt.scad
is a library. It won't generate any geometry by itself. Instead it should be included in other OpenSCAD files where it's functions can be called.
(mx/al/tp/lp)_master_base
Base for casting a silicone mould of an existing keycap.(mx/al/tp/lp)_sculpt_base
Base for sculpting a custom-shaped keycap(mx/al/tp/lp)_stem_cavity
Stem cavity base (may need to be inverted for printing).(mx/al/tp/lp)_sprues_only
Sprues with a frame for placing inverted on top of an existing blank key when casting a cavity mold.container
A container for casting silicone molds
mx
module prefix is for Cherry MX stemsal
module prefix is for Alps stemstp
module prefix is for Topre stemslp
module prefix is for Kailh Low-Profile stemsxu
: number of key units in X (1 unit is 19.05mm or 0.75 inches).yu
: Number of key units in Yname
: Name of specially-shaped key, eg.iso-enter
,big-ass-enter
yn
: Number of compartments in a container
An Alps-stem master base, 2u in the X-axis:
include <z-butt.scad>
al_master_base(xu=2);
An MX-stem ISO enter cavity base:
include <z-butt.scad>
mx_stem_cavity(name="iso-enter");
- Measurements can be altered by changing values in the “User Parameters” section of the
z-butt.scad
library. Of particular note:sprue_max_distance
: make sprue placement denser or sparsercontainer_inset
tune the gap to the internal walls of the container
- MX stems for stabilizers have been included on larger spacebars, though these are tentative and it is advised to check them before printing. Stem placement can be edited in the functions
switches_xu
andstabilizers_xu
.
For building on Linux, OpenSCAD and GNU Make should be installed.
From the root of the repository, run
make
Or to use, for example, four cores in parallel:
make -j 4