finished mask(), changed tray top design, added sides style for tray design, added odroid-m1 and show2 cases, improved docs, updated sbc_model with fixed m1 heatsink and other m1 adjustments.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.3 MiB |
File diff suppressed because it is too large
Load Diff
@@ -49,6 +49,7 @@
|
|||||||
20220413 Version 1.0.6 adjusted slide_4x9, adjust m.2_header, rj45-usb2_double, rj45-usb3_double, out-in-spdif,
|
20220413 Version 1.0.6 adjusted slide_4x9, adjust m.2_header, rj45-usb2_double, rj45-usb3_double, out-in-spdif,
|
||||||
momentary_6x6x4, fixed color for usb2 micro otg, adjust all header heights,
|
momentary_6x6x4, fixed color for usb2 micro otg, adjust all header heights,
|
||||||
added mipi_csi, mipi_dsi, m.2_stud
|
added mipi_csi, mipi_dsi, m.2_stud
|
||||||
|
20220515 Version 1.0.7 added pcie(), jst_ph(), cm(), cm_holder(), corrected odroid-m1 heatsink height and sbc location, and other fixes and adjustments
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
|
|
||||||
@@ -1340,7 +1341,7 @@ module misc(x,y,rotation,side,type,pcbsize_z) {
|
|||||||
}
|
}
|
||||||
color("black") translate([54.5,4,-.01]) cube([2,30,4]);
|
color("black") translate([54.5,4,-.01]) cube([2,30,4]);
|
||||||
}
|
}
|
||||||
color("grey") translate([4.25,.9,3.35]) cube([45,34,.25]);
|
color("dimgrey") translate([4.25,.9,3.35]) cube([45,34,.25]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// type battery holder 1
|
// type battery holder 1
|
||||||
|
|||||||
@@ -22,12 +22,13 @@
|
|||||||
Updated Odroid h2 sbc data
|
Updated Odroid h2 sbc data
|
||||||
Added Odroid-C4 as "c4"
|
Added Odroid-C4 as "c4"
|
||||||
Added Odroid-XU4Q as "xu4q"
|
Added Odroid-XU4Q as "xu4q"
|
||||||
20200725 Version 1.03 Added Odroid-N2+ as "n2+"
|
20200725 Version 1.0.3 Added Odroid-N2+ as "n2+"
|
||||||
20201021 Version 1.04 Added Odroid-HC4 as "hc4"
|
20201021 Version 1.0.4 Added Odroid-HC4 as "hc4"
|
||||||
20220202 Version 1.05 Added HK Show2
|
20220202 Version 1.0.5 Added HK Show2
|
||||||
Updated Odroid-HC4 sbc data
|
Updated Odroid-HC4 sbc data
|
||||||
raised C4 hdmi, updated Odroid-XU4Q, add type sdcard_i, adjusted C2 usb
|
raised C4 hdmi, updated Odroid-XU4Q, add type sdcard_i, adjusted C2 usb
|
||||||
20220413 Version 1.06 Added Odroid-M1 as m1, adjustments h2, c4 gpio
|
20220413 Version 1.0.6 Added Odroid-M1 as m1, adjustments h2, c4 gpio
|
||||||
|
20220515 Version 1.0.7 Added rockpro64, jetsonnano and other fixes and adjustments
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
|
|
||||||
@@ -432,10 +433,10 @@ sbc_data = [
|
|||||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||||
2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type
|
2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type
|
||||||
18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
17,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||||
36,0,0,"top","usb2","double_stacked_a", // usb3 location, rotation, side, class and type
|
35,0,0,"top","usb2","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||||
54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||||
71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
71.25,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||||
84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||||
.2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
.2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||||
21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type
|
21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type
|
||||||
@@ -460,7 +461,7 @@ sbc_data = [
|
|||||||
.5,0,0,"top","heatsink","m1_oem", // heatsink location, rotation, side, class and type
|
.5,0,0,"top","heatsink","m1_oem", // heatsink location, rotation, side, class and type
|
||||||
86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type
|
86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type
|
||||||
|
|
||||||
["m1_noheatsink",90,122,1.7,.2,17,14, // sbc model, pcb size and component height
|
["m1_noheatsink",90,122,1.7,.2,17,1.6, // sbc model, pcb size and component height
|
||||||
3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size
|
3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size
|
||||||
86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size
|
86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size
|
||||||
3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size
|
3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size
|
||||||
@@ -712,5 +713,9 @@ sbc_data = [
|
|||||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||||
|
100, -1, 0, "top", "misc", "ir_1", // ir_1
|
||||||
|
-1, 67, 90, "top", "misc", "ir_1", // ir_1
|
||||||
|
60, 61, 180, "top", "misc", "ir_1", // ir_1
|
||||||
|
108.5, 67, 270, "top", "misc", "ir_1", // ir_1
|
||||||
0,0,0,"","",""] // component, location, rotation, side, class and type
|
0,0,0,"","",""] // component, location, rotation, side, class and type
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
20201021 Version 1.0.4 Added HK Odroid-HC4 as "hc4"
|
20201021 Version 1.0.4 Added HK Odroid-HC4 as "hc4"
|
||||||
20220202 Version 1.0.5 Added HK Show2 as "show2"
|
20220202 Version 1.0.5 Added HK Show2 as "show2"
|
||||||
20220413 Version 1.0.6 Added Odroid-M1 as "m1"
|
20220413 Version 1.0.6 Added Odroid-M1 as "m1"
|
||||||
|
20220515 Version 1.0.7 Added rockpro64, jetsonnano, updated sbc_test.scad, sbc_test_components.scad and other fixes and adjustments
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,9 @@
|
|||||||
c2_shell_boombox, c2_panel_boombox, c2_deskboom_lcd3.5, c2_tray_boombox,
|
c2_shell_boombox, c2_panel_boombox, c2_deskboom_lcd3.5, c2_tray_boombox,
|
||||||
c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boombox
|
c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boombox
|
||||||
20220406 Version 1.2.2 various case adjustments
|
20220406 Version 1.2.2 various case adjustments
|
||||||
|
20220515 Version 1.2.3 added m1_panel,m1_tray,m1_tray_drive,m1_tray_sides,m1_tray_vu5,m1_tray_vu7,show2_shell
|
||||||
|
jetsonnano_shell,jetsonnano_panel,jetsonnano_stacked,jetsonnano_tray
|
||||||
|
rockpro64_shell,rockpro64_panel,rockpro64_stacked,rockpro64_tray
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
*/
|
*/
|
||||||
@@ -34,7 +37,7 @@
|
|||||||
corner of component or opening, holes measured to center. All measurements in mm.
|
corner of component or opening, holes measured to center. All measurements in mm.
|
||||||
PCB orientation is long side of board along the x axis.
|
PCB orientation is long side of board along the x axis.
|
||||||
|
|
||||||
SBC: "c1+","c2","c4","xu4","xu4q","mc1","hc1","n1","n2","n2+","h2",hc4,rockpro64,jetsonnano
|
SBC: "c1+","c2","c4","xu4","xu4q","mc1","hc1","n1","n2","n2+",m1,"h2",hc4,rockpro64,jetsonnano
|
||||||
|
|
||||||
schema:
|
schema:
|
||||||
"case_name","sbc_model","case_design","case_style",
|
"case_name","sbc_model","case_design","case_style",
|
||||||
@@ -230,6 +233,16 @@ case_data = [
|
|||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["c1+_tray_sides","c1+","tray","sides", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
["c1+_tray_boombox","c1+","tray","none", // case_name,sbc_model,case_design,case_style
|
["c1+_tray_boombox","c1+","tray","none", // case_name,sbc_model,case_design,case_style
|
||||||
40,0,0,40,15,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
40,0,0,40,15,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
@@ -446,6 +459,16 @@ case_data = [
|
|||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["c2_tray_sides","c2","tray","sides", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
["c2_tray_boombox","c2","tray","none", // case_name,sbc_model,case_design,case_style
|
["c2_tray_boombox","c2","tray","none", // case_name,sbc_model,case_design,case_style
|
||||||
40,0,0,40,15,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
40,0,0,40,15,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
@@ -665,6 +688,16 @@ case_data = [
|
|||||||
["c4_tray","c4","tray","none", // case_name,sbc_model,case_design,case_style
|
["c4_tray","c4","tray","none", // case_name,sbc_model,case_design,case_style
|
||||||
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
true,true,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"punchout","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["c4_tray_sides","c4","tray","sides", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
@@ -757,7 +790,17 @@ case_data = [
|
|||||||
["xu4_tray","xu4","tray","none", // case_name,sbc_model,case_design,case_style
|
["xu4_tray","xu4","tray","none", // case_name,sbc_model,case_design,case_style
|
||||||
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
false,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
false,true,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["xu4_tray_sides","xu4","tray","sides", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,true,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
@@ -826,6 +869,16 @@ case_data = [
|
|||||||
[6.75,27,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,27,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["xu4q_tray_sides","xu4q","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,27,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,27,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
["xu4q_tray_vu5","xu4q","tray","vu5", // case_name, sbc_model, case_design, case_style
|
["xu4q_tray_vu5","xu4q","tray","vu5", // case_name, sbc_model, case_design, case_style
|
||||||
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
@@ -852,7 +905,7 @@ case_data = [
|
|||||||
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,true,true,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,true,true,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","none","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
@@ -872,7 +925,7 @@ case_data = [
|
|||||||
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
false,false,true,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
false,false,true,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
@@ -882,7 +935,17 @@ case_data = [
|
|||||||
0,0,0,0,10,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,10,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","none","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["n1_tray_sides","n1","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,10,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
@@ -892,7 +955,7 @@ case_data = [
|
|||||||
0,0,0,0,10,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,10,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","none","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
@@ -902,7 +965,7 @@ case_data = [
|
|||||||
15,0,0,30,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
15,0,0,30,0,0,4, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","none","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
@@ -920,7 +983,17 @@ case_data = [
|
|||||||
|
|
||||||
["n2_tray","n2","tray","none", // case_name, sbc_model, case_design, case_style
|
["n2_tray","n2","tray","none", // case_name, sbc_model, case_design, case_style
|
||||||
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,2,[.2,3], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,2,[.2,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["n2_tray_sides","n2","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,2,[.2,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
@@ -961,7 +1034,17 @@ case_data = [
|
|||||||
|
|
||||||
["n2+_tray","n2+","tray","none", // case_name, sbc_model, case_design, case_style
|
["n2+_tray","n2+","tray","none", // case_name, sbc_model, case_design, case_style
|
||||||
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,2,[.2,3], // wallthick,floorthick,sidethick,gap,fillet
|
2.5,2,2,2,[.2,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["n2+_tray_sides","n2+","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2.5,2,2,2,[.2,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
@@ -1003,6 +1086,92 @@ case_data = [
|
|||||||
"sub","vent",25,50,44,"top",[0,0,0],10,2,4,6,6,"horizontal",1,], // sub vent
|
"sub","vent",25,50,44,"top",[0,0,0],10,2,4,6,6,"horizontal",1,], // sub vent
|
||||||
|
|
||||||
|
|
||||||
|
// Odroid-M1
|
||||||
|
["m1_panel","m1","panel","none", // case_name, sbc_model, case_design, case_style
|
||||||
|
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,2,[.2,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","none","false", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
|
||||||
|
"sub","vent",100,32,10,"right",[0,0,90],2,15,8,1,17,"vertical",1, // vent opening
|
||||||
|
"sub","vent",-5.5,32,10,"left",[0,0,90],2,15,8,1,17,"vertical",1], // vent opening
|
||||||
|
|
||||||
|
["m1_tray","m1","tray","none", // case_name, sbc_model, case_design, case_style
|
||||||
|
7,0,0,14,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2.5,2,2,2,[.2,2], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"add2","button",60,118.5,35,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
|
||||||
|
"model","button_top",60,118.5,35,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
|
||||||
|
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
|
||||||
|
"sub","vent",29,32,34,"top",[0,0,0],2,15,8,2,12,"horizontal",1, // top vent opening
|
||||||
|
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // bottom vent opening
|
||||||
|
"sub","vent",108.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
|
||||||
|
"sub","vent",-6.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
|
||||||
|
|
||||||
|
["m1_tray_drive","m1","tray","none", // case_name, sbc_model, case_design, case_style
|
||||||
|
7,0,0,14,0,8,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2.5,2,2,2,[.2,2], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","hd_holes",17,22,41,"top",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||||
|
"model","hd25",17,122,33.5,"top",[0,0,-90],0,0,0,7.5,0,"",0, // model 2.5 hd
|
||||||
|
"sub","vent",29,32,41,"top",[0,0,0],2,15,8,2,12,"horizontal",1, // top vent opening
|
||||||
|
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
|
||||||
|
"sub","vent",108.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
|
||||||
|
"sub","vent",-6.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
|
||||||
|
|
||||||
|
["m1_tray_sides","m1","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
5,0,0,10,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,2,[.2,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
|
||||||
|
"sub","vent",104,32,10,"right",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
|
||||||
|
"sub","vent",-5.5,32,10,"left",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
|
||||||
|
|
||||||
|
["m1_tray_vu5","m1","tray","vu5", // case_name, sbc_model, case_design, case_style
|
||||||
|
7,0,0,14,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,3,2,[.2,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
|
||||||
|
"sub","vent",104,32,10,"right",[0,0,90],2,15,8,1,17,"vertical",1, // vent opening
|
||||||
|
"sub","vent",-7,32,10,"left",[0,0,90],2,15,8,1,17,"vertical",1], // vent opening
|
||||||
|
|
||||||
|
["m1_tray_vu7","m1","tray","vu7", // case_name, sbc_model, case_design, case_style
|
||||||
|
15,0,0,30,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,3,2,[.2,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","vent",36,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
|
||||||
|
"sub","vent",123,32,10,"right",[0,0,90],2,15,6,1,17,"vertical",1, // vent opening
|
||||||
|
"sub","vent",-7,32,10,"left",[0,0,90],2,15,6,1,17,"vertical",1], // vent opening
|
||||||
|
|
||||||
|
|
||||||
// Odroid-H2
|
// Odroid-H2
|
||||||
["h2_shell","h2","shell","none", // case_name, sbc_model, case_design, case_style
|
["h2_shell","h2","shell","none", // case_name, sbc_model, case_design, case_style
|
||||||
@@ -1035,6 +1204,16 @@ case_data = [
|
|||||||
|
|
||||||
["h2_tray","h2","tray","none", // case_name, sbc_model, case_design, case_style
|
["h2_tray","h2","tray","none", // case_name, sbc_model, case_design, case_style
|
||||||
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2.5,2,2,1.5,[3.5,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
true,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,38,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,11,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,38,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,11,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["h2_tray_sides","h2","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,false,false,false,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
@@ -1258,6 +1437,16 @@ case_data = [
|
|||||||
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["hc4_tray_sides","hc4","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,10,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[9,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
true,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
["hc4_tray_vu5","hc4","tray","vu5", // case_name, sbc_model, case_design, case_style
|
["hc4_tray_vu5","hc4","tray","vu5", // case_name, sbc_model, case_design, case_style
|
||||||
0,0,0,0,10,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,10,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[9,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[9,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
@@ -1423,6 +1612,17 @@ case_data = [
|
|||||||
[6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff
|
[6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
"sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening
|
"sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening
|
||||||
|
|
||||||
|
["jetsonnano_tray_sides","jetsonnano","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,0,-5,3, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[3,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening
|
||||||
|
|
||||||
["rockpro64_shell","rockpro64","shell","none", // case_name, sbc_model, case_design, case_style
|
["rockpro64_shell","rockpro64","shell","none", // case_name, sbc_model, case_design, case_style
|
||||||
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
@@ -1461,6 +1661,18 @@ case_data = [
|
|||||||
|
|
||||||
["rockpro64_tray","rockpro64","tray","none", // case_name, sbc_model, case_design, case_style
|
["rockpro64_tray","rockpro64","tray","none", // case_name, sbc_model, case_design, case_style
|
||||||
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2.5,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,true,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
|
||||||
|
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening
|
||||||
|
|
||||||
|
["rockpro64_tray_sides","rockpro64","tray","sides", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
false,true,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
false,true,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
@@ -1471,6 +1683,22 @@ case_data = [
|
|||||||
"sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
|
"sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
|
||||||
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening
|
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening
|
||||||
|
|
||||||
|
["show2_shell","show2","shell","none", // case_name, sbc_model, case_design, case_style
|
||||||
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,true,true,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"model","hk_wb2",6.25,24.675,16,"top",[0,0,180],0,0,0,0,0,"",0, // hk weatherboard2
|
||||||
|
"suball","round",48.75,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole
|
||||||
|
"suball","round",57.25,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole
|
||||||
|
"suball","round",65.75,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole
|
||||||
|
"sub","rectangle",.5,8,8.5,"top",[0,0,0],6,16.5,8,0,0,"",[.5,.5,.5,.5], // sub gpio opening
|
||||||
|
"add1","rectangle",22.5,9,8.85,"top",[0,0,0],47,36,3.25,0,0,"",[.5,.5,.5,.5], // add screen trim
|
||||||
|
"sub","rectangle",23.5,10,8.5,"top",[0,0,0],45,34,8,0,0,"",[.5,.5,.5,.5]], // sub screen opening
|
||||||
|
|
||||||
["test","test","shell","none", // case_name, sbc_model, case_design, case_style
|
["test","test","shell","none", // case_name, sbc_model, case_design, case_style
|
||||||
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
20220320 Version 1.2.1 added hk_boom bonnet model and accessories, hk_uart model, fixed uart opening,
|
20220320 Version 1.2.1 added hk_boom bonnet model and accessories, hk_uart model, fixed uart opening,
|
||||||
enabled pcb_z, added tabs and fixed tray case top, other fixes and maintenance
|
enabled pcb_z, added tabs and fixed tray case top, other fixes and maintenance
|
||||||
20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions, fixes and maintenance
|
20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions, fixes and maintenance
|
||||||
|
20220515 Version 1.2.3 added odroid-m1, jetson nano, rockpro64, completed mask(), improved docs
|
||||||
|
changed tray top design
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
*/
|
*/
|
||||||
@@ -41,7 +43,7 @@ use <./lib/fillets.scad>;
|
|||||||
include <./lib/sbc_models.cfg>;
|
include <./lib/sbc_models.cfg>;
|
||||||
include <./sbc_case_builder.cfg>;
|
include <./sbc_case_builder.cfg>;
|
||||||
|
|
||||||
case_name = "rockpro64_shell"; // case_name to load from sbc_case_builder.cfg
|
case_name = "m1_tray"; // case_name to load from sbc_case_builder.cfg
|
||||||
view = "model"; // viewing mode "platter", "model", "debug"
|
view = "model"; // viewing mode "platter", "model", "debug"
|
||||||
|
|
||||||
highlight = false; // enable highlight for subtarctive geometry (true or false)
|
highlight = false; // enable highlight for subtarctive geometry (true or false)
|
||||||
@@ -57,7 +59,6 @@ c = search([case_name],case_data);
|
|||||||
|
|
||||||
case_design = case_data[c[0]][2]; // "shell", "panel", "stacked", "tray"
|
case_design = case_data[c[0]][2]; // "shell", "panel", "stacked", "tray"
|
||||||
case_style = case_data[c[0]][3]; // style of case_design
|
case_style = case_data[c[0]][3]; // style of case_design
|
||||||
// tray: none, vu5, vu7
|
|
||||||
|
|
||||||
sbc_model = case_data[c[0]][1]; // any sbc from sbc model framework: "c1+","c2","c4","hc4"
|
sbc_model = case_data[c[0]][1]; // any sbc from sbc model framework: "c1+","c2","c4","hc4"
|
||||||
// "xu4","xu4q","mc1","hc1","n1","n2","n2+","h2"
|
// "xu4","xu4q","mc1","hc1","n1","n2","n2+","h2"
|
||||||
@@ -176,10 +177,12 @@ if (view == "platter") {
|
|||||||
if(case_design == "tray") {
|
if(case_design == "tray") {
|
||||||
case_bottom(case_design);
|
case_bottom(case_design);
|
||||||
translate([0,(2*depth)+10,case_z]) rotate([180,0,0]) case_top(case_design);
|
translate([0,(2*depth)+10,case_z]) rotate([180,0,0]) case_top(case_design);
|
||||||
translate([3*width,0,width]) rotate([0,90,90])
|
if(case_style == "vu5" || case_style == "vu7" || case_style == "sides") {
|
||||||
case_side(case_design,case_style,"right");
|
translate([3*width,0,width]) rotate([0,90,90])
|
||||||
translate([width+15,0,2*sidethick]) rotate([0,-90,-90])
|
case_side(case_design,case_style,"right");
|
||||||
case_side(case_design,case_style,"left");
|
translate([width+15,0,2*sidethick]) rotate([0,-90,-90])
|
||||||
|
case_side(case_design,case_style,"left");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// platter accessories
|
// platter accessories
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
@@ -267,11 +270,13 @@ if (view == "model") {
|
|||||||
if(raise_top >= 0) {
|
if(raise_top >= 0) {
|
||||||
color("grey",1) translate([0,0,raise_top]) case_top(case_design);
|
color("grey",1) translate([0,0,raise_top]) case_top(case_design);
|
||||||
}
|
}
|
||||||
if(move_rightside >= 0) {
|
if(case_style == "sides" || case_style == "vu5" || case_style == "vu7") {
|
||||||
color("grey",1) translate([move_rightside,0,0]) case_side(case_design,case_style,"right");
|
if(move_rightside >= 0) {
|
||||||
}
|
color("grey",1) translate([move_rightside,0,0]) case_side(case_design,case_style,"right");
|
||||||
if(move_leftside >= 0) {
|
}
|
||||||
color("grey",1) translate([-move_leftside,0,0]) case_side(case_design,case_style,"left");
|
if(move_leftside >= 0) {
|
||||||
|
color("grey",1) translate([-move_leftside,0,0]) case_side(case_design,case_style,"left");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(case_style == "vu5") {
|
if(case_style == "vu5") {
|
||||||
color("darkgrey",.5) translate([width+((127.5-width)/2)-6.5-wallthick-gap,
|
color("darkgrey",.5) translate([width+((127.5-width)/2)-6.5-wallthick-gap,
|
||||||
@@ -344,12 +349,12 @@ if(case_design == "tray") {
|
|||||||
else {
|
else {
|
||||||
echo(width=width,depth=depth,top=top_height,bottom=bottom_height);
|
echo(width=width,depth=depth,top=top_height,bottom=bottom_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// debug
|
// debug
|
||||||
if (view == "debug") {
|
if (view == "debug") {
|
||||||
// case_top(case_design);
|
case_top(case_design);
|
||||||
case_bottom(case_design);
|
// case_bottom(case_design);
|
||||||
// case_side(case_design,case_style,"rear");
|
// case_side(case_design,case_style,"rear");
|
||||||
// case_side(case_design,case_style,"front");
|
// case_side(case_design,case_style,"front");
|
||||||
// case_side(case_design,case_style,"left");
|
// case_side(case_design,case_style,"left");
|
||||||
@@ -413,9 +418,19 @@ module case_bottom(case_design) {
|
|||||||
translate([width-wallthick-gap-wallthick-4+adjust,wallthick+gap+10,
|
translate([width-wallthick-gap-wallthick-4+adjust,wallthick+gap+10,
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([90,0,90])
|
((bottom_height+floorthick)/2)-1]) rotate([90,0,90])
|
||||||
cylinder(d=10, h=4, $fn=6);
|
cylinder(d=10, h=4, $fn=6);
|
||||||
translate([width-wallthick-gap-wallthick-4+adjust,depth-wallthick-gap-10,
|
if(depth >= 75) {
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([90,0,90])
|
translate([width-wallthick-gap-wallthick-4+adjust,depth-wallthick-gap-10,
|
||||||
cylinder(d=10, h=4, $fn=6);
|
((bottom_height+floorthick)/2)-1]) rotate([90,0,90])
|
||||||
|
cylinder(d=10, h=4, $fn=6);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
translate([width-wallthick-gap-wallthick-4+adjust,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([90,0,90])
|
||||||
|
cylinder(d=10, h=4, $fn=6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// left side nuts
|
// left side nuts
|
||||||
translate([-adjust-gap,wallthick+gap+10,((bottom_height+floorthick)/2)-1])
|
translate([-adjust-gap,wallthick+gap+10,((bottom_height+floorthick)/2)-1])
|
||||||
rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
|
rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
|
||||||
@@ -427,10 +442,16 @@ module case_bottom(case_design) {
|
|||||||
translate([-adjust-gap,wallthick+gap+40,((bottom_height+floorthick)/2)-1])
|
translate([-adjust-gap,wallthick+gap+40,((bottom_height+floorthick)/2)-1])
|
||||||
rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
|
rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
|
||||||
}
|
}
|
||||||
// rear panel
|
|
||||||
translate([-wallthick-gap,depth-(2*wallthick)-gap,bottom_height-adjust])
|
|
||||||
rotate([0,0,0]) cube([width,wallthick,top_height]);
|
|
||||||
// front panel
|
// front panel
|
||||||
|
if(case_style == "sides" || case_style == "vu5" || case_style == "vu7") {
|
||||||
|
translate([-wallthick-gap,depth-(2*wallthick)-gap,bottom_height-adjust])
|
||||||
|
rotate([0,0,0]) cube([width,wallthick,top_height]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([-wallthick-gap,depth-(2*wallthick)-gap,bottom_height-adjust])
|
||||||
|
rotate([0,0,0]) cube([width,wallthick,top_height-floorthick]);
|
||||||
|
}
|
||||||
|
// rear panel
|
||||||
translate([-wallthick-gap,-wallthick-gap,bottom_height-adjust])
|
translate([-wallthick-gap,-wallthick-gap,bottom_height-adjust])
|
||||||
cube([width,wallthick,top_height-floorthick]);
|
cube([width,wallthick,top_height-floorthick]);
|
||||||
|
|
||||||
@@ -462,8 +483,15 @@ module case_bottom(case_design) {
|
|||||||
// right side bottom attachment holes
|
// right side bottom attachment holes
|
||||||
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+10,
|
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+10,
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
translate([width-2*(wallthick+gap)-sidethick-adjust,depth-wallthick-gap-10,
|
if(depth >= 75) {
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
translate([width-2*(wallthick+gap)-sidethick-adjust,depth-wallthick-gap-10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
|
||||||
// left side bottom attachment holes
|
// left side bottom attachment holes
|
||||||
translate([-wallthick-gap-adjust,wallthick+gap+10,
|
translate([-wallthick-gap-adjust,wallthick+gap+10,
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
@@ -478,8 +506,14 @@ module case_bottom(case_design) {
|
|||||||
// right side bottom nut inset
|
// right side bottom nut inset
|
||||||
translate([width-3.5-(2*wallthick)-gap-.6,wallthick+gap+10,
|
translate([width-3.5-(2*wallthick)-gap-.6,wallthick+gap+10,
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
((bottom_height+floorthick)/2)-1]) rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
||||||
translate([width-3.5-(2*wallthick)-gap-.6,depth-wallthick-gap-10,
|
if(depth >= 75) {
|
||||||
((bottom_height+floorthick)/2)-1])rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
translate([width-3.5-(2*wallthick)-gap-.6,depth-wallthick-gap-10,
|
||||||
|
((bottom_height+floorthick)/2)-1])rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([width-3.5-(2*wallthick)-gap-.6,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1])rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
||||||
|
}
|
||||||
// left side bottom nut inset
|
// left side bottom nut inset
|
||||||
translate([-gap+.6,wallthick+gap+10,((bottom_height+floorthick)/2)-1])
|
translate([-gap+.6,wallthick+gap+10,((bottom_height+floorthick)/2)-1])
|
||||||
rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
|
||||||
@@ -819,12 +853,52 @@ module case_top(case_design) {
|
|||||||
vertical=[c_fillet,c_fillet,c_fillet,c_fillet],
|
vertical=[c_fillet,c_fillet,c_fillet,c_fillet],
|
||||||
top=[0,0,0,0], bottom=[0,0,0,0], $fn=90);
|
top=[0,0,0,0], bottom=[0,0,0,0], $fn=90);
|
||||||
}
|
}
|
||||||
if(case_design == "tray") {
|
if(case_design == "tray" && (case_style == "vu5" || case_style == "vu7" || case_style == "sides")) {
|
||||||
translate([-wallthick-gap+.5,-wallthick-gap,case_z])
|
translate([-wallthick-gap+.5,-wallthick-gap,case_z])
|
||||||
cube([width-1,depth,floorthick]);
|
cube([width-1,depth,floorthick]);
|
||||||
translate([-wallthick-gap+.5,-wallthick-gap,
|
translate([-wallthick-gap+.5,-wallthick-gap,
|
||||||
case_z-floorthick+adjust]) cube([width-1,wallthick,wallthick]);
|
case_z-floorthick+adjust]) cube([width-1,wallthick,wallthick]);
|
||||||
}
|
}
|
||||||
|
if(case_design == "tray" && case_style == "none") {
|
||||||
|
difference() {
|
||||||
|
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,case_z/2])
|
||||||
|
cube_fillet_inside([width+2*wallthick+1,depth,bottom_height+top_height],
|
||||||
|
vertical=[0,0,0,0], top=[0,fillet,0,fillet,fillet],
|
||||||
|
bottom=[0,0,0,0], $fn=90);
|
||||||
|
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,(case_z/2)-floorthick+.25])
|
||||||
|
cube_fillet_inside([width+1,depth+(wallthick*2),case_z],
|
||||||
|
vertical=[c_fillet-1,c_fillet-1,c_fillet-1,c_fillet-1],
|
||||||
|
top=[0,0,0,0],bottom=[0,0,0,0], $fn=90);
|
||||||
|
// right side bottom attachment holes
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
if(depth >= 75) {
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,depth-wallthick-gap-10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
// left side bottom attachment holes
|
||||||
|
translate([-2*wallthick-gap-2*adjust,wallthick+gap+10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
if(depth >= 75) {
|
||||||
|
translate([-wallthick-gap-adjust-6,depth-wallthick-gap-10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([-wallthick-gap-adjust-6,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
type = case_data[c[0]][i+1];
|
type = case_data[c[0]][i+1];
|
||||||
@@ -1164,6 +1238,74 @@ module case_side(case_design,case_style,side) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(case_design == "tray" && case_style == "sides") {
|
||||||
|
if(side == "right") {
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
translate([width-wallthick-gap,-(2*wallthick)-gap,0])
|
||||||
|
cube([sidethick,depth+2*wallthick,case_z+(2*wallthick)]);
|
||||||
|
translate([width-gap-wallthick-1+adjust,depth-2*(wallthick+gap)-.5,case_z+(2*wallthick)-2])
|
||||||
|
cube([1,6,2]);
|
||||||
|
translate([width-gap-wallthick-1+adjust,-2*(wallthick+gap)+1.5,case_z+(2*wallthick)-2])
|
||||||
|
cube([1,6,2]);
|
||||||
|
// top rail
|
||||||
|
translate([width-6.9-adjust,-gap,case_z-floorthick-.5])
|
||||||
|
cube([4,depth-2*(wallthick+gap),2]);
|
||||||
|
}
|
||||||
|
// right side bottom attachment holes
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
if(depth >= 75) {
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,depth-wallthick-gap-10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(side == "left") {
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
translate([-wallthick-gap-sidethick,-(2*wallthick)-gap,0])
|
||||||
|
cube([sidethick,depth+2*wallthick,case_z+(2*wallthick)]);
|
||||||
|
translate([-gap-wallthick-adjust,depth-2*(wallthick+gap)-.5,case_z+(2*wallthick)-2])
|
||||||
|
cube([1,6,2]);
|
||||||
|
translate([-gap-wallthick-adjust,-2*(wallthick+gap)+1.5,case_z+(2*wallthick)-2])
|
||||||
|
cube([1,6,2]);
|
||||||
|
// top rail
|
||||||
|
translate([-wallthick-gap-adjust,-gap,case_z-floorthick-.5])
|
||||||
|
cube([4,depth-2*(wallthick+gap),2]);
|
||||||
|
}
|
||||||
|
// left side bottom attachment holes
|
||||||
|
translate([-wallthick-gap-adjust-5,wallthick+gap+10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
if(depth >= 75) {
|
||||||
|
translate([-wallthick-gap-adjust-6,depth-wallthick-gap-10,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
translate([-wallthick-gap-adjust-6,wallthick+gap+40,
|
||||||
|
((bottom_height+floorthick)/2)-1]) rotate([0,90,0])
|
||||||
|
cylinder(d=3, h=10+sidethick+(2*adjust));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(case_design == "tray" && case_style == "vu5") {
|
||||||
|
cheight = top_height+bottom_height+90;
|
||||||
|
vesa = 75;
|
||||||
|
vu_holder(case_style,side,vesa,cheight);
|
||||||
|
}
|
||||||
|
if(case_design == "tray" && case_style == "vu7") {
|
||||||
|
cheight = top_height+bottom_height+122;
|
||||||
|
vesa = 100;
|
||||||
|
vu_holder(case_style,side,vesa,cheight);
|
||||||
|
}
|
||||||
// additive accessories
|
// additive accessories
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
@@ -1186,63 +1328,6 @@ module case_side(case_design,case_style,side) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(case_design == "tray" && case_style == "none") {
|
|
||||||
if(side == "right") {
|
|
||||||
difference() {
|
|
||||||
union() {
|
|
||||||
translate([width-wallthick-gap,-(2*wallthick)-gap,0])
|
|
||||||
cube([sidethick,depth+2*wallthick,case_z+(2*wallthick)]);
|
|
||||||
translate([width-gap-wallthick-1+adjust,depth-2*(wallthick+gap)-.5,case_z+(2*wallthick)-2])
|
|
||||||
cube([1,6,2]);
|
|
||||||
translate([width-gap-wallthick-1+adjust,-2*(wallthick+gap)+1.5,case_z+(2*wallthick)-2])
|
|
||||||
cube([1,6,2]);
|
|
||||||
// top rail
|
|
||||||
translate([width-6.9-adjust,-gap,case_z-floorthick-.5])
|
|
||||||
cube([4,depth-2*(wallthick+gap),2]);
|
|
||||||
}
|
|
||||||
// right side bottom attachment holes
|
|
||||||
translate([width-2*(wallthick+gap)-sidethick-adjust,wallthick+gap+10,
|
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
|
||||||
translate([width-2*(wallthick+gap)-sidethick-adjust,depth-wallthick-gap-10,
|
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(side == "left") {
|
|
||||||
difference() {
|
|
||||||
union() {
|
|
||||||
translate([-wallthick-gap-sidethick,-(2*wallthick)-gap,0])
|
|
||||||
cube([sidethick,depth+2*wallthick,case_z+(2*wallthick)]);
|
|
||||||
translate([-gap-wallthick-adjust,depth-2*(wallthick+gap)-.5,case_z+(2*wallthick)-2]) cube([1,6,2]);
|
|
||||||
translate([-gap-wallthick-adjust,-2*(wallthick+gap)+1.5,case_z+(2*wallthick)-2]) cube([1,6,2]);
|
|
||||||
// top rail
|
|
||||||
translate([-wallthick-gap-adjust,-gap,case_z-floorthick-.5])
|
|
||||||
cube([4,depth-2*(wallthick+gap),2]);
|
|
||||||
}
|
|
||||||
// left side bottom attachment holes
|
|
||||||
translate([-wallthick-gap-adjust-5,wallthick+gap+10,
|
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
|
||||||
if(depth >= 75) {
|
|
||||||
translate([-wallthick-gap-adjust-6,depth-wallthick-gap-10,
|
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
translate([-wallthick-gap-adjust-6,wallthick+gap+40,
|
|
||||||
((bottom_height+floorthick)/2)-1]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adjust));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(case_design == "tray" && case_style == "vu5") {
|
|
||||||
cheight = top_height+bottom_height+90;
|
|
||||||
vesa = 75;
|
|
||||||
vu_holder(case_style,side,vesa,cheight);
|
|
||||||
}
|
|
||||||
if(case_design == "tray" && case_style == "vu7") {
|
|
||||||
cheight = top_height+bottom_height+122;
|
|
||||||
vesa = 100;
|
|
||||||
vu_holder(case_style,side,vesa,cheight);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
type = case_data[c[0]][i+1];
|
type = case_data[c[0]][i+1];
|
||||||
|
|||||||
@@ -40,7 +40,8 @@
|
|||||||
20220406 version 1.2.2 hk_wb2(), hk_vu7c(gpio_ext, tabs), hdmi_a(), header_f(pins, height), pcb_pad(pads),
|
20220406 version 1.2.2 hk_wb2(), hk_vu7c(gpio_ext, tabs), hdmi_a(), header_f(pins, height), pcb_pad(pads),
|
||||||
embelished boom_speaker(), changed boom_speaker_holder(style, tolerance), added boom_speaker_strap(),
|
embelished boom_speaker(), changed boom_speaker_holder(style, tolerance), added boom_speaker_strap(),
|
||||||
adjusted access_port(), access_cover(), added @mctom's hk_vu8m(bracket), u_bracket(), spacer()
|
adjusted access_port(), access_cover(), added @mctom's hk_vu8m(bracket), u_bracket(), spacer()
|
||||||
2022xxxx version 1.2.x removed spacer(); added screw(); modified hk_vu8m(); added m1_hdmount(); added hdd35_25holder(length)
|
20220515 version 1.2.3 removed spacer(); added screw(); modified hk_vu8m(); added m1_hdmount(); added hdd35_25holder(length)
|
||||||
|
printer friendly punchout(),added remaining mask() entries, standardized mask()
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
|
|
||||||
@@ -581,7 +582,7 @@ $fn = 90;
|
|||||||
if(style == "recess") {
|
if(style == "recess") {
|
||||||
difference() {
|
difference() {
|
||||||
cylinder(d=8.5, h=.8);
|
cylinder(d=8.5, h=.8);
|
||||||
translate([-1.25,-1.25,-adjust]) cube([2.5,2.5,1]);
|
translate([-1.5,-1.75,-adjust]) cube([2.75,3.5,1]);
|
||||||
translate([-.75,-.75,-adjust]) cube([5,1.25,1.25]);
|
translate([-.75,-.75,-adjust]) cube([5,1.25,1.25]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2462,7 +2463,7 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick,
|
|||||||
place(loc_x,loc_y-1,loc_z-pcb_z,15,11.5,rotation,side) hdmi_open();
|
place(loc_x,loc_y-1,loc_z-pcb_z,15,11.5,rotation,side) hdmi_open();
|
||||||
}
|
}
|
||||||
if(type == "hdmi_a" && side == "top" && rotation == 0) {
|
if(type == "hdmi_a" && side == "top" && rotation == 0) {
|
||||||
place(loc_x-.5,loc_y-1,loc_z,15,11.5,rotation,side) hdmi_open();
|
place(loc_x-.675,loc_y-1,loc_z+.25,15,11.5,rotation,side) hdmi_open();
|
||||||
}
|
}
|
||||||
if(type == "hdmi_a" && side == "top" && rotation == 90) {
|
if(type == "hdmi_a" && side == "top" && rotation == 90) {
|
||||||
place(loc_x-1,loc_y,loc_z,15,11.5,rotation,side) hdmi_open();
|
place(loc_x-1,loc_y,loc_z,15,11.5,rotation,side) hdmi_open();
|
||||||
@@ -2474,18 +2475,21 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick,
|
|||||||
place(loc_x+1,loc_y-.5,loc_z,15,11.5,rotation,side) hdmi_open();
|
place(loc_x+1,loc_y-.5,loc_z,15,11.5,rotation,side) hdmi_open();
|
||||||
}
|
}
|
||||||
// micro usb opening
|
// micro usb opening
|
||||||
if(class == "usb2" && type == "micro" && rotation == 0) {
|
if(class == "usb2" && type == "micro" && rotation == 0 && side == "top") {
|
||||||
place(loc_x,loc_y-3,loc_z,8,3,rotation,side) microusb_open();
|
place(loc_x,loc_y-3,loc_z,8,3,rotation,side) microusb_open();
|
||||||
}
|
}
|
||||||
if(class == "usb2" && type == "micro" && rotation == 90) {
|
if(class == "usb2" && type == "micro" && rotation == 90 && side == "top") {
|
||||||
place(loc_x-3,loc_y-1,loc_z,8,3,rotation,side) microusb_open();
|
place(loc_x-3,loc_y-1,loc_z,8,3,rotation,side) microusb_open();
|
||||||
}
|
}
|
||||||
if(class == "usb2" && type == "micro" && rotation == 180) {
|
if(class == "usb2" && type == "micro" && rotation == 180 && side == "top") {
|
||||||
place(loc_x-1,loc_y+4.5,loc_z,8,3,rotation,side) microusb_open();
|
place(loc_x-1,loc_y+4.5,loc_z,8,3,rotation,side) microusb_open();
|
||||||
}
|
}
|
||||||
if(class == "usb2" && type == "micro" && rotation == 270) {
|
if(class == "usb2" && type == "micro" && rotation == 270 && side == "top") {
|
||||||
place(loc_x+4.5,loc_y,loc_z,8,3,rotation,side) microusb_open();
|
place(loc_x+4.5,loc_y,loc_z,8,3,rotation,side) microusb_open();
|
||||||
}
|
}
|
||||||
|
if(class == "usb2" && type == "micro" && rotation == 0 && side == "bottom") {
|
||||||
|
place(loc_x-1,loc_y-3,loc_z-1.25,8,3,rotation,side) microusb_open();
|
||||||
|
}
|
||||||
// power plug openings
|
// power plug openings
|
||||||
if(type == "pwr5.5_7.5x11.5" && rotation == 0) {
|
if(type == "pwr5.5_7.5x11.5" && rotation == 0) {
|
||||||
place(loc_x,loc_y,loc_z,7,7,rotation,side)
|
place(loc_x,loc_y,loc_z,7,7,rotation,side)
|
||||||
@@ -2583,7 +2587,7 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick,
|
|||||||
}
|
}
|
||||||
if(type == "sdcard" && side == "top" && rotation == 180) {
|
if(type == "sdcard" && side == "top" && rotation == 180) {
|
||||||
place(loc_x-.5,loc_y+5,loc_z,12,15.5,rotation,side)
|
place(loc_x-.5,loc_y+5,loc_z,12,15.5,rotation,side)
|
||||||
translate([0,0,1.75]) cube([12,15.5,2]);
|
translate([0,0,1.5]) cube([12,15.5,2]);
|
||||||
}
|
}
|
||||||
if(type == "sdcard" && side == "top" && rotation == 270) {
|
if(type == "sdcard" && side == "top" && rotation == 270) {
|
||||||
place(loc_x+5,loc_y,loc_z,12,15.5,rotation,side)
|
place(loc_x+5,loc_y,loc_z,12,15.5,rotation,side)
|
||||||
@@ -2659,19 +2663,19 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick,
|
|||||||
// ir opening
|
// ir opening
|
||||||
if(type == "ir_1" && rotation == 0) {
|
if(type == "ir_1" && rotation == 0) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([3.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=9);
|
translate([3.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
||||||
}
|
}
|
||||||
if(type == "ir_1" && rotation == 90) {
|
if(type == "ir_1" && rotation == 90) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([2.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=9);
|
translate([2.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
||||||
}
|
}
|
||||||
if(type == "ir_1" && rotation == 180) {
|
if(type == "ir_1" && rotation == 180) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([2.5,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=9);
|
translate([2.5,5,6.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
||||||
}
|
}
|
||||||
if(type == "ir_1" && rotation == 270) {
|
if(type == "ir_1" && rotation == 270) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([3.375,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=9);
|
translate([3.375,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
||||||
}
|
}
|
||||||
// switch opening
|
// switch opening
|
||||||
if(type == "slide_4x9" && rotation == 0) {
|
if(type == "slide_4x9" && rotation == 0) {
|
||||||
@@ -2837,6 +2841,23 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick,
|
|||||||
translate([-.5,-3.75,0]) cube([7,2.5,6.5]);
|
translate([-.5,-3.75,0]) cube([7,2.5,6.5]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(type == "audio_micro" && rotation == 0) {
|
||||||
|
place(loc_x,loc_y,loc_z,7.5,7.5,rotation,side)
|
||||||
|
translate([0,4,0]) cube([7.5,8,4]);
|
||||||
|
}
|
||||||
|
if(type == "m1_oem" && rotation == 0) {
|
||||||
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
|
union() {
|
||||||
|
translate([8.75,7.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([80,7.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([8.75,39.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([80,39.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([8.75,79.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([80,79.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([8.75,111.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
translate([80,111.5,-20]) rotate([0,0,90]) slot(3,3,8);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2852,10 +2873,10 @@ module punchout(width,depth,gap,thick,fillet,shape) {
|
|||||||
translate([0,0,0]) slot(depth,width,thick);
|
translate([0,0,0]) slot(depth,width,thick);
|
||||||
translate([0,0,-adjust]) slot(depth-gap,width,thick+(2*adjust));
|
translate([0,0,-adjust]) slot(depth-gap,width,thick+(2*adjust));
|
||||||
// cross ties
|
// cross ties
|
||||||
translate([2,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
translate([-1,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
||||||
translate([(width/2)-1-(width/4)+4,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
translate([(width/2)-1-(width/4)+4,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
||||||
translate([(width/2)-1+(width/4)-4,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
translate([(width/2)-1+(width/4)-4,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
||||||
translate([width-4,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
translate([width-1,-(depth/2)-1,-adjust]) cube([2,depth+2,thick+(2*adjust)]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(shape == "rectangle") {
|
if(shape == "rectangle") {
|
||||||
@@ -2870,9 +2891,11 @@ module punchout(width,depth,gap,thick,fillet,shape) {
|
|||||||
top=[0,0,0,0], bottom=[0,0,0,0], $fn=90);
|
top=[0,0,0,0], bottom=[0,0,0,0], $fn=90);
|
||||||
// cross ties
|
// cross ties
|
||||||
translate([-1,(depth/2)-1,-adjust]) cube([gap+2,2,thick+(2*adjust)]);
|
translate([-1,(depth/2)-1,-adjust]) cube([gap+2,2,thick+(2*adjust)]);
|
||||||
translate([(width/2)-1,depth-gap-1,-adjust]) cube([2,gap+2,thick+(2*adjust)]);
|
translate([width-4,depth-gap-1,-adjust]) cube([2,gap+2,thick+(2*adjust)]);
|
||||||
|
translate([2,depth-gap-1,-adjust]) cube([2,gap+2,thick+(2*adjust)]);
|
||||||
translate([width-gap-1,(depth/2)-1,-adjust]) cube([gap+2,2,thick+(2*adjust)]);
|
translate([width-gap-1,(depth/2)-1,-adjust]) cube([gap+2,2,thick+(2*adjust)]);
|
||||||
translate([(width/2)-1,-1,-adjust]) cube([2,gap+2,thick+(2*adjust)]);
|
translate([width-4,-1,-adjust]) cube([2,gap+2,thick+(2*adjust)]);
|
||||||
|
translate([2,-1,-adjust]) cube([2,gap+2,thick+(2*adjust)]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(shape == "round") {
|
if(shape == "round") {
|
||||||
|
|||||||
Reference in New Issue
Block a user