diff --git a/Printed-Parts/scad/RAMBo-cover-base.scad b/Printed-Parts/scad/RAMBo-cover-base.scad new file mode 100644 index 00000000..727a38f8 --- /dev/null +++ b/Printed-Parts/scad/RAMBo-cover-base.scad @@ -0,0 +1,262 @@ +// PRUSA iteration3 +// RAMBo cover base +// GNU GPL v3 +// Josef Průša and contributors +// http://www.reprap.org/wiki/Prusa_Mendel +// http://prusamendel.org + + + +// main body +module main_body(){ +cube( [ 114.5 , 92 , 2 ] ); +cube( [ 1.5 , 92 , 35 ] ); +translate( [ 0 , 90 , 0 ] ) cube( [ 105.5 , 2 , 35 ] ); +translate( [ 63 , 88.5 , 0.5 ] ) cube( [ 6.5 , 2 , 34.5 ] ); + +translate( [ 0 , 0 , 1 ] ) cube( [ 5.5 , 7 , 34 ] ); +translate( [ 0 , 0 , 1 ] ) cube( [ 9 , 92 , 3 ] ); +translate( [ 98 , 0 , 0 ] ) cube( [ 9 , 92 , 4 ] ); +translate( [ 98 , 86 , 0 ] ) cube( [ 7.5 , 6 , 35 ] ); +translate( [ 0 , 85 , 0 ] ) cube( [ 5.5 , 7 , 35 ] ); +translate( [ 54 , 84 , 0 ] ) cube( [ 9.5 , 7 , 35 ] ); +translate( [ 20 , 0 , 0 ] ) cube( [ 80 , 3 , 5 ] ); + +// RAMBo mounting holes +translate( [ 102.5 , 14 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6); +translate( [ 102.5 , 75 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6); +translate( [ 7.5 , 14 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6); +translate( [ 7.5 , 75 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6); + +// corners reinforcement +translate( [ 0 , 75 , 1 ] ) cube( [ 13 , 16 , 6 ] ); +translate( [ 0 , 70.25 , 1 ] ) cube( [ 7.5 , 11 , 6 ] ); +translate( [ 0 , 7.75 , 1 ] ) cube( [ 7.5 , 11 , 6 ] ); +translate( [ 0 , 0 , 1 ] ) cube( [ 13 , 14 , 6 ] ); + +// frame mounting screw blocks +translate( [ 98 , 0 , 0 ] ) cube( [ 16.5 , 8 , 8 ] ); +translate( [ 1 , 0 , 0 ] ) cube( [ 19.5 , 8 , 8 ] ); +translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 8, r = 5, $fn=30); +translate( [ 110.5 , 8 , 5 ] ) rotate([90,90,0]) cylinder( h = 8, r = 5, $fn=30); +translate( [ 18.45 , 0 , 0 ] ) cube( [ 3 , 8 , 5.5] ); + +// heatbed filament holder body +translate( [ 81.6 , 90.35 , 24 ] ) rotate([0,90,0]) cylinder( h = 17, r = 5, $fn=6); + +// door closing corner +translate( [ 102 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30); + +translate( [ 2 , 85 , 31 ] ) cube( [ 6 , 7 , 4] ); +translate( [ 4 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30); +translate( [ 89 , 2 , 0 ] ) cylinder( h = 5, r = 6, $fn=6); + +} + + + +module inside_cable_holder(){ + +translate( [ 50 , 6 , 0.5 ] ) cube( [ 30, 2, 20] ); +difference(){ +translate( [ 50 , 8 , 25 ] ) rotate([0,90,0]) cylinder( h = 30, r = 6, $fn=6); +translate( [ 49 , 8 , 25 ] ) rotate([0,90,0]) cylinder( h = 34, r = 4, $fn=6); +translate( [ 49 , 8 , 10 ] ) cube( [ 34, 10, 25] ); +} + + } + +module cutouts(){ +// side +translate( [ 12 , 19 , 1 ] ) cube( [ 85.5 , 51 , 3 ] ); + +// RAMBo M3 screws +translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); +translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); +translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); +translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); + +// frame mounting screws +translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); +translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); +translate( [ 16.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30); +translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30); +translate( [ 114.5 , -2 , -1 ] ) cube( [ 5 , 15 , 10] ); + +// USB connector hole +translate( [ -1 , 41.5 , 11 ] ) cube( [ 5.5 , 13 , 11 ] ); + +// reset button +translate( [ -2 , 65 , 14 ] ) rotate([0,90,0]) cylinder( h = 10, r = 2, $fn=30); + +// door closing screw +translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 43, r = 1.8, $fn=30); + + +// heatbed cable opening hole +translate( [ 75.5 , 94 , 24 ] ) rotate([90,90,0]) cylinder( h = 5, r = 7, $fn=6); +translate( [ 77.6 , 80 , 20.5 ] ) cube( [ 4 , 15 , 15] ); +translate( [ 69.4 , 95 , 27.5 ] ) rotate([90,60,0]) cube( [ 5 , 10 , 10] ); + +// heatbed cable ziptie holes +translate( [ 64 , 87 , 30 ] ) cube( [ 4 , 10 , 2 ] ); +translate( [ 64 , 87 , 16 ] ) cube( [ 4 , 10 , 2 ] ); + + + +// heatbed filament holder hole +translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 17, r = 1.6, $fn=30); +translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 2, r = 2, r2=1.6, $fn=30); +translate( [ 70 , 92 , 15 ] ) cube( [ 30 , 10 , 15] ); + + +// nut traps +translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); +translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); +translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); +translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); + +translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); +translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); +translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); +translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); +translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=30); + + +// door closing corners +translate( [ 8 , 80 , 28 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 10] ); +translate( [ 106 , 81 , 4 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 40] ); + + + +// x axis cable hole +translate( [ 89 , 2 , -1 ] ) cylinder( h = 10, r = 4, $fn=6); +translate( [ 80 , -5 , -1 ] ) cube( [ 15, 5, 10] ); + + + +// large corner coutout +translate( [ -25 , 80 , -54 ] ) rotate([50,0,45]) cube( [ 50, 50, 50] ); +translate( [ 137.5 , 60 , -10 ] ) rotate([0,0,45]) cube( [ 50, 50, 50] ); + +} + +module ext_ziptie(){ +difference(){ +translate( [ -6 , 28 , 27 ] ) rotate([0,90,0]) cylinder( h = 3, r = 15, $fn=30); +translate( [ -7 , 28 , 27 ] ) rotate([0,90,0]) cylinder( h = 5, r = 7, $fn=30); +} +} + + +module ext_cable_holder() +{ +difference() +{ + union(){ + rotate([90,0,0]) translate([-8, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 7, r2=10, $fn=6); + rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 10, r2=10, $fn=6); + rotate([90,0,0]) translate( [ 1.5 , 26 , -28 ] ) rotate([0,90,0]) cylinder( h = 10, r1 = 10, r2=7, $fn=6); + translate( [ -4.1 , 28 , 17.5 ] ) rotate([0,45,0]) cube( [ 7 , 5 , 8 ] ); + } + + translate( [ -15 , 13 , 15] ) cube( [ 15 , 15 , 25 ] ); + translate( [ 1.5 , 26 , 10] ) cube( [ 15 , 15 , 25 ] ); + + difference(){ + rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 3.5, r = 8, $fn=30); + rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5.5, r = 6.5, $fn=30); + } +} +} + + + + + + + +module rambo_cover() +{ + difference() + { + main_body(); + cutouts(); + } +} + + +difference(){ + +union(){ +rambo_cover(); + translate( [ 10 , 89 , 3] ) cube( [ 6 , 1 , 32 ] ); + translate( [ 12 , 89 , 1] ) cube( [ 4 , 1 , 2 ] ); +} + +translate( [ 25 ,89 , 20.8] ) cube( [ 7.4 , 5 , 16 ] ); //Cube018 +translate( [ 25 , 95 , 25 ] ) rotate([90,90,0]) cylinder( h = 7, r = 8.5, $fn=6); + +// extruder cable zipties +translate( [ 11 , 87 , 30 ] ) cube( [ 4 , 10 , 2 ] ); +translate( [ 11 , 87 , 16 ] ) cube( [ 4 , 10 , 2 ] ); + + + +} + +module extruder_filament_holder() +{ +difference(){ +translate( [ 33 , 90 , 25 ] ) rotate([0,90,0]) cylinder( h = 22, r = 8, $fn=4); +translate( [ 30 , 88 , 25 ] ) rotate([0,90,0]) cylinder( h = 22, r = 1.6, $fn=30); +translate( [ 32 , 88 , 25 ] ) rotate([0,90,0]) cylinder( h = 3, r1 = 2, r2=1.6, $fn=30); +translate( [ 26 ,79 , 20.8] ) cube( [ 30 , 5 , 16 ] ); +translate( [ 26 ,91 , 15] ) cube( [ 30 , 15 , 16 ] ); +} +} + +extruder_filament_holder(); + +// print part support +translate([0,1,0]) +difference(){ +translate( [ 18 ,90 , 15] ) cube( [ 7 , 1 , 19 ] ); +translate( [ 17 ,90.6 , 29.4] ) rotate([0,60,0]) cube( [ 1 , 1 , 19 ] ); +translate( [ 30 ,90.6 , 13.1] ) rotate([0,-60,0]) cube( [ 1 , 1 , 19 ] ); +translate( [ 30 ,89 , 13] ) rotate([0,-60,0]) cube( [ 10 , 3 , 10 ] ); + +translate( [ 20 ,100, 20 ] ) rotate([90,0,0]) cylinder( h = 33, r = 1, $fn=30); +translate( [ 21 ,99, 31 ] ) rotate([90,0,0]) cylinder( h = 33, r = 1, $fn=30); +} + + + +// print part support +difference() +{ +translate( [ 70 ,90.5 , 15] ) cube( [ 7.5 , 1 , 19 ] ); +translate( [ 69 ,91 , 27.8] ) rotate([0,60,0]) cube( [ 1 , 1 , 19 ] ); +translate( [ 80 ,91 , 13.9] ) rotate([0,-60,0]) cube( [ 1 , 1 , 19 ] ); +translate( [ 81.5 ,90 , 10] ) rotate([0,-60,0]) cube( [ 10 , 2 , 10 ] ); +} + + + + + + + + + + + + + + + + + + + + diff --git a/Printed-Parts/scad/RAMBo-cover-door.scad b/Printed-Parts/scad/RAMBo-cover-door.scad new file mode 100644 index 00000000..cfdcf78f --- /dev/null +++ b/Printed-Parts/scad/RAMBo-cover-door.scad @@ -0,0 +1,107 @@ +// PRUSA iteration3 +// RAMBo cover door +// GNU GPL v3 +// Josef Průša and contributors +// http://www.reprap.org/wiki/Prusa_Mendel +// http://prusamendel.org + +module body() +{ +cube( [ 105.5 , 87.5 , 1 ] ); +cube( [ 105.5 , 2 , 20 ] ); +cube( [ 2 , 87.5 , 20 ] ); + +// corner reinforcement +translate( [ 98 , 1 , 0 ] ) cube( [ 7.5 , 5 , 20 ] ); +translate( [ 0.5 , 0.5 , 0 ] ) cube( [ 5 , 6.5 , 20 ] ); +translate( [ 1 , 0 , 0 ] ) cube( [ 10 , 87.5 , 6 ] ); +translate( [ 99.5 , 0 , 0 ] ) cube( [ 6 , 87.5 , 7 ] ); +translate( [ 10 , 0 , 0 ] ) cube( [ 6 , 5 , 6 ] ); + +// screw thread body +translate( [ 54 , 2 , 0 ] ) cube( [ 9.5 , 6 , 20 ] ); + +// rounded side +translate( [ 0 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 105.5, r = 4.5, $fn=30); + +// upper hinge reinforcement +translate( [ 0.5 , 69 , -9 ] ) rotate([20,0,0]) cube( [ 26 , 20 , 10 ] ); + +// door closing +translate( [ 4 , 3.5 , 16.8 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.8, r2= 3.5, $fn=30); +translate( [ 102 , 3.5 , 16.8 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.8, r2= 3.5, $fn=30); + +} + +module ventilation_holes() + { + for ( i = [0 : 9] ){ + translate([46 + (i*5.5),10.5,-1]) cube([3,19,10]); + translate([47.5 + (i*5.5),10.5,-1]) cylinder( h = 10, r = 1.5, $fn=30);; + translate([47.5 + (i*5.5),29.5,-1]) cylinder( h = 10, r = 1.5, $fn=30);; + } +} + +module cutouts() +{ +// door closing screw +translate( [ 58.5 , 4 , 5 ] ) cylinder( h = 17, r = 1.5, $fn=30); +translate( [ 58.5 , 4 , 18.5 ] ) cylinder( h = 2, r1 = 1.5, r2=1.9, $fn=30); + +ventilation_holes(); +translate([0,50,0]) ventilation_holes(); +translate([0,25,0]) ventilation_holes(); + + +// rounded side cutoff +translate( [ 26.5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 73, r = 3.5, $fn=30); +translate([ 26.5 ,80,5]) cube([73,19,10]); +translate([ 26.5 ,82.5,1]) cube([73,5,10]); + +translate( [ 0 , 60 , -10 ] ) cube( [ 30 , 30 , 10 ] ); +translate( [ -1 , 87.5 , 0 ] ) cube( [ 22.5 , 10 , 10 ] ); + +// upper hinge +translate( [2 , 80, 6] ) cube( [ 19.5, 10 , 10 ] ); +translate( [-2 , 89.7, 3] ) rotate([70,0,0]) cube( [ 19.5, 10 , 5 ] ); +translate( [ -5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 26.5, r = 2.5, $fn=30); + +// hinge hole +translate( [ -5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 120, r = 2.6, $fn=30); + +// door closing +translate( [ 4 , 3.5 , 16.9 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30); +translate( [ 102 , 3.5 , 16.9 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30); + +// M3 NUT +translate( [55.65 , 0.5, 16] ) cube( [ 5.7, 10 , 2.2 ] ); + + +translate( [4 , 10, 4] ) cube( [ 4, 65 , 5 ] ); +translate( [101 , 10, 4] ) cube( [ 3, 70 , 5 ] ); + +} + + + +module RAMBo_cover_doors() +{ +difference() +{ + body(); + cutouts(); + translate( [0 , -20, -3] ) rotate([0,45,45]) cube( [ 30, 30 , 20 ] ); + } +} + +RAMBo_cover_doors(); + + + + + + + + + + \ No newline at end of file diff --git a/Printed-Parts/scad/RAMBo-cover-hinges.scad b/Printed-Parts/scad/RAMBo-cover-hinges.scad new file mode 100644 index 00000000..832f6d93 --- /dev/null +++ b/Printed-Parts/scad/RAMBo-cover-hinges.scad @@ -0,0 +1,41 @@ +// PRUSA iteration3 +// RAMBo cover hinges +// GNU GPL v3 +// Josef Průša and contributors +// http://www.reprap.org/wiki/Prusa_Mendel +// http://prusamendel.org + +module upper_hinge() +{ +difference() +{ + union(){ + cylinder( h = 26, r = 2.4, $fn=30); + translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30); + translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 11 , 21 ] ); + } + translate( [ -12.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.7, $fn=30); + translate( [ -2 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 9, r = 3, $fn=30); + translate([-2.9,-20,-1]) rotate([0,0,60]) cube([25,5,26]); +} +} + +module lower_hinge() +{ +difference() +{ + union(){ + translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30); + translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 2.8, $fn=30); + translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30); + translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 11 , 10 ] ); + } + translate( [ -1 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30); + translate( [ -12 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.5, $fn=30); + translate([-5,20,-1]) rotate([0,0,-60]) cube([20,5,20]); +} +} + + +upper_hinge(); +lower_hinge(); \ No newline at end of file