From 40e8e6bfff937c99eb07a46a60d1b81d6bd546a3 Mon Sep 17 00:00:00 2001 From: Edward Kisiel Date: Sun, 7 Apr 2024 12:33:56 -0400 Subject: [PATCH] removed case_style and added new case_design names as replacement --- lib/holder.scad | 16 ++--- mod/case_bottom.scad | 6 +- mod/case_folded.scad | 11 ++-- mod/case_side.scad | 14 ++--- mod/case_top.scad | 4 +- sbc_case_builder.json | 67 ++------------------ sbc_case_builder.scad | 141 +++++++++++++++++++++--------------------- 7 files changed, 102 insertions(+), 157 deletions(-) diff --git a/lib/holder.scad b/lib/holder.scad index 54643cf..d8809d5 100644 --- a/lib/holder.scad +++ b/lib/holder.scad @@ -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) diff --git a/mod/case_bottom.scad b/mod/case_bottom.scad index cfa78cf..380dd83 100644 --- a/mod/case_bottom.scad +++ b/mod/case_bottom.scad @@ -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)); diff --git a/mod/case_folded.scad b/mod/case_folded.scad index 4685e12..3e9aa1d 100644 --- a/mod/case_folded.scad +++ b/mod/case_folded.scad @@ -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() { diff --git a/mod/case_side.scad b/mod/case_side.scad index 6653d3c..af16da5 100644 --- a/mod/case_side.scad +++ b/mod/case_side.scad @@ -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") { diff --git a/mod/case_top.scad b/mod/case_top.scad index 1007f29..3776aed 100644 --- a/mod/case_top.scad +++ b/mod/case_top.scad @@ -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], diff --git a/sbc_case_builder.json b/sbc_case_builder.json index a938b24..1c7ce79 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -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", diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index a860050..12f3cc7 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -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"); + case_side(case_design,"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"); - } + 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") { - translate([gap,0,2*sidethick+gap]) rotate([0,-90,-90]) - case_side(case_design,case_style,"left"); - } + 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,"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 {