/* Open SCAD Name.: AnotherDryer.scad * by..: lapope47 * * Creation Date..: 1/23/2019 * * Remix of https://www.thingiverse.com/thing:2797196 * Dr Boo's Filament Dryer Spacers * by Andrew Davie (andrew@taswegian.com) * * Description....: Separator for food dehydrators. * The separator creates a space suitable for drying * filament rolls. * */ /*---------------------Section View----------------------*/ // abcdefghijk │ //; 1 |▒▒▒▒| │ //; 2 |▒▒▒▒| internal lip │ //; 3 |▒▒▒▒▒▒▒▒▒▒| │ //; 4 |▒▒▒▒▒▒▒▒▒| │ //; 5 |▒▒▒▒▒▒▒▒| slope v C //; 6 |▒▒▒▒▒▒▒| / //; 7 |▒▒▒▒▒▒▒| L //; 8 |▒▒▒▒▒▒▒| main body │ //; 9 |▒▒▒▒▒▒| │ //; 10 |▒▒▒▒▒| │ //; 11 |▒▒▒▒| slope ^ │ //; 12 |▒▒▒▒| external lip │ // abcdefghijk │ //; |▓▓▓▓| Tray below v //; |▓▓▓▓| | //; |▓▓▓▓▓▓▓▓▓▓| | //; |▓▓▓▓▓▓▓▓▓| | //; |▓▓▓▓▓▓▓▓| | //; |▓▓▓▓▓▓▓| Tray below ^ // abcdefghijk /*------------------------Parameters---------------------*/ OUTER_DIAMETER = 240; // measured @ a OUTER_INTERNAL_LIP = 234; // measured @ h TOPLIP_HEIGHT = 10; // measured @ 1-2 TOTAL_HEIGHT = 70; // as you require -- @1-12 LEEWAY = 1.5; // gap @ f -- increasing this thins spacer ICING = 0; // increase to thicken body LIP_THICK = OUTER_DIAMETER - OUTER_INTERNAL_LIP - LEEWAY; //@hijk OR abcd TOTAL_THICKNESS = OUTER_DIAMETER-(OUTER_INTERNAL_LIP)+LIP_THICK+ICING; //@abcdefghijk BODY_THICKNESS = TOTAL_THICKNESS - 2; LIP_HEIGHT = 15; LIP_GAP = 0.4; //@13 SLOPE_HEIGHT = 10; BODY_HEIGHT=TOTAL_HEIGHT - (2* (LIP_HEIGHT+LIP_GAP) ); // @6-8 INNER_DIAMETER = OUTER_DIAMETER-TOTAL_THICKNESS; $fn=128; /*----------------------------Execute---------------------------*/ // - to render a full ring (360º) → print 1 piece for spacer fullring(); // - to render a half ring (180º) → print 2 pieces for spacer // halfring(); // - to render a third ring (120º) → print 3 pieces for spacer // translate([0,70,0]) rotate([0,0,30]) thirdring(); // - to render a quarter ring (90º) → print 4 pieces for spacer // translate([0,90,0]) rotate([0,0,45]) fourthring(); // - to render a sixth ring (60º) → print 6 pieces for spacer // translate([0,100,0]) rotate([0,0,60]) sixthring(); /*----------------------------Modules---------------------------*/ module fullring(){ //create module difference() { union() {//start union } //end union // create total thickness object cylinder(d=OUTER_DIAMETER,h=TOTAL_HEIGHT); translate([0,0,-1]) { // cut out the interior cylinder(d=OUTER_DIAMETER - TOTAL_THICKNESS,h=TOTAL_HEIGHT+2); // carve out the bottom lip + gap cylinder(d=OUTER_INTERNAL_LIP+LEEWAY,h=LIP_HEIGHT+LIP_GAP+1); // carve out the mid-section body cylinder(d=OUTER_DIAMETER-BODY_THICKNESS,h=BODY_HEIGHT+1); } // carve out the upslope (@10--@8) translate([0,0,LIP_HEIGHT+LIP_GAP]) cylinder(d1=OUTER_INTERNAL_LIP+LEEWAY,d2=OUTER_DIAMETER-BODY_THICKNESS,h=SLOPE_HEIGHT); // carve out upslope2 translate([0,0,BODY_HEIGHT]) cylinder(d1=OUTER_DIAMETER-BODY_THICKNESS,d2=OUTER_DIAMETER-TOTAL_THICKNESS,h=SLOPE_HEIGHT); // create upper lip translate([0,0,TOTAL_HEIGHT-TOPLIP_HEIGHT-LIP_GAP]) difference(){ cylinder(d=OUTER_DIAMETER+1,h=TOPLIP_HEIGHT+LIP_GAP+1); translate([0,0,-1]) cylinder(d=OUTER_INTERNAL_LIP-LIP_GAP,h=TOPLIP_HEIGHT+LIP_GAP+2); } } //end difference }//end module module halfring(){ //create module difference() { union() {//start union fullring(); } //end union translate([-(OUTER_DIAMETER+10)/2,0,-1]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); } //end difference }//end module module thirdring(){ //create module difference() { union() {//start union fullring(); } //end union translate([-(OUTER_DIAMETER+10)/2,0,-1]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); translate([0,0,-1]) rotate([0,0,-60]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); } //end difference }//end module module fourthring(){ //create module difference() { union() {//start union fullring(); } //end union translate([-(OUTER_DIAMETER+10)/2,0,-1]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); translate([0,-(OUTER_DIAMETER+10)/2,-1]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+12)/2,TOTAL_HEIGHT+2]); } //end difference }//end module module sixthring(){ //create module difference() { union() {//start union fullring(); } //end union translate([-(OUTER_DIAMETER+10)/2,0,-1]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); translate([0,0,-1]) rotate([0,0,-60]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); translate([0,0,-1]) rotate([0,0,-120]) cube([OUTER_DIAMETER+10,(OUTER_DIAMETER+10)/2,TOTAL_HEIGHT+2]); } //end difference }//end module