+module Pin(){
+ translate([0, pin_offset, 0]) rotate([0,90,0]){
+ translate([0, 0, -pin_thick/2])
+ linear_extrude(height=pin_thick){
+ translate([-pin_base/2, 0]) square([pin_base, 50]);
+ translate([-pin_width/2, -100]) square([pin_width, 101]);
+ }
+ hull() for (d=[0,10]) {
+ translate([d*2,-d,0])
+ translate([-lock_manouvre_thick/2,
+ -pin_workdepth-100,
+ -lock_manouvre_len_smaller])
+ cube([lock_manouvre_thick, 100,
+ lock_manouvre_len + lock_manouvre_len_smaller]);
+ }
+ translate([-lock_manouvre_thick/2, -pin_workdepth-50,
+ -lock_hang_width/2])
+ cube([50, 50, lock_hang_width]);
+ }
+}
+
+module Demo(){
+ %Body();
+ Pin();
+}
+
+module All(){
+ difference(){
+ Body();
+ Pin();
+ }
+}
+
+module Piece(pc){
+ translate([0,-pc*4,0])
+ intersection(){
+ mirror([0,pc,0])
+ translate([-200,clatter_gap/2,-200]) cube([400,400,400]);
+ All();
+ }
+}
+
+module PiecesPrint(){
+ rotate([0,180,0])
+ for (pc=[0,1]){
+ Piece(pc);
+ }
+}
+
+//Demo();
+//All();
+//Pin();
+//Pieces();
+PiecesPrint();