| 1 | $fn=50; |
| 2 | |
| 3 | wire_diameter = 1.5; |
| 4 | wr = wire_diameter /2; |
| 5 | |
| 6 | bus_diameter = 1.6; |
| 7 | br = bus_diameter / 2; |
| 8 | |
| 9 | module latch() { |
| 10 | hull() { |
| 11 | cylinder(8,1.5,1.5); |
| 12 | translate([10,0,0]) cylinder(8,2.5,2.5); |
| 13 | } |
| 14 | } |
| 15 | |
| 16 | module lever(hole=true) { |
| 17 | |
| 18 | difference() { |
| 19 | latch(); |
| 20 | if(hole) translate([5.2,-4.5,0]) cylinder(8,5,5); |
| 21 | } |
| 22 | |
| 23 | translate([10,-1,2.5]) rotate([0,0,8]) cube([8,3,3]); |
| 24 | translate([17.5,2,0]) cylinder(8,2.5,2.5); |
| 25 | |
| 26 | } |
| 27 | |
| 28 | //lever(true); |
| 29 | difference() { |
| 30 | translate([-0.5,0,0]) scale([1,1,0.9999]) minkowski() { |
| 31 | union() { |
| 32 | hull() { |
| 33 | scale([1.1,1,1])latch(); |
| 34 | rotate([0,0,20]) scale([1.1,1,1]) latch(); |
| 35 | translate([-2.1,0,0]) cylinder(8,1,1); |
| 36 | } |
| 37 | |
| 38 | } |
| 39 | cylinder(0.000001,2,2); |
| 40 | } |
| 41 | translate([0,0,0]) lever(false); |
| 42 | translate([0,0,0]) rotate([0,0,20]) scale([1.1,1.1,1.1]) lever(false); |
| 43 | translate([12,-2,2]) rotate([0,0,26]) cube([8,9,4]); |
| 44 | translate([14.5,-5,0]) rotate([0,0,-1]) cube([8,9,8]); |
| 45 | |
| 46 | translate([-0.8,10,1.5]) rotate([90,0,0]) cylinder(20,wr,wr); |
| 47 | translate([-0.8,10,4]) rotate([90,0,0]) cylinder(20,wr,wr); |
| 48 | translate([-0.8,10,6.5]) rotate([90,0,0]) cylinder(20,wr,wr); |
| 49 | translate([-2.1,0,0]) cylinder(20,br,br); |
| 50 | |
| 51 | } |
| 52 | |
| 53 | |
| 54 | |
| 55 | |
| 56 | translate([0.6,0.3,0]) rotate([0,0,19]) |
| 57 | lever(); |