// 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(); } dcs_row(2) u(2) dishless() cherry() { /* $inverted_dish = true; */ $key_shape_type = "obloid"; key(); } translate_u(3) u(2) dcs_row(3) dishless() cherry() { $key_shape_type = "obloid"; key(); }