// the point of this file is to be a sort of DSL for constructing keycaps. // when you create a method chain you are just changing the parameters // key.scad uses, it doesn't generate anything itself until the end. This // lets it remain easy to use key.scad like before (except without key profiles) // without having to rely on this file. Unfortunately that means setting tons of // special variables, but that's a limitation of SCAD we have to work around //TODO duplicate def to not make this a special var. maybe not worth it unit = 19.05; use include include include include include module translate_u(x=0, y=0, z=0){ translate([x * unit, y*unit, z*unit]) children(); } translate_u(1.125, 0.5) sa_row(4) u(2) bar_support() cherry(){ key(); }