diff --git a/openscad/foreign/sc808/io-shield.scad b/openscad/foreign/sc808/io-shield.scad index bce589b..76cb099 100644 --- a/openscad/foreign/sc808/io-shield.scad +++ b/openscad/foreign/sc808/io-shield.scad @@ -7,14 +7,16 @@ mt=2; q=0.01; //used as variable to remove manifold-glitches in preview. can be set to "0" in final version $fn=100; // shield: -shield_w=177.5; // let's hope that fits onto my delta... +shield_w=178; // let's hope that fits onto my delta... shield_h=41; shield_d=10; //around 11.5 in the original, but that is not needed shield_tab_emboss_d=1; // that lowered lip, that the central and outer tabs mounts onto, 1mm (or one sheet-thickness) lower than the rest shield_tab_emboss_l=22; // length of the above described cutouts +shield_tab_emboss_l2=shield_tab_emboss_l/2; // length of the side cutouts + shield_holes=1; // draw holes if >0 shield_hole_d1=2.75; -shield_hole_d2=shield_hole_d1+0.5; // conical holes +shield_hole_d2=shield_hole_d1+0.5; // slightly conical holes for better inserting // for separating the shield into two halves shield_center_slot=1; // draw slot if >0 shield_center_slot_w=0.5; @@ -37,27 +39,20 @@ module shield(){ difference(){ cube([shield_w,shield_h,shield_d],center=true); // basebox translate([0,0,mt/2+q])cube([shield_w-2*mt,shield_h-2*mt,shield_d-mt],center=true); // main hollowing - for(x=[-shield_w/2+shield_tab_emboss_l/2,shield_w/2-shield_tab_emboss_l/2]){ // tab-cutout - translate([x,shield_h/2-shield_tab_emboss_d/2,0])cube([shield_tab_emboss_l+q,shield_tab_emboss_d+q,shield_d+q],center=true);// supportblock for edge-cutout + for(x=[-shield_w/2+shield_tab_emboss_l/2,shield_w/2-shield_tab_emboss_l/2]){ + translate([x,shield_h/2-shield_tab_emboss_d/2,0])cube([shield_tab_emboss_l+q,shield_tab_emboss_d+q,shield_d+q],center=true);// top edge-cutout } - if (shield_holes>0) { - // some holes all around, (left, than clockwise, viewed from behind) - // shield_hole(x,y,z,rotx,roty), "z" is the distance from lip-edge to the center of the hole, x is from center - shield_hole(-shield_w/2+mt/2,-0.5,4,0,-90); //left side - #shield_hole(-shield_w/2+mt/2+4.5,shield_h/2-shield_tab_emboss_d-mt/2-q*0.5,6.25,-90,0); //top side, 1st from left (recessed) - shield_hole(-shield_w/2+mt/2+29.5,shield_h/2-mt/2,4.4,-90,0); //top side, 2nd from left - shield_hole(-shield_w/2+mt/2+148.5,shield_h/2-mt/2,4.4,-90,0); //top side, 3rd from left - shield_hole(-shield_w/2+mt/2+162,shield_h/2-shield_tab_emboss_d-mt/2-q*0.5,5.5,-90,0); //top side, 4th from left (recessed) - shield_hole(-shield_w/2+mt/2+173,shield_h/2-shield_tab_emboss_d-mt/2-q*0.5,6.25,-90,0); //top side, 5th from left (recessed) - shield_hole(shield_w/2-mt/2,-0.5,4,0,90); //right side ok - shield_hole(-shield_w/2+mt/2+173,-shield_h/2+mt/2,4.25,90,0); // bottom side, 1st one from right - shield_hole(-shield_w/2+mt/2+56.25,-shield_h/2+mt/2,4.25,90,0); //bottom side, 2nd one from right - shield_hole(-shield_w/2+mt/2+4.5,-shield_h/2+mt/2,4.25,90,0); //bottom side, 3rd one from right + for(x=[-shield_w/2+shield_tab_emboss_d/2,shield_w/2-shield_tab_emboss_d/2]){ + translate([x,shield_h/2-shield_tab_emboss_l2/2,0])cube([shield_tab_emboss_d+q,shield_tab_emboss_l2+q,shield_d+q],center=true);// side edge-cutout } + } - for(x=[-shield_w/2+shield_tab_emboss_l/2+mt/2,shield_w/2-shield_tab_emboss_l/2-mt/2]){ // tab-cutout support-structure - translate([x,shield_h/2-shield_tab_emboss_d/2-mt,0])cube([shield_tab_emboss_l+mt+q,shield_tab_emboss_d+q,shield_d+q],center=true);// supportblock for edge-cutout + for(x=[-shield_w/2+shield_tab_emboss_l/2+mt,shield_w/2-shield_tab_emboss_l/2-mt]){ + translate([x,shield_h/2-shield_tab_emboss_d/2-mt,0])cube([shield_tab_emboss_l+mt+q,shield_tab_emboss_d+q,shield_d+q],center=true);// supportblock for top edge-cutout + for(x=[-shield_w/2+shield_tab_emboss_d/2+shield_tab_emboss_d+mt/2,shield_w/2-shield_tab_emboss_d/2-shield_tab_emboss_d-mt/2]){ + translate([x,shield_h/2-shield_tab_emboss_l2/2-mt,0])cube([shield_tab_emboss_d+q,shield_tab_emboss_l2+q,shield_d+q],center=true);// supportblock for side edge-cutout } + } cube([mt*4,shield_h,shield_d],center=true); // central support-block } @@ -75,17 +70,31 @@ module shield_1(){ else shield(); } -// second iteration: add "modules" +// second iteration: add some holes module shield_2(){ difference(){ shield_1(); + if (shield_holes>0) { + // some holes all around, (left, than clockwise, viewed from behind) + // shield_hole(x,y,z,rotx,roty), "z" is the distance from lip-edge to the center of the hole, x is from center + shield_hole(-shield_w/2+mt/2,-0.5,4,0,-90); //left side + shield_hole(-shield_w/2+mt/2+4.5,shield_h/2-shield_tab_emboss_d-mt/2-q*0.5,6.25,-90,0); //top side, 1st from left (recessed) + shield_hole(-shield_w/2+mt/2+29.5,shield_h/2-mt/2,4.4,-90,0); //top side, 2nd from left + shield_hole(-shield_w/2+mt/2+148.5,shield_h/2-mt/2,4.4,-90,0); //top side, 3rd from left + shield_hole(-shield_w/2+mt/2+162,shield_h/2-shield_tab_emboss_d-mt/2-q*0.5,5.5,-90,0); //top side, 4th from left (recessed) + shield_hole(-shield_w/2+mt/2+173,shield_h/2-shield_tab_emboss_d-mt/2-q*0.5,6.25,-90,0); //top side, 5th from left (recessed) + shield_hole(shield_w/2-mt/2,-0.5,4,0,90); //right side + shield_hole(-shield_w/2+mt/2+173,-shield_h/2+mt/2,4.25,90,0); // bottom side, 1st one from right + shield_hole(-shield_w/2+mt/2+56.25,-shield_h/2+mt/2,4.25,90,0); //bottom side, 2nd one from right + shield_hole(-shield_w/2+mt/2+4.5,-shield_h/2+mt/2,4.25,90,0); //bottom side, 3rd one from right + } } } // ##################################### // DRAWING: difference(){ - shield_1(); + shield_2(); translate([0,0,6])cube([200,100,5],center=true); translate([0,0,-5.45])cube([200,100,5],center=true); } diff --git a/openscad/foreign/sc808/io-shield_dryfit-test.stl b/openscad/foreign/sc808/io-shield_dryfit-test.stl index d63c732..462d095 100644 Binary files a/openscad/foreign/sc808/io-shield_dryfit-test.stl and b/openscad/foreign/sc808/io-shield_dryfit-test.stl differ