//Make the final object difference(){ //create all the components uncleanedSensorTower(); //trims away everything not in the circle trim(); } //creates a hollow cylinder. The hollow portion has a radius //equal to the radius of the structure itself. module trim(){ difference(){ cylinder(h=38.1, r = 100); cylinder(h=38.1, r= 76.2); } //creates the inner structure with some bits hanging out. } module uncleanedSensorTower(){ //creates the 6 sensor holders and moves them to the correct //spot sensorHolder(52,90); sensorHolder(52,-90); sensorHolder(52,0); sensorHolder(52,180); sensorHolder(52,45); sensorHolder(52,-135); sensorHolder(52,-45); sensorHolder(52,135); //Creates the cylindrical frame and then cuts all necessaary //holes out (for the sensor holders and wire holes). difference(){ cylinder(h=38.1, r= 76.2); translate([0,0,3]){ cylinder(r=73.2,h=38.1); } //These 4 cubes make the 8 sensor holder holes. translate([-100,-25.5,17.1]){ cube([200,51,18]); } rotate(a=[0,0,90]){ translate([-100,-25.5,17.1]){ cube([200,51,18]); } } rotate(a=[0,0,45]){ translate([-100,-25.5,17.1]){ cube([200,51,18]); } } rotate(a=[0,0,-45]){ translate([-100,-25.5,17.1]){ cube([200,51,18]); } } rotate([0,0,22.5]){ //these two cylinders makes the wire holes. translate([-100,0,8]){ rotate([0,90,0]){ cylinder(h=200,r=2); } } translate([0,-100,8]){ rotate([0,90,90]){ cylinder(h=200,r=2); } } } } } //makes the sensor holeder at the specified location and degree. module sensorHolder(z,d){ rotate(a=[90,0,d]){ translate([0,17.1,z]){ //difference(){ holedSensorHolder(); //translate([-27.5,1.5,20]){ //cube(size = [55,18,3]); //} //} } } } //makes the sensor holder structure itself. module uncleanSensorHolder(){ rotate([90,0,0]){ translate([14,1.5,0]){ cylinder(r=1.5,h=17.1); } translate([-14,1.5,0]){ cylinder(r=1.5,h=17.1); } } //the back translate([-14.5,0,0]){ cube(size = [29,18,3]); } //right side translate([12,0,2]){ rotate(a=[0,30,0]){ cube(size=[3,18,24]); } } //left side translate([-14.5,0,0]){ rotate(a=[0,-30,0]){ cube(size=[3,18,24]); } } //divider cube(size=[1.5,18,25]); //bottom intersection(){ translate([0,10,0]){ cylinder(h=25,r1=15,r2=30); } translate([-27.5,0,0]){ cube(size=[55,1.5,25]); } } } //Adds the LEED holes module holedSensorHolder(){ difference(){ uncleanSensorHolder(); //makes the two LED holes. translate([-7,10,0]){ cylinder(h=50,r =.5); } translate([-4,10,0]){ cylinder(h=50,r =.5); } //makes the 3 receiver holes. translate([5,3,0]){ cylinder(h=50,r =.5); } translate([7,3,0]){ cylinder(h=50,r =.5); } translate([9,3,0]){ cylinder(h=50,r =.5); } } }