//sensorHolderTop() ; //holderBottom(); //controllerHolderTop(); controllerHolderBottom(); //batteryHolder(); module sensorHolderTop() { difference() { minkowski() { cube([42-4,20-4,2], center=true); sphere(d=4, center=true, $fn=18); } translate([0,0,0]) cube([35,18.5,4], center=true); translate([0,0,-3]) cube([42,20,6], center=true); translate([10,0,0]) cube([6,3,100], center=true); cube([9,100,1], center=true); } translate([18.5,0,0]) cube([1.5,9.5,5.5], center=true); translate([-18.5,0,0]) cube([1.5,9.5,5.5], center=true); } module controllerHolderTop() { difference() { minkowski() { cube([42-4,20-3,6], center=true); sphere(d=4, center=true, $fn=18); } translate([0,0,0]) cube([35,19.5,8], center=true); translate([0,0,-3]) cube([42,21,6], center=true); translate([-18.5,0,0]) cube([6,16,2], center=true); } translate([18.5,0,0]) cube([1.5,9.5,9.5], center=true); } module controllerHolderBottom() { difference() { minkowski() { cube([42-4,20-3,6], center=true); sphere(d=4, center=true, $fn=18); } translate([0,0,0]) cube([35,19.5,8], center=true); translate([0,0,-3]) cube([42,21,6], center=true); translate([0,10,0.75])cube([13,10,1.5], center=true); translate([0,-10,0.75])cube([3,10,1.5], center=true); translate([18.5,0,0]) cube([2,10,10], center=true); translate([-18.5,0,-1]) cube([6,16,10], center=true); } } module holderBottom() { difference() { minkowski() { cube([42-4,20-4,2], center=true); sphere(d=4, center=true, $fn=18); } translate([0,0,0]) cube([35,18.5,4], center=true); translate([0,0,-3]) cube([42,20,6], center=true); cube([9,100,1], center=true); translate([18.5,0,0]) cube([2,10,6], center=true); translate([-18.5,0,0]) cube([2,10,6], center=true); } } //sensor(); module sensor() { // 3 sensor in 27 degree steps difference() { cube([18,13,1.5], center=true); translate([25.4/4,4,0]) cylinder(d=2.5, h=10, $fn=18, center=true); translate([-25.4/4,4,0]) cylinder(d=2.5, h=10, $fn=18, center=true); translate([2.54*3,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); translate([2.54*2,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); translate([2.54*1,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); translate([2.54*0,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); translate([-2.54*1,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); translate([-2.54*2,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); translate([-2.54*3,-5,0]) cylinder(d=1, h=10, $fn=18, center=true); } translate([0,1,-1.5]) cube([3,6,1.5], center=true); } //battery(); module batteryHolder() { difference() { minkowski() { cube([63-2,26-2,16-2], center=true); sphere(d=6, center=true, $fn=18); } battery(); translate([-70,0,0]) cube([100,100,100], center=true); translate([8,0,0]) intersection() { rotate([0,0,45]) cube([35,35,100], center=true); translate([-5.5,0,0]) cube([50,20,20], center=true); } translate([33+2,29/2+2,0]) rotate([0,0,45]) cube([17,17,100], center=true); translate([33+2,-29/2-2,0]) rotate([0,0,45]) cube([17,17,100], center=true); translate([-18,10,0]) cylinder(d=1, h=100, $fn=18); translate([-18,6,0]) cylinder(d=1, h=100, $fn=18); translate([-18,2,0]) cylinder(d=1, h=100, $fn=18); translate([-18,-2,0]) cylinder(d=1, h=100, $fn=18); translate([-18,-6,0]) cylinder(d=1, h=100, $fn=18); translate([-18,-10,0]) cylinder(d=1, h=100, $fn=18); translate([30,0,0]) cylinder(d=1, h=100, $fn=18); translate([30,4,0]) cylinder(d=1, h=100, $fn=18); translate([30,-4,0]) cylinder(d=1, h=100, $fn=18); } } module battery() { minkowski() { cube([63-2,26-2,16-2], center=true); sphere(d=3, center=true, $fn=18); } } //microcontroller(); module microcontroller() { translate([1,0,-1.5]) cube([34,19,2.5], center=true); }