added db9 model and mask, n2l sidewall support changed, work on n2l_gpio and h3_ultimate2 cases, updated readme.md.

This commit is contained in:
Edward Kisiel
2023-01-08 19:34:48 -05:00
parent c23033d819
commit 51f453be04
7 changed files with 1810 additions and 1716 deletions

View File

@@ -323,6 +323,13 @@ description: circlular geometry.
*uses:* data_1=scale, data_2=height, data_3=file
**keyhole**
*description:* enclosed keyhole
*uses:* data4=[head_dia, slot_width, slot_length, floor_thick]
#### Add class only “types”
@@ -438,7 +445,15 @@ description: circlular geometry.
*description:* horizontal or vertical vent openings
*uses:* size_x=open_width, size_y=open_length, size_z=thick, data_4=gap, data_1=rows, data_3=columns,
*uses:* size_x=open_width, size_y=open_length, size_z=thick, data_1=rows, data_2=columns,
data_3=orientation("vertical","horizontal"), data_4=gap
**vent_hex**(cells_x, cells_y, cell_size, cell_spacing, orientation)
*description:* horizontal or vertical hex vent openings
*uses:* size_x=cells_x, size_y=cells_y, size_z=thick, data_1=cell_size, data_2=cell_spacing,
data_3=orientation("vertical","horizontal")
@@ -593,6 +608,26 @@ data_3=orientation("vertical","horizontal")
*uses:* none
**h3_port_extender**
*description:* h3 usb port extender model
*uses:* data_3="header" or "remote"
**hk_pwr_button**
*description:* hk power button model
*uses:* none
**dsub**
*description:* d-sub connectors
*uses:* data4=[pin, type("male" or "female"), floor_thick]
#### Platter class “types”

File diff suppressed because it is too large Load Diff

View File

@@ -1114,14 +1114,22 @@ module case_bottom(case_design) {
pcb_hole_y = sbc_data[s[0]][i+1]+pcb_loc_y;
pcb_hole_size = sbc_data[s[0]][i+2];
if(pcb_hole_x!=0 && pcb_hole_y!=0) {
if(i == 7) {
if(i == 7 && sbc_model != "n2l") {
translate([pcb_hole_x-(bottom_standoff[0]/2)-2.6+adjust, pcb_hole_y-gap,0])
cube([gap+1.6,2,bottom_height-pcb_z+pcb_loc_z+bottom_rear_left]);
}
if(i == 10) {
if (i == 7 && sbc_model == "n2l") {
translate([pcb_hole_x-1, pcb_hole_y-(bottom_standoff[0]/2)-(gap+adjust)-1,0])
cube([2,gap+1.6,bottom_height-pcb_z+pcb_loc_z+bottom_rear_left]);
}
if(i == 10 && sbc_model != "n2l") {
translate([pcb_hole_x-(bottom_standoff[0]/2)-2.6+adjust, pcb_hole_y-gap,0])
cube([gap+1.6,2,bottom_height-pcb_z+pcb_loc_z+bottom_front_left]);
}
if(i == 10 && sbc_model == "n2l") {
translate([pcb_hole_x-1, pcb_hole_y+(bottom_standoff[0]/2)-.6+adjust,0])
cube([2,gap+1.6,bottom_height-pcb_z+pcb_loc_z+bottom_front_left]);
}
if (i == 13) {
translate([pcb_hole_x+(bottom_standoff[0]/2)-.5+adjust, pcb_hole_y-gap,0])
cube([gap+1.5,2,bottom_height-pcb_z+pcb_loc_z+bottom_rear_right]);
@@ -1687,14 +1695,24 @@ module case_top(case_design) {
pcb_hole_y = sbc_data[s[0]][i+1]+pcb_loc_y;
pcb_hole_size = sbc_data[s[0]][i+2];
if(pcb_hole_x!=0 && pcb_hole_y!=0) {
if (i == 7) {
if (i == 7 && sbc_model != "n2l") {
translate([pcb_hole_x-(top_standoff[0]/2)-gap-adjust-.45,pcb_hole_y-1,
bottom_height-top_rear_left]) cube([gap+adjust+1,2,top_height+top_rear_left]);
}
if (i == 10) {
if (i == 7 && sbc_model == "n2l") {
translate([pcb_hole_x-1, pcb_hole_y-(top_standoff[0]/2)-(gap-adjust)-1.4,
case_z-top_height-top_rear_left]) cube([2,gap+1.6,top_height+top_rear_left]);
}
if (i == 10 && sbc_model != "n2l") {
translate([pcb_hole_x-(top_standoff[0]/2)-gap-adjust-.45,pcb_hole_y-1,
bottom_height-top_front_left]) cube([gap+adjust+1,2,top_height+top_front_left]);
}
if (i == 10 && sbc_model == "n2l") {
translate([pcb_hole_x-1, pcb_hole_y+(top_standoff[0]/2)-.6+adjust,case_z-top_height-top_front_left])
cube([2,gap+1.6,top_height+top_front_left]);
}
if (i == 13) {
translate([pcb_hole_x+(top_standoff[0]/2)-adjust-.45,pcb_hole_y-1,
bottom_height-top_rear_right]) cube([gap+adjust+1,2,top_height+top_rear_right]);

View File

@@ -467,7 +467,7 @@ accessory_data = [
["n2l_gpio",
"sub","vent",22,-1.99,16,"top",[0,0,0],["sbc-case_z",true,true,true],2,9,8,1,10,"vertical",1, // vent opening
"sub","fan",20,8,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",9,49,9.9,"top",[0,0,0],["sbc",true,true,true],54,18,20,0,0,"vertical",[1,1,1,1]], // gpio opening
"sub","rectangle",8.75,49,9.9,"top",[0,0,0],["sbc",true,true,true],55.5,18,20,0,0,"vertical",[1,1,1,1]], // gpio opening
// Odroid-N2+
// internal fan
@@ -899,17 +899,27 @@ accessory_data = [
"model","hd25",98,110,2,"bottom",[90,0,-90],["case",true,true,false],0,0,0,7,0,"",0], // model 2.5 hd
["h3_ultimate2",
"sub","vent_hex",111.5,10,2+12*sqrt(8/3),"top",[0,0,90],["case",true,false,false],17,4,4,9,3,"vertical",0, // vent opening
"sub","vent_hex",111.5,10,2,"bottom",[0,0,90],["case",true,false,false],17,1,4,9,3,"vertical",0, // vent opening
"sub","vent_hex",112,10,2+12*sqrt(8/3),"top",[0,0,90],["case",true,false,false],17,4,4,9,3,"vertical",0, // vent opening
"sub","vent_hex",112,10,2,"bottom",[0,0,90],["case",true,false,false],17,1,4,9,3,"vertical",0, // vent opening
"suball","fan",0,25,3,"top",[0,270,0],["case",false,false,false],60,0,6,1,0,"",0, // sub fan opening
"model","fan_cover",-4,25,3,"top",[0,270,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover
"platter","fan_cover",-50,50,0,"top",[0,0,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover
"add2","standoff",78,127,8.65,"top",[-90,0,0],["case",false,false,true],0,0,0,0,0,0,[5.75,10,3.2,10,0.01,0,0,1,0,0,0], // standoff
"add2","standoff",78,127,36.2,"top",[-90,0,0],["case",false,false,true],0,0,0,0,0,0,[5.75,10,3.2,6.5,0.01,0,0,1,0,0,0], // standoff
"platter","fan_cover",-100,150,0,"top",[0,0,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover
"sub","round",3.81,17.78,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
"sub","round",3.81,106.19,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
"sub","round",106.04,24.77,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
"sub","round",106.04,106.2,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
"sub","rectangle",-4,100.5,3,"top",[0,0,0],["sbc-case_z",true,true,true],14,4,20,0,0,"",[1,1,1,1], // sub rectangle
"sub","rectangle",100.5,17,30,"top",[0,0,0],["sbc-case_z",true,true,true],9,4,10,0,0,"",[1,1,1,1], // sub rectangle
"model","standoff",78,127,8.65,"top",[-90,0,0],["case",false,false,true],0,0,0,0,0,0,[5.75,10,3.2,10,0.01,0,0,1,0,0,0], // standoff
"model","standoff",78,127,36.2,"top",[-90,0,0],["case",false,false,true],0,0,0,0,0,0,[5.75,10,3.2,6.5,0.01,0,0,1,0,0,0], // standoff
"platter","standoff",-100,145,0,"top",[0,0,0],["case",false,false,true],0,0,0,0,0,0,[5.75,10,3.4,6.5,0.001,0,0,1,0,0,0], // standoff
"platter","standoff",-75,145,0,"top",[0,0,0],["case",false,false,true],0,0,0,0,0,0,[5.75,10,3.4,6.5,0.001,0,0,1,0,0,0], // standoff
"model","h3_port_extender",31,117,4,"top",[0,0,-90],["case",true,false,true],0,0,0,0,0,"remote",0, // port extender model
"sub","h3_port_extender",31,117,4,"top",[0,0,-90],["case",true,false,true],0,0,0,0,0,"remote",0, // port extender model
"model","hk_pwr_button",11,114,53,"top",[0,0,180],["case",false,false,true],0,0,0,0,0,0,0, // hk pwr button model
"sub","hk_pwr_button",11,114,53,"top",[0,0,0],["case",false,false,true],0,0,0,0,0,0,0, // hk pwr button model
"model","dsub",12,-1,48,"top",[0,90,0],["case",false,false,false],0,0,0,0,0,0,[9,"male",4], // db9 model
"sub","dsub",12,-1,48,"top",[0,90,0],["case",false,false,false],0,0,0,0,0,0,[9,"male",4], // db9 model
"add1","access_port",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,true], 81,100,2,0,0,"portrait",0, // access port
"model","access_cover",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,false],81,100,2,0,0,"portrait",0, // access port cover
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],81,100,2,0,0,"portrait",0], // access port cover

View File

@@ -50,7 +50,7 @@
added mask for microsdcard2
20221207 version 2.0.3 added double_stacked_usb3-usb2, hd35_vtab(side) and supporting code
2023xxxx version 2.0.x added h3_port_extender(style, mask = false), hk_pwr_button(mask = false), keyhole(keysize, mask = false),
vent_hex(cells_x, cells_y, cell_size, cell_spacing, orientation) and supporting code
vent_hex(cells_x, cells_y, cell_size, cell_spacing, orientation) and supporting code, dsub(dsubsize, mask = false)
see https://github.com/hominoids/SBC_Case_Builder
@@ -124,6 +124,7 @@
hk_pwr_button(mask = false)
keyhole(keysize, mask = false)
vent_hex(cells_x, cells_y, cell_size, cell_spacing, orientation)
dsub(dsubsize, mask = false)
*/
use <./lib/fillets.scad>;
@@ -284,6 +285,9 @@ module add(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data
if(type == "keyhole") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) keyhole(data_4);
}
if(type == "dsub") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) dsub(data_4);
}
}
@@ -347,6 +351,9 @@ module sub(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data
if(type == "hk_pwr_button") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_pwr_button(true);
}
if(type == "dsub") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) dsub(data_4, true);
}
}
@@ -3543,13 +3550,13 @@ module vent_hex(cells_x, cells_y, thickness, cell_size, cell_spacing, orientatio
for (ix = [0 : ceil(cells_x/2)-1]) {
for (iy = [0 : 2 : cells_y-1]) {
translate([ix*xs, iy*ys,0]) rotate([0,0,90])
cylinder(r=cell_size/sqrt(3), h=thickness, $fn=6);
cylinder(r=cell_size/sqrt(3), h=thickness, $fn=6);
}
}
for (ix = [0 : (cells_x/2)-1]) {
for (iy = [1 : 2 : cells_y-1]) {
translate([(ix+0.5)*xs, iy*ys,0]) rotate([0,0,90])
cylinder(r=cell_size/sqrt(3), h=thickness, $fn=6);
cylinder(r=cell_size/sqrt(3), h=thickness, $fn=6);
}
}
}
@@ -3693,3 +3700,27 @@ module keyhole(keysize, mask = false) {
}
}
}
// d-sub connector
module dsub(dsubsize, mask = false) {
adjust=.01;
$fn = 90;
if(mask == true) {
union() {
translate([-1, 1, -.75]) rotate([90,0,0]) slab_r([19,10.5,10], [4,4,4,4]);
translate([-4, 1, 4.5]) rotate([90,0,0]) cylinder(h=10, d=3);
translate([21, 1, 4.5]) rotate([90,0,0]) cylinder(h=10, d=3);
}
}
else {
if(dsubsize[0] == 9 && dsubsize[1] == "female") {
translate([8.5,0.4,4.5]) rotate([90,0,0]) import("./stl/db9_f.stl");
}
if(dsubsize[0] == 9 && dsubsize[1] == "male") {
translate([8.5,0.4,4.5]) rotate([90,0,0]) import("./stl/db9_m.stl");
}
}
}

BIN
stl/db9_f.stl Normal file

Binary file not shown.

BIN
stl/db9_m.stl Normal file

Binary file not shown.