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_baseBase for casting a silicone mould of an existing keycap.(mx/al/tp/lp)_sculpt_baseBase for sculpting a custom-shaped keycap(mx/al/tp/lp)_stem_cavityStem cavity base (may need to be inverted for printing).(mx/al/tp/lp)_sprues_onlySprues with a frame for placing inverted on top of an existing blank key when casting a cavity mold.containerA container for casting silicone molds
mxmodule prefix is for Cherry MX stemsalmodule prefix is for Alps stemstpmodule prefix is for Topre stemslpmodule 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-enteryn: 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.scadlibrary. Of particular note:sprue_max_distance: make sprue placement denser or sparsercontainer_insettune 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_xuandstabilizers_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







