// 3: like 2 but one-layer window for ad-hoc multi-colour
initial_layer_thick = 0.400; // ^ needed for mode 3 only
+initial_layer_width = 0.125; // ^ needed for mode 3 only
multicolour_gap = 0.15; // each side
phone_cnr_rad = 6.0;
// ---------- modules ----------
+module AdhocMultiprintFrame(phase, z0, zs) {
+ // from z0 to z0 + zs*layer
+ extra = phase * 0.65 + 5;
+ xextra = extra + -epp4[0];
+ xrange = [ 0, phone_width ] + [-1,+1] * xextra;
+ yextra = extra + -epp4[0];
+ yrange = [ -phone_height + -hppB[0] + hp_r2, 0 ] + [-1,+1] * yextra;
+ p0 = [ xrange[0], yrange[0] ];
+ p1 = [ xrange[1], yrange[1] ];
+ echo(p0, p1);
+ translate([0,0, z0])
+ mirror([0,0, zs<0])
+ linear_extrude(height= initial_layer_thick)
+ difference(){
+ rectfromto(p0 - [1,1] * initial_layer_width,
+ p1 + [1,1] * initial_layer_width);
+ rectfromto(p0, p1);
+ }
+}
+
module KeeperProfile(slant=0){
use_e = kppe + [0,-1] * slant * keeper_inner_width / keeper_slant_slope;
polygon([use_e, kppd, kppc, kppb, kppa, kppf]);
translate([0,0, -nla_t])
cylinder(r=nla_r2, height=20);
}
+
+ }
+
+ if (led_window_style >= 3) {
+ AdhocMultiprintFrame(1, lpp13[1], -1);
}
}