removed case_style and added new case_design names as replacement

This commit is contained in:
Edward Kisiel
2024-04-07 12:33:56 -04:00
parent f5130023f0
commit 40e8e6bfff
7 changed files with 102 additions and 157 deletions

View File

@@ -199,7 +199,7 @@ vu_rotation = [15,0,0];
translate([width-wallthick-gap,-(2*wallthick)-gap,0])
cube([sidethick,depth+2*wallthick,cheight]);
// right tabs for vu5 attachment
if(case_style == "vu5") {
if(vu_model == "vu5") {
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-39,
case_z+80]) rotate([75,180,0])
slab_r([((width-vesa)/2)+4.5,10,sidethick], [.01,.01,3,3]);
@@ -223,7 +223,7 @@ vu_rotation = [15,0,0];
}
}
// right tabs for vu7 attachment
if(case_style == "vu7") {
if(vu_model == "vu7") {
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1,depth-49.40,
case_z+vu7_height-15]) rotate([75,180,0])
slab_r([((width-vesa)/2)+12,10,sidethick], [.01,.01,3,3]);
@@ -254,7 +254,7 @@ vu_rotation = [15,0,0];
translate([-wallthick-gap-sidethick,-(2*wallthick)-gap,0])
cube([sidethick,depth+2*wallthick,cheight]);
// left tabs for vu5 attachment
if(case_style == "vu5") {
if(vu_model == "vu5") {
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-36.4,
case_z+70]) rotate([105,0,0])
slab_r([((width-vesa)/2)+4,10, sidethick], [.01,.01,3,3]);
@@ -277,7 +277,7 @@ vu_rotation = [15,0,0];
}
}
// left tabs for vu7 attachment
if(case_style == "vu7") {
if(vu_model == "vu7") {
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-4.25-adj,depth-46.85,
case_z+vu7_height-24.5]) rotate([105,0,0])
slab_r([((width-vesa)/2),10, sidethick], [.01,.01,3,3]);
@@ -307,7 +307,7 @@ vu_rotation = [15,0,0];
if(side == "right") {
// vu5 shape and back cut
if(case_style == "vu5") {
if(vu_model == "vu5") {
translate([width+adj,-.6,case_z+sidethick+2.5])
rotate([0,-90,0])
linear_extrude(height = 3*sidethick)
@@ -327,7 +327,7 @@ vu_rotation = [15,0,0];
case_z+26.75]) rotate([75,180,0]) cylinder(d=3, h=sidethick+1);
}
// vu7 shape and back cut
if(case_style == "vu7") {
if(vu_model == "vu7") {
translate([width+adj,-.6,case_z+sidethick+2.5])
rotate([0,-90,0])
linear_extrude(height = 2*sidethick)
@@ -355,7 +355,7 @@ vu_rotation = [15,0,0];
if(side == "left") {
// vu5 shape and back cut
if(case_style == "vu5") {
if(vu_model == "vu5") {
translate([-sidethick+adj,-.6,case_z+sidethick+2.5])
rotate([0,-90,0])
linear_extrude(height = 3*sidethick)
@@ -375,7 +375,7 @@ vu_rotation = [15,0,0];
rotate([75,0,0]) cylinder(d=3, h=sidethick+1);
}
// vu7 shape and back cut
if(case_style == "vu7") {
if(vu_model == "vu7") {
translate([-sidethick+adj,-.6,case_z+sidethick+2.5])
rotate([0,-90,0])
linear_extrude(height = 2*sidethick)

View File

@@ -68,7 +68,7 @@ module case_bottom(case_design) {
vertical=[corner_fillet,corner_fillet,corner_fillet,corner_fillet],
top=[0,0,0,0], bottom=[0,0,0,0], $fn=90);
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
difference() {
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,(bottom_height)/2])
cube_fillet_inside([width,depth,bottom_height],
@@ -110,7 +110,7 @@ module case_bottom(case_design) {
}
// front panel
if(case_style == "sides" || case_style == "vu5" || case_style == "vu7") {
if(case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
translate([-wallthick-gap,depth-(2*wallthick)-gap,bottom_height-adj])
rotate([0,0,0]) cube([width,wallthick,top_height]);
}
@@ -279,7 +279,7 @@ module case_bottom(case_design) {
}
}
// side attachment holes
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
// right side bottom attachment holes
translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));

View File

@@ -20,13 +20,12 @@
DESCRIPTION: creates folded case flat blanks for supported designs
TODO: none
USAGE: case_folded(case_design, case_style)
USAGE: case_folded(case_design)
case_design = paper
case_style = split-top, full-top
case_design = paper_full-top, paper_split-top
*/
module case_folded(case_design, case_style) {
module case_folded(case_design) {
section_position = 2;
ba = bend_allowance;
@@ -39,7 +38,7 @@ tab_x = pcb_depth/4;
tab_y = fold_height/2;
tab_inset = 6;
if(case_style == "split-top") {
if(case_design == "paper_split-top") {
// rear
difference() {
union() {
@@ -121,7 +120,7 @@ tab_inset = 6;
translate([0, pcb_depth+fold_height+(pcb_depth/2)-ba, 0]) cube([pcb_width, 2, material_thickness]);
}
if(case_style == "full-top" || case_style == "none") {
if(case_design == "paper_full-top") {
// rear
difference() {
union() {

View File

@@ -20,11 +20,11 @@
DESCRIPTION: creates case side for supported designs and styles
TODO: none
USAGE: case_side(case_design, case_style, side)
USAGE: case_side(case_design, side)
*/
module case_side(case_design, case_style, side) {
module case_side(case_design, side) {
difference() {
union() {
@@ -128,7 +128,7 @@ module case_side(case_design, case_style, side) {
}
}
}
if(case_design == "tray" && case_style == "sides") {
if(case_design == "tray_sides") {
if(side == "right") {
difference() {
union() {
@@ -186,15 +186,15 @@ module case_side(case_design, case_style, side) {
}
}
}
if(case_design == "tray" && case_style == "vu5") {
if(case_design == "tray_vu5") {
cheight = case_z+90;
vesa = 75;
vu_holder(case_style,side,vesa,cheight);
vu_holder("vu5",side,vesa,cheight);
}
if(case_design == "tray" && case_style == "vu7") {
if(case_design == "tray_vu7") {
cheight = case_z+122;
vesa = 100;
vu_holder(case_style,side,vesa,cheight);
vu_holder("vu7",side,vesa,cheight);
}
// additive accessories
if(accessory_name != "none") {

View File

@@ -76,13 +76,13 @@ module case_top(case_design) {
vertical=[corner_fillet,corner_fillet,corner_fillet,corner_fillet],
top=[0,0,0,0], bottom=[0,0,0,0], $fn=90);
}
if(case_design == "tray" && (case_style == "vu5" || case_style == "vu7" || case_style == "sides")) {
if(case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
translate([-wallthick-gap+.5,-wallthick-gap,case_z])
cube([width-1,depth,floorthick]);
translate([-wallthick-gap+.5,-wallthick-gap,
case_z-floorthick+adj]) cube([width-1,wallthick,wallthick]);
}
if(case_design == "tray" && case_style == "none") {
if(case_design == "tray") {
difference() {
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,case_z/2])
cube_fillet_inside([width+2*wallthick+1,depth,case_z],

View File

@@ -41,7 +41,6 @@
"case_offset_tz": "13",
"case_offset_x": "40",
"case_offset_y": "17",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -190,7 +189,6 @@
"case_offset_tz": "13",
"case_offset_x": "40",
"case_offset_y": "15",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -339,7 +337,6 @@
"case_offset_tz": "1.5",
"case_offset_x": "30",
"case_offset_y": "0",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -488,7 +485,6 @@
"case_offset_tz": "1.5",
"case_offset_x": "30",
"case_offset_y": "0",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -637,7 +633,6 @@
"case_offset_tz": "1.5",
"case_offset_x": "40",
"case_offset_y": "15",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -786,7 +781,6 @@
"case_offset_tz": "3",
"case_offset_x": "40",
"case_offset_y": "15",
"case_style": "none",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -930,12 +924,11 @@
"bottom_standoff_support_height": "4",
"bottom_standoff_support_size": "10",
"bottom_standoff_type": "countersunk",
"case_design": "tray",
"case_design": "tray_vu5",
"case_offset_bz": "4",
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "vu5",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -1079,12 +1072,11 @@
"bottom_standoff_support_height": "4",
"bottom_standoff_support_size": "10",
"bottom_standoff_type": "countersunk",
"case_design": "tray",
"case_design": "tray_vu7",
"case_offset_bz": "4",
"case_offset_tz": "0",
"case_offset_x": "34",
"case_offset_y": "0",
"case_style": "vu7",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -1212,7 +1204,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"exhaust_vents": "none",
"fillet": "0",
@@ -1290,7 +1281,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -1439,7 +1429,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -1588,7 +1577,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "65",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -1737,7 +1725,6 @@
"case_offset_tz": "10",
"case_offset_x": "86",
"case_offset_y": "54",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -1886,7 +1873,6 @@
"case_offset_tz": "32",
"case_offset_x": "47.4",
"case_offset_y": "54",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -2035,7 +2021,6 @@
"case_offset_tz": "20",
"case_offset_x": "119.4",
"case_offset_y": "95",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -2184,7 +2169,6 @@
"case_offset_tz": "10",
"case_offset_x": "88",
"case_offset_y": "55",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -2333,7 +2317,6 @@
"case_offset_tz": "0",
"case_offset_x": "11",
"case_offset_y": "0",
"case_style": "none",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -2482,7 +2465,6 @@
"case_offset_tz": "13",
"case_offset_x": "42",
"case_offset_y": "65",
"case_style": "none",
"cooling": "vent_hex_5mm",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -2631,7 +2613,6 @@
"case_offset_tz": "0",
"case_offset_x": "24",
"case_offset_y": "0",
"case_style": "none",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -2780,7 +2761,6 @@
"case_offset_tz": "8",
"case_offset_x": "14",
"case_offset_y": "0",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -2929,7 +2909,6 @@
"case_offset_tz": "16",
"case_offset_x": "105",
"case_offset_y": "0",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3078,7 +3057,6 @@
"case_offset_tz": "26",
"case_offset_x": "145",
"case_offset_y": "60",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3227,7 +3205,6 @@
"case_offset_tz": "0",
"case_offset_x": "114",
"case_offset_y": "60",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3376,7 +3353,6 @@
"case_offset_tz": "72",
"case_offset_x": "55",
"case_offset_y": "60",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3525,7 +3501,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3674,7 +3649,6 @@
"case_offset_tz": "26",
"case_offset_x": "25",
"case_offset_y": "10",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3823,7 +3797,6 @@
"case_offset_tz": "26",
"case_offset_x": "55",
"case_offset_y": "10",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -3972,7 +3945,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -4121,7 +4093,6 @@
"case_offset_tz": "10",
"case_offset_x": "20",
"case_offset_y": "20",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -4270,7 +4241,6 @@
"case_offset_tz": "-21",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "open",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -4419,7 +4389,6 @@
"case_offset_tz": "-21.02",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "open",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -4568,7 +4537,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "10",
"case_style": "none",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -4717,7 +4685,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "10",
"case_style": "vu7",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -4866,7 +4833,6 @@
"case_offset_tz": "26",
"case_offset_x": "25",
"case_offset_y": "10",
"case_style": "none",
"cooling": "default",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -5015,7 +4981,6 @@
"case_offset_tz": "9",
"case_offset_x": "30",
"case_offset_y": "15",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -5164,7 +5129,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -5313,7 +5277,6 @@
"case_offset_tz": "-5",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -5462,7 +5425,6 @@
"case_offset_tz": "-5",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -5611,7 +5573,6 @@
"case_offset_tz": "-5",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -5760,7 +5721,6 @@
"case_offset_tz": "-5",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -5904,12 +5864,11 @@
"bottom_standoff_support_height": "4",
"bottom_standoff_support_size": "10",
"bottom_standoff_type": "countersunk",
"case_design": "tray",
"case_design": "tray_sides",
"case_offset_bz": "3",
"case_offset_tz": "-5",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "sides",
"cooling": "none",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -6058,7 +6017,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -6207,7 +6165,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -6356,7 +6313,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -6505,7 +6461,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -6649,12 +6604,11 @@
"bottom_standoff_support_height": "4",
"bottom_standoff_support_size": "10",
"bottom_standoff_type": "countersunk",
"case_design": "tray",
"case_design": "tray_sides",
"case_offset_bz": "0",
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "sides",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -6803,7 +6757,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -6952,7 +6905,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -7101,7 +7053,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -7250,7 +7201,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -7399,7 +7349,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -7548,7 +7497,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -7697,7 +7645,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -7846,7 +7793,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "2",
@@ -7990,12 +7936,11 @@
"bottom_standoff_support_height": "4",
"bottom_standoff_support_size": "10",
"bottom_standoff_type": "countersunk",
"case_design": "tray",
"case_design": "tray_sides",
"case_offset_bz": "7",
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "sides",
"cooling": "vent_hex_8mm",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -8144,7 +8089,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",
@@ -8293,7 +8237,6 @@
"case_offset_tz": "0",
"case_offset_x": "0",
"case_offset_y": "0",
"case_style": "none",
"cooling": "fan_1",
"corner_fillet": "3",
"edge_fillet": "0",

View File

@@ -40,9 +40,7 @@ sbc_highlight = false;
// enable highlight for accessory subtractive geometry
accessory_highlight = false;
// base case design
case_design = "shell"; // [shell,panel,stacked,tray,round,hex,snap,fitted,paper]
// base case style
case_style = "none"; // ["none","vu5","vu7","sides","split-top","full-top"]
case_design = "shell"; // [shell,panel,stacked,tray,tray_sides,tray_vu5,tray_vu7,round,hex,snap,fitted,paper_split-top,paper_full-top]
// raises top mm in model view or < 0 = off
raise_top = 0; // [-1:100]
@@ -97,7 +95,7 @@ edge_fillet = 0; //[0:.5:6]
// tolerance for fitted surfaces
tol = .25; //[-.5:.0625:.5]
/* [Top Standoffs] */
/* [Top Standoff Global Settings] */
// enable case top standoffs
sbc_top_standoffs = true;
top_standoff_reverse = true;
@@ -112,6 +110,8 @@ top_standoff_support_height = 4; //[0:.01:50]
top_standoff_insert = false;
top_standoff_insert_dia = 4.2; //.01
top_standoff_insert_height = 5.1; //.01
/* [Top Standoff Individual Settings] */
// case top - lower left standoff settings
top_rear_left_enable = true;
top_rear_left_adjust = 0; //[-20:.01:20]
@@ -129,7 +129,7 @@ top_front_right_enable = true;
top_front_right_adjust = 0; //[-20:.01:20]
top_front_right_support = "front"; //[none,left,rear,front,right]
/* [Bottom Standoffs] */
/* [Bottom Standoff Global Settings] */
// enable case bottom standoffs
sbc_bottom_standoffs = true;
bottom_standoff_reverse = false;
@@ -144,6 +144,8 @@ bottom_standoff_support_height = 4; //[0:.01:50]
bottom_standoff_insert = false;
bottom_standoff_insert_dia = 4.2; //.01
bottom_standoff_insert_height = 5.1; //.01
/* [Bottom Standoff Individual Settings] */
// case bottom - rear left standoff settings
bottom_rear_left_enable = true;
bottom_rear_left_adjust = 0; //[-20:.01:20]
@@ -161,6 +163,32 @@ bottom_front_right_enable = true;
bottom_front_right_adjust = 0; //[-20:.01:20]
bottom_front_right_support = "front"; //[none,left,rear,front,right]
/* [Fan and Vent Openings] */
// top cover pattern
top_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,deltoid,astroid,apollonian]
// bottom cover pattern
bottom_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,deltoid,astroid,apollonian]
// heatsink opening
cooling = "default"; // [default,none,open,fan_open,fan_1,fan_2,fan_hex,vent,vent_hex_5mm,vent_hex_8mm,custom]
fan_size = 0; // [0,30,40,50,60,70,80,92]
// exhaust vent
exhaust_vent = "none"; // [none,rear,front,right,left]
/* [Bottom Access Panel] */
bottom_access_panel_enable = false;
access_panel_size = [70,30]; //[10:.01:120]
access_panel_orientation = "landscape"; //[landscape,portrait]
access_panel_location = [10,15]; //[-10:.01:200]
access_panel_rotation = 0; //[0:90:270]
/* [GPIO and UART] */
// gpio opening
gpio_opening = "default"; // [default,none,open,block,knockout,vent]
// uart opening
uart_opening = "default"; // [default,none,open,knockout]
// enable indentations around io openings
indents = true;
/* [Extended Top Standoffs] */
// enable case extended standoffs
ext_top_standoffs = true;
@@ -226,27 +254,7 @@ ext_bottom_front_right_enable = true;
ext_bottom_front_right_adjust = 0; //[-20:.01:20]
ext_bottom_front_right_support = "front"; //[none,left,rear,front,right]
/* [Options and Accessories] */
// top cover pattern
top_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,deltoid,astroid,apollonian]
// bottom cover pattern
bottom_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,deltoid,astroid,apollonian]
bottom_access_panel_enable = false;
access_panel_size = [70,30]; //[10:.01:120]
access_panel_orientation = "landscape"; //[landscape,portrait]
access_panel_location = [10,15]; //[-10:.01:200]
access_panel_rotation = 0; //[0:90:270]
// heatsink opening
cooling = "default"; // [default,none,open,fan_open,fan_1,fan_2,fan_hex,vent,vent_hex_5mm,vent_hex_8mm,custom]
fan_size = 0; // [0,30,40,50,60,70,80,92]
// exhaust vent
exhaust_vent = "none"; // [none,rear,front,right,left]
// gpio opening
gpio_opening = "default"; // [default,none,open,block,knockout,vent]
// uart opening
uart_opening = "default"; // [default,none,open,knockout]
// enable indentations around io openings
indents = true;
/* [Accessories and Options] */
// case accessory group to load
accessory_name = "none"; // ["none", "hk_uart", "sensors", "c4_shell_boombox", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_panel_lcd3.5", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_tray_drivebox2.5", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h3_shell", "h3_tallboy-ssd", "h3_shell_router", "h3_shell_router-ssd", "h3_lowboy", "h3_lowboy_router", "h3_tray_router", "h3_router_station", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "show2_shell", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "rock5b", "visonfive2_shell", "visonfive2_stacked", "visonfive2_tray"]
@@ -270,7 +278,7 @@ pcb_radius = sbc_data[s[0]][11][0];
width = pcb_width+2*(wallthick+gap)+case_offset_x;
depth = pcb_depth+2*(wallthick+gap)+case_offset_y;
top_height = pcb_tmaxz+floorthick+case_offset_tz;
bottom_height = case_design == "tray" ? pcb_z+pcb_bmaxz+floorthick+case_offset_bz+4 : pcb_z+pcb_bmaxz+floorthick+case_offset_bz;
bottom_height = (case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") ? pcb_z+pcb_bmaxz+floorthick+case_offset_bz+4 : pcb_z+pcb_bmaxz+floorthick+case_offset_bz;
case_z = bottom_height+top_height;
case_diameter = sqrt(pow(width-wallthick-gap,2)+pow(depth-wallthick-gap,2));
hex_diameter = sqrt(pow(width+2*(wallthick+gap),2)+pow(depth+2*(wallthick+gap),2));
@@ -337,26 +345,26 @@ if (view == "platter") {
if(case_design == "panel") {
case_bottom(case_design);
translate([0,(2*depth)+5,case_z]) rotate([180,0,0]) case_top(case_design);
translate([width+25,0,-gap]) rotate([-90,0,0]) case_side(case_design,case_style,"rear");
translate([width+25,0,-gap]) rotate([-90,0,0]) case_side(case_design,"rear");
translate([width+25,2*(case_z)+10,-depth+wallthick+gap+floorthick])
rotate([90,0,0]) case_side(case_design,case_style,"front");
rotate([90,0,0]) case_side(case_design,"front");
translate([2.5*width,0,-width+(2*wallthick)+gap]) rotate([0,-90,-90])
case_side(case_design,case_style,"right");
case_side(case_design,"right");
translate([-20,0,-gap]) rotate([0,90,90])
case_side(case_design,case_style,"left");
case_side(case_design,"left");
}
if(case_design == "stacked") {
case_bottom(case_design);
translate([0,(2*depth)+20,case_z]) rotate([180,0,0]) case_top(case_design);
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
case_bottom(case_design);
translate([0,(2*depth)+10,case_z]) rotate([180,0,0]) case_top(case_design);
if(case_style == "vu5" || case_style == "vu7" || case_style == "sides") {
if(case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
translate([3.5*width,0,width]) rotate([0,90,90])
case_side(case_design,case_style,"right");
case_side(case_design,"right");
translate([width+15,0,2*sidethick]) rotate([0,-90,-90])
case_side(case_design,case_style,"left");
case_side(case_design,"left");
}
}
if(case_design == "round") {
@@ -428,10 +436,10 @@ if (view == "platter") {
}
}
}
if(case_design == "paper") {
case_folded(case_design, case_style);
if(case_design == "paper_split-top" || case_design == "paper_full-top") {
case_folded(case_design);
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
echo(Case_Width=width+2*sidethick,Depth=depth,Top=top_height,Bottom=bottom_height);
}
else {
@@ -508,16 +516,16 @@ if (view == "model") {
color("grey",1) translate([0,0,raise_top])case_top(case_design);
}
if(move_front >= 0) {
color("grey",1) translate([0,move_front,0]) case_side(case_design,case_style,"front");
color("grey",1) translate([0,move_front,0]) case_side(case_design,"front");
}
if(move_rear >= 0) {
color("grey",1) translate([0,-move_rear,0]) case_side(case_design,case_style,"rear");
color("grey",1) translate([0,-move_rear,0]) case_side(case_design,"rear");
}
if(move_rightside >= 0) {
color("grey",1) translate([move_rightside,0,0]) case_side(case_design,case_style,"right");
color("grey",1) translate([move_rightside,0,0]) case_side(case_design,"right");
}
if(move_leftside >= 0) {
color("grey",1) translate([-move_leftside,0,0]) case_side(case_design,case_style,"left");
color("grey",1) translate([-move_leftside,0,0]) case_side(case_design,"left");
}
}
if(case_design == "stacked") {
@@ -532,7 +540,7 @@ if (view == "model") {
color("grey",1) translate([0,0,raise_top]) case_top(case_design);
}
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
if(lower_bottom >= 0) {
difference() {
color("dimgrey",1) translate([0,0,-lower_bottom]) case_bottom(case_design);
@@ -579,15 +587,15 @@ if (view == "model") {
}
}
}
if(case_style == "sides" || case_style == "vu5" || case_style == "vu7") {
if(case_design == "tray_sides" || case_design == "tray_vu5" || case_design == "tray_vu7") {
if(move_rightside >= 0) {
color("grey",1) translate([move_rightside,0,0]) case_side(case_design,case_style,"right");
color("grey",1) translate([move_rightside,0,0]) case_side(case_design,"right");
}
if(move_leftside >= 0) {
color("grey",1) translate([-move_leftside,0,0]) case_side(case_design,case_style,"left");
color("grey",1) translate([-move_leftside,0,0]) case_side(case_design,"left");
}
}
if(case_style == "vu5") {
if(case_design == "tray_vu5") {
color("darkgrey",.5) translate([width+((127.5-width)/2)-6.5-wallthick-gap,
depth-1,case_z+15.5]) rotate([-15,0,180])
import(file = "stl/Vu5a_Case.stl");
@@ -605,7 +613,7 @@ if (view == "model") {
color("darkgrey",.5) translate([-((127.5-75)/2)+(width/2)-wallthick-gap-40.5,depth+15,
case_z+12.5]) rotate([-15,0,180]) hk_speaker();
}
if(case_style == "vu7") {
if(case_design == "tray_vu7") {
color("darkgrey",.5) translate([width+((192.90-width)/2)-wallthick-gap-20,
depth-1,case_z+15.5]) rotate([-15,0,180])
import(file = "stl/Vu7a_Case.stl");
@@ -728,11 +736,11 @@ if (view == "model") {
}
}
}
if(case_design == "paper" && flat_blank_section == false) {
case_folded(case_design, case_style);
if((case_design == "paper_split-top" || case_design == "paper_full-top") && flat_blank_section == false) {
case_folded(case_design);
}
if(case_design == "paper" && flat_blank_section == true) {
projection() case_folded(case_design, case_style);
if((case_design == "paper_split-top" || case_design == "paper_full-top") && flat_blank_section == true) {
projection() case_folded(case_design);
}
// create sbc information text
if(sbc_information == true) {
@@ -742,7 +750,7 @@ if (view == "model") {
rotate([90, 0, 0]) text(str(sbc_data[s[0]][1][i]), 5, font = text_font);
}
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
echo(Case_Width=width+2*sidethick,Depth=depth,Top=top_height,Bottom=bottom_height);
}
else {
@@ -762,7 +770,7 @@ if (view == "part") {
if(case_design == "stacked") {
translate([0,depth,case_z]) rotate([180,0,0]) case_top(case_design);
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
translate([0,depth,case_z]) rotate([180,0,0]) case_top(case_design);
}
if(case_design == "round") {
@@ -784,36 +792,31 @@ if (view == "part") {
if(individual_part == "front") {
if(case_design == "panel") {
translate([0,case_z,-depth+wallthick+gap+floorthick])
rotate([90,0,0]) case_side(case_design,case_style,"front");
rotate([90,0,0]) case_side(case_design,"front");
}
}
if(individual_part == "rear") {
if(case_design == "panel") {
translate([0,0,-gap]) rotate([-90,0,0]) case_side(case_design,case_style,"rear");
translate([0,0,-gap]) rotate([-90,0,0]) case_side(case_design,"rear");
}
}
if(individual_part == "right") {
if(case_design == "panel") {
translate([gap,0,-width+(2*wallthick)+gap]) rotate([0,-90,-90])
case_side(case_design,case_style,"right");
}
if(case_design == "tray") {
if(case_style == "vu5" || case_style == "vu7" || case_style == "sides") {
translate([depth,0,width-gap]) rotate([0,90,90])
case_side(case_design,case_style,"right");
case_side(case_design,"right");
}
if(case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
translate([depth,0,width-gap]) rotate([0,90,90]) case_side(case_design,"right");
}
}
if(individual_part == "left") {
if(case_design == "panel") {
translate([depth,0,-gap]) rotate([0,90,90])
case_side(case_design,case_style,"left");
case_side(case_design,"left");
}
if(case_design == "tray") {
if(case_style == "vu5" || case_style == "vu7" || case_style == "sides") {
if(case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
translate([gap,0,2*sidethick+gap]) rotate([0,-90,-90])
case_side(case_design,case_style,"left");
}
case_side(case_design,"left");
}
}
if(individual_part == "accessories") {
@@ -870,7 +873,7 @@ if (view == "part") {
}
}
}
if(case_design == "tray") {
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
echo(width=width+2*sidethick,depth=depth,top=top_height,bottom=bottom_height);
}
else {