added Variant with Ports
This commit is contained in:
parent
eb67f83ff7
commit
beb92d38e0
BIN
openscad/foreign/sc808/io-shield-blank.png
Normal file
BIN
openscad/foreign/sc808/io-shield-blank.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 44 KiB |
BIN
openscad/foreign/sc808/io-shield-blank.stl
Normal file
BIN
openscad/foreign/sc808/io-shield-blank.stl
Normal file
Binary file not shown.
BIN
openscad/foreign/sc808/io-shield-ports.png
Normal file
BIN
openscad/foreign/sc808/io-shield-ports.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 81 KiB |
BIN
openscad/foreign/sc808/io-shield-ports.stl
Normal file
BIN
openscad/foreign/sc808/io-shield-ports.stl
Normal file
Binary file not shown.
@ -14,7 +14,7 @@ shield_tab_emboss_d=1; // that lowered lip, that the central and outer tabs moun
|
||||
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_holes=1; // draw holes if >0. the perimeter-holes are manually placed, and should be disabled, if many vars get altered! (and then drilled manually)
|
||||
shield_hole_d1=2.75;
|
||||
shield_hole_d2=shield_hole_d1+0.5; // slightly conical holes for better inserting
|
||||
// for separating the shield into two halves
|
||||
@ -28,10 +28,84 @@ m_grill_h=shield_h*0.75-m_grill_w-2*mt;
|
||||
m_grill_skew=25;
|
||||
m_grill_offset=5;
|
||||
m_grill_spacing=m_grill_w;
|
||||
|
||||
//port ethernet:
|
||||
p_eth_hole_dist=27.5;
|
||||
p_eth_hole_dia=4.5;
|
||||
p_eth_slack=0.5;
|
||||
p_eth_base_x=22+p_eth_slack;
|
||||
p_eth_base_y=21.75+p_eth_slack;
|
||||
p_eth_cut_x=16+p_eth_slack;
|
||||
p_eth_cut_y=13.15+p_eth_slack;
|
||||
p_eth_cut_z=mt;
|
||||
p_eth_cut_x_offset=0;
|
||||
p_eth_cut_y_offset=1.5;
|
||||
//port usb:
|
||||
p_usb_hole_dist=30;
|
||||
p_usb_hole_dia=4.5;
|
||||
p_usb_slack=0.5;
|
||||
p_usb_base_x=23+p_eth_slack;
|
||||
p_usb_base_y=16.5+p_eth_slack;
|
||||
p_usb_cut_x=16+p_eth_slack;
|
||||
p_usb_cut_y=15+p_eth_slack;
|
||||
p_usb_cut_z=mt;
|
||||
p_usb_cut_x_offset=0;
|
||||
p_usb_cut_y_offset=0;
|
||||
//port vga:
|
||||
p_vga_hole_dist=25;
|
||||
p_vga_hole_dia=4.5;
|
||||
p_vga_slack=0.5;
|
||||
p_vga_base_x=34+p_eth_slack;
|
||||
p_vga_base_y=15.25+p_eth_slack;
|
||||
p_vga_cut_x=15.75+p_eth_slack;
|
||||
p_vga_cut_y=8+p_eth_slack;
|
||||
p_vga_cut_z=mt;
|
||||
p_vga_cut_x_offset=0;
|
||||
p_vga_cut_y_offset=0;
|
||||
//port slot:
|
||||
p_slot_hole_dist=30;
|
||||
p_slot_hole_dia=mt*3;
|
||||
// #####################################
|
||||
// MODEL:
|
||||
// mounting holes around the shield perimeter
|
||||
module port_ethernet(){
|
||||
cube([p_eth_base_x,p_eth_base_y,mt],center=true);
|
||||
translate([p_eth_cut_x_offset,p_eth_cut_y_offset,p_eth_cut_z+mt/2])cube([p_eth_cut_x,p_eth_cut_y,p_eth_cut_z+mt],center=true);
|
||||
hull(){
|
||||
translate([-p_eth_hole_dist/2,0,0])cylinder(d=p_eth_hole_dia+mt,h=mt,center=true);
|
||||
translate([p_eth_hole_dist/2,0,0])cylinder(d=p_eth_hole_dia+mt,h=mt,center=true);
|
||||
}
|
||||
translate([-p_eth_hole_dist/2,0,mt*1.5])cylinder(d=p_eth_hole_dia,h=mt*2,center=true);
|
||||
translate([p_eth_hole_dist/2,0,mt*1.5])cylinder(d=p_eth_hole_dia,h=mt*2,center=true);
|
||||
}
|
||||
|
||||
module port_usb(){
|
||||
cube([p_usb_base_x,p_usb_base_y,mt],center=true);
|
||||
translate([p_usb_cut_x_offset,p_usb_cut_y_offset,p_usb_cut_z+mt/2])cube([p_usb_cut_x,p_usb_cut_y,p_usb_cut_z+mt],center=true);
|
||||
hull(){
|
||||
translate([-p_usb_hole_dist/2,0,0])cylinder(d=p_usb_hole_dia+mt,h=mt,center=true);
|
||||
translate([p_usb_hole_dist/2,0,0])cylinder(d=p_usb_hole_dia+mt,h=mt,center=true);
|
||||
}
|
||||
translate([-p_usb_hole_dist/2,0,mt*1.5])cylinder(d=p_usb_hole_dia,h=mt*2,center=true);
|
||||
translate([p_usb_hole_dist/2,0,mt*1.5])cylinder(d=p_usb_hole_dia,h=mt*2,center=true);
|
||||
}
|
||||
|
||||
module port_vga(){
|
||||
cube([p_vga_base_x,p_vga_base_y,mt],center=true);
|
||||
translate([p_vga_cut_x_offset,p_vga_cut_y_offset,p_vga_cut_z+mt/2])cube([p_vga_cut_x,p_vga_cut_y,p_vga_cut_z+mt],center=true);
|
||||
hull(){
|
||||
translate([-p_vga_hole_dist/2,0,0])cylinder(d=p_vga_hole_dia+mt,h=mt,center=true);
|
||||
translate([p_vga_hole_dist/2,0,0])cylinder(d=p_vga_hole_dia+mt,h=mt,center=true);
|
||||
}
|
||||
translate([-p_vga_hole_dist/2,0,mt*1.5])cylinder(d=p_vga_hole_dia,h=mt*2,center=true);
|
||||
translate([p_vga_hole_dist/2,0,mt*1.5])cylinder(d=p_vga_hole_dia,h=mt*2,center=true);
|
||||
}
|
||||
|
||||
module port_slot(){
|
||||
hull(){
|
||||
translate([-p_slot_hole_dist/2,0,mt])cylinder(d=p_slot_hole_dia,h=mt*2,center=true);
|
||||
translate([p_slot_hole_dist/2,0,mt])cylinder(d=p_slot_hole_dia,h=mt*2,center=true);
|
||||
}
|
||||
}
|
||||
module shield_hole(x,y,z,rotx,roty){
|
||||
translate([x,y,shield_d/2-z])rotate([rotx,roty,0])cylinder(d1=shield_hole_d1,d2=shield_hole_d2,h=mt+q,center=true);
|
||||
}
|
||||
@ -76,7 +150,7 @@ module shield_2(){
|
||||
difference(){
|
||||
shield_1();
|
||||
if (shield_holes>0) {
|
||||
// some holes all around, (left, than clockwise, viewed from behind)
|
||||
// some holes all around, (left, than clockwise, viewed from behind). THESE ARE MANUALLY PLACED!
|
||||
// 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)
|
||||
@ -111,27 +185,32 @@ module shield_grill(){
|
||||
}
|
||||
}
|
||||
}
|
||||
// final iteration: with ports (manual placement)
|
||||
module shield_ports(){
|
||||
difference(){
|
||||
shield_2();
|
||||
translate([-75,-1,-3*mt-q])rotate([0,0,-90])#port_ethernet();
|
||||
translate([-37.5,-1,-3*mt-q])rotate([0,0,-90])#port_ethernet();
|
||||
translate([22.5,-1,-3*mt-q])rotate([0,0,-90])#port_ethernet();
|
||||
translate([50,0,-3*mt-q])rotate([0,0,-90])#port_usb();
|
||||
//flipped and embossed so that only 1mm of the plate thickness is left, due to the way, d-sub is mounted, and no support is needed for printing
|
||||
translate([75,-1,-mt-(mt-1)])rotate([180,0,-90])port_vga();
|
||||
// slots
|
||||
for (x=[-60,-52.5,-22.5,-15,-7.5,7.5,37.5,62.5]){
|
||||
translate([x,0,-3*mt-q])rotate([0,0,90])#port_slot();
|
||||
}
|
||||
}
|
||||
}
|
||||
// #####################################
|
||||
// DRAWING:
|
||||
|
||||
//difference(){
|
||||
shield_grill();
|
||||
// translate([0,0,6])cube([200,100,5],center=true);
|
||||
// translate([0,0,-5.45])cube([200,100,5],center=true);
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// todo:
|
||||
// shield holes durchgängig
|
||||
// seitlicher tab hinzufügen, loch beachten!
|
||||
|
||||
|
||||
// shield_2();
|
||||
|
||||
//port_ethernet();
|
||||
shield_ports();
|
||||
|
||||
|
||||
// todo: add text
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user