From 7eab4fe79064357cb3293133510ddcd7ce5e710e Mon Sep 17 00:00:00 2001 From: Edward Kisiel Date: Sat, 4 Nov 2023 15:52:38 -0400 Subject: [PATCH] added rpi5 cases --- SBC_Model_Framework | 2 +- sbc_case_builder.json | 513 +++++++++++++++++++++++++++++++ sbc_case_builder.scad | 4 +- sbc_case_builder_accessories.cfg | 47 ++- sbc_case_builder_library.scad | 32 +- 5 files changed, 584 insertions(+), 14 deletions(-) diff --git a/SBC_Model_Framework b/SBC_Model_Framework index 15b6da9..d3ed72e 160000 --- a/SBC_Model_Framework +++ b/SBC_Model_Framework @@ -1 +1 @@ -Subproject commit 15b6da98a23ef73586e58f474f429c7f7fe33d54 +Subproject commit d3ed72ed6ebc3f3f8a51a86181763aca4858e464 diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 2fb92d7..b0aa32d 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -16532,6 +16532,519 @@ "vu_rotation": "[15, 0, 0]", "wallthick": "2" }, + "rpi5_noheatsink_shell": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_shell", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "shell", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "punchout", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "0", + "sidewall_support": "true", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, + "rpi5_noheatsink_panel": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_panel", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "panel", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "punchout", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "0", + "sidewall_support": "false", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, + "rpi5_noheatsink_stacked": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_stacked", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "stacked", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "none", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "0", + "sidewall_support": "false", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, + "rpi5_noheatsink_tray": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_tray", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "tray", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "4", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "2", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "punchout", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "0", + "sidewall_support": "false", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, + "rpi5_noheatsink_tray_sides": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_tray_sides", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "tray", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "4", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "sides", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "2", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "punchout", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "2", + "sidewall_support": "false", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, + "rpi5_noheatsink_round": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_round", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "0", + "case_design": "round", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "none", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "1", + "sidewall_support": "false", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 20, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "3" + }, + "rpi5_noheatsink_hex": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_hex", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "0", + "case_design": "hex", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "fan", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "none", + "indents": "false", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "1", + "sidewall_support": "false", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 20, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "3" + }, + "rpi5_noheatsink_snap": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_snap", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "snap", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "none", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1", + "gpio_opening": "punchout", + "indents": "true", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "1", + "sidewall_support": "true", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 20, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, + "rpi5_noheatsink_fitted": { + "$fn": "90", + "accessory_highlight": "false", + "accessory_name": "rpi5_noheatsink_fitted", + "adjust": "0.01", + "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "bottom_front_left": "0", + "bottom_front_right": "0", + "bottom_rear_left": "0", + "bottom_rear_right": "0", + "bottom_standoff": "[6.25, 7, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", + "c_fillet": "3.5", + "case_design": "fitted", + "case_ext_standoffs": "false", + "case_ffn": "90", + "case_fn": "360", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "0", + "case_style": "none", + "cooling": "none", + "exhaust_vents": "none", + "fillet": "0", + "floorthick": "2", + "gap": "1", + "gpio_opening": "punchout", + "indents": "true", + "lip": "5", + "lower_bottom": "0", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sata_punchout": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_model": "rpi5_noheatsink", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "1", + "sidewall_support": "true", + "tol": "0.25", + "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "top_front_left": "0", + "top_front_right": "0", + "top_rear_left": "0", + "top_rear_right": "0", + "top_standoff": "[6.25, 20, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", + "view": "model", + "vu_rotation": "[15, 0, 0]", + "wallthick": "2" + }, "rock4b+_shell": { "$fn": "90", "accessory_highlight": "false", diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index 1a2d001..1d1384f 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -89,7 +89,7 @@ case_design = "shell"; // [shell,panel,stacked,tray,round,hex,snap,fitted] // base case style case_style = "none"; // ["none","vu5","vu7","sides"] // single board computer model -sbc_model = "c1+"; // ["c1+", "c2", "c4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2+_noheatsink", "n2l", "n2lq", "m1", "m1_noheatsink", "h2", "h3", "hc4", "show2", "rpizero", "rpizero2w", "rpi1a+", "rpi1b+", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "a64", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "atomicpi", "jetsonnano", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b-v1.42", "rock5bq-v1.42", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-r2", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "licheerv+dock", "visionfive2", "visionfive2q"] +sbc_model = "c1+"; // ["c1+", "c2", "c4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2+_noheatsink", "n2l", "n2lq", "m1", "m1_noheatsink", "h2", "h3", "hc4", "show2", "rpizero", "rpizero2w", "rpi1a+", "rpi1b+", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rpi5_noheatsink", "a64", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "atomicpi", "jetsonnano", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b-v1.42", "rock5bq-v1.42", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-r2", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "licheerv+dock", "visionfive2", "visionfive2q"] // sbc location x axis pcb_loc_x = 0; //[0:.5:300] // sbc location y axis @@ -170,7 +170,7 @@ cooling = "fan"; // [none,vents,fan,custom] exhaust_vents = "vent"; // [none,vent] // case accessory group to load -accessory_name = "none"; // ["none", "c1+_shell_boombox", "c1+_panel_boombox", "c1+_panel_lcd3.5", "c1+_desktop_lcd3.5", "c1+_deskboom_lcd3.5", "c1+_tray_boombox", "c1+_round", "c1+_hex", "c2_shell_boombox", "c2_panel_boombox", "c2_panel_lcd3.5", "c2_desktop_lcd3.5", "c2_deskboom_lcd3.5", "c2_tray_boombox", "c2_round", "c2_hex", "c4_shell_boombox", "c4_panel_lcd3.5", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "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", "n1_round", "n1_hex", "n2l_tray", "n2l_gpio", "n2+_tray_vu7_fan", "m1_panel", "m1_tray", "m1_tray_ssd", "m1_tray_sides", "m1_tray_vu5", "m1_tray_vu7", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h2_shell", "h2_shell_router", "h2_shell_router-ssd", "h2_lowboy", "h2_lowboy_router", "h2_tray", "h2_tray_sides", "h2_tray_router", "h2_router_station", "h2_round", "h2_hex", "h3_shell", "h3_lowboy", "h3_lowboy_router", "h3_tallboy", "h3_tallboy-ssd", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "jetsonnano_round", "jetsonnano_hex", "jetsonnano_snap", "jetsonnano_fitted", "rock64_shell", "rock64_panel", "rock64_stacked", "rock64_tray", "rock64_tray_sides", "rock64_round", "rock64_hex", "rock64_snap", "rock64_fitted", "rockpro64_shell", "rockpro64_panel", "rockpro64_stacked", "rockpro64_tray", "rockpro64_tray_sides", "rockpro64_round", "rockpro64_hex", "rockpro64_snap", "rockpro64_fitted", "quartz64b_stacked_poe_hat", "star64_shell", "show2_shell", "rpi1a+_shell", "rpi1a+_panel", "rpi1a+_stacked", "rpi1a+_tray", "rpi1a+_tray_sides", "rpi1a+_round", "rpi1a+_hex", "rpi1a+_snap", "rpi1a+_fitted", "rpi1b+_shell", "rpi1b+_panel", "rpi1b+_stacked", "rpi1b+_tray", "rpi1b+_tray_sides", "rpi1b+_round", "rpi1b+_hex", "rpi1b+_snap", "rpi1b+_fitted", "rpi3a+_shell", "rpi3a+_panel", "rpi3a+_stacked", "rpi3a+_tray", "rpi3a+_tray_sides", "rpi3a+_round", "rpi3a+_hex", "rpi3a+_snap", "rpi3a+_fitted", "rpi3b_shell", "rpi3b_panel", "rpi3b_stacked", "rpi3b_tray", "rpi3b_tray_sides", "rpi3b_round", "rpi3b_hex", "rpi3b_snap", "rpi3b_fitted", "rpi3b+_shell", "rpi3b+_panel", "rpi3b+_stacked", "rpi3b+_tray", "rpi3b+_tray_sides", "rpi3b+_round", "rpi3b+_hex", "rpi3b+_snap", "rpi3b+_fitted", "rpi4b_shell", "rpi4b_shell_geeekpi_poe_hat", "rpi4b_panel", "rpi4b_stacked", "rpi4b_tray", "rpi4b_tray_sides", "rpi4b_round", "rpi4b_hex", "rpi4b_snap", "rpi4b_fitted", "rock4b+_shell", "rock4b+_panel", "rock4b+_stacked", "rock4b+_tray", "rock4b+_tray_sides", "rock4b+_round", "rock4b+_hex", "rock4b+_snap", "rock4b+_fitted", "rock4c_shell", "rock4c_panel", "rock4c_stacked", "rock4c_tray", "rock4c_tray_sides", "rock4c_round", "rock4c_hex", "rock4c_snap", "rock4c_fitted", "rock4c+_shell", "rock4c+_panel", "rock4c+_stacked", "rock4c+_tray", "rock4c+_tray_sides", "rock4c+_round", "rock4c+_hex", "rock4c+_snap", "rock4c+_fitted", "rock5b", "rock5bq", "rock5bq_tray", "rock5bq_tray_sides", "rock5bq_snap", "rock5bq_fitted", "rock5b-v1.3", "vim1_shell", "vim1_panel", "vim1_stacked", "vim1_tray", "vim1_tray_sides", "vim1_round", "vim1_hex", "vim1_snap", "vim1_fitted", "vim2_shell", "vim2_panel", "vim2_stacked", "vim2_tray", "vim2_tray_sides", "vim2_round", "vim2_hex", "vim2_snap", "vim2_fitted", "vim3l_shell", "vim3l_panel", "vim3l_stacked", "vim3l_tray", "vim3l_tray_sides", "vim3l_round", "vim3l_hex", "vim3l_snap", "vim3l_fitted", "vim3_shell", "vim3_panel", "vim3_stacked", "vim3_tray", "vim3_tray_sides", "vim3_round", "vim3_hex", "vim3_snap", "vim3_fitted", "vim4_shell", "vim4_panel", "vim4_stacked", "vim4_tray", "vim4_tray_sides", "vim4_round", "vim4_hex", "vim4_snap", "vim4_fitted", "tinkerboard_shell", "tinkerboard_panel", "tinkerboard_stacked", "tinkerboard_tray", "tinkerboard_tray_sides", "tinkerboard_round", "tinkerboard_hex", "tinkerboard_snap", "tinkerboard_fitted", "tinkerboard-s_shell", "tinkerboard-s_panel", "tinkerboard-s_stacked", "tinkerboard-s_tray", "tinkerboard-s_tray_sides", "tinkerboard-s_round", "tinkerboard-s_hex", "tinkerboard-s_snap", "tinkerboard-s_fitted", "tinkerboard-2_shell", "tinkerboard-2_panel", "tinkerboard-2_stacked", "tinkerboard-2_tray", "tinkerboard-2_tray_sides", "tinkerboard-2_round", "tinkerboard-2_hex", "tinkerboard-2_snap", "tinkerboard-2_fitted", "tinkerboard-r2_shell", "tinkerboard-r2_panel", "tinkerboard-r2_stacked", "tinkerboard-r2_tray", "tinkerboard-r2_tray_sides", "tinkerboard-r2_round", "tinkerboard-r2_hex", "tinkerboard-r2_snap", "tinkerboard-r2_fitted", "opi5_shell", "opi5_panel", "opi5_stacked", "opi5_tray", "opi5_tray-sides", "opi5_snap", "opi5_fitted", "visonfive2_shell", "visonfive2_panel", "visonfive2_stacked", "visonfive2_tray", "visonfive2_snap", "visonfive2_fitted", "visonfive2q_shell", "visonfive2q_panel", "visonfive2q_stacked", "visonfive2q_tray", "visonfive2q_snap", "visonfive2q_fitted", "hk_uart"] +accessory_name = "none"; // ["none", "hk_uart", "c1+_shell_boombox", "c1+_panel_boombox", "c1+_panel_lcd3.5", "c1+_desktop_lcd3.5", "c1+_deskboom_lcd3.5", "c1+_tray_boombox", "c1+_round", "c1+_hex", "c2_shell_boombox", "c2_panel_boombox", "c2_panel_lcd3.5", "c2_desktop_lcd3.5", "c2_deskboom_lcd3.5", "c2_tray_boombox", "c2_round", "c2_hex", "c4_shell_boombox", "c4_panel_lcd3.5", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "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", "n1_round", "n1_hex", "n2l_tray", "n2l_gpio", "n2+_tray_vu7_fan", "m1_panel", "m1_tray", "m1_tray_ssd", "m1_tray_sides", "m1_tray_vu5", "m1_tray_vu7", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h2_shell", "h2_shell_router", "h2_shell_router-ssd", "h2_lowboy", "h2_lowboy_router", "h2_tray", "h2_tray_sides", "h2_tray_router", "h2_router_station", "h2_round", "h2_hex", "h3_shell", "h3_lowboy", "h3_lowboy_router", "h3_tallboy", "h3_tallboy-ssd", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "jetsonnano_round", "jetsonnano_hex", "jetsonnano_snap", "jetsonnano_fitted", "rock64_shell", "rock64_panel", "rock64_stacked", "rock64_tray", "rock64_tray_sides", "rock64_round", "rock64_hex", "rock64_snap", "rock64_fitted", "rockpro64_shell", "rockpro64_panel", "rockpro64_stacked", "rockpro64_tray", "rockpro64_tray_sides", "rockpro64_round", "rockpro64_hex", "rockpro64_snap", "rockpro64_fitted", "quartz64b_stacked_poe_hat", "star64_shell", "show2_shell", "rpi1a+_shell", "rpi1a+_panel", "rpi1a+_stacked", "rpi1a+_tray", "rpi1a+_tray_sides", "rpi1a+_round", "rpi1a+_hex", "rpi1a+_snap", "rpi1a+_fitted", "rpi1b+_shell", "rpi1b+_panel", "rpi1b+_stacked", "rpi1b+_tray", "rpi1b+_tray_sides", "rpi1b+_round", "rpi1b+_hex", "rpi1b+_snap", "rpi1b+_fitted", "rpi3a+_shell", "rpi3a+_panel", "rpi3a+_stacked", "rpi3a+_tray", "rpi3a+_tray_sides", "rpi3a+_round", "rpi3a+_hex", "rpi3a+_snap", "rpi3a+_fitted", "rpi3b_shell", "rpi3b_panel", "rpi3b_stacked", "rpi3b_tray", "rpi3b_tray_sides", "rpi3b_round", "rpi3b_hex", "rpi3b_snap", "rpi3b_fitted", "rpi3b+_shell", "rpi3b+_panel", "rpi3b+_stacked", "rpi3b+_tray", "rpi3b+_tray_sides", "rpi3b+_round", "rpi3b+_hex", "rpi3b+_snap", "rpi3b+_fitted", "rpi4b_shell", "rpi4b_shell_geeekpi_poe_hat", "rpi4b_panel", "rpi4b_stacked", "rpi4b_tray", "rpi4b_tray_sides", "rpi4b_round", "rpi4b_hex", "rpi4b_snap", "rpi4b_fitted", "rpi5_noheatsink_shell", "rpi5_noheatsink_panel", "rpi5_noheatsink_stacked", "rpi5_noheatsink_tray", "rpi5_noheatsink_tray_sides", "rpi5_noheatsink_round", "rpi5_noheatsink_hex", "rpi5_noheatsink_snap", "rpi5_noheatsink_fitted", "rock4b+_shell", "rock4b+_panel", "rock4b+_stacked", "rock4b+_tray", "rock4b+_tray_sides", "rock4b+_round", "rock4b+_hex", "rock4b+_snap", "rock4b+_fitted", "rock4c_shell", "rock4c_panel", "rock4c_stacked", "rock4c_tray", "rock4c_tray_sides", "rock4c_round", "rock4c_hex", "rock4c_snap", "rock4c_fitted", "rock4c+_shell", "rock4c+_panel", "rock4c+_stacked", "rock4c+_tray", "rock4c+_tray_sides", "rock4c+_round", "rock4c+_hex", "rock4c+_snap", "rock4c+_fitted", "rock5b", "rock5b_shell", "rock5bq", "rock5bq_shell", "rock5bq_tray", "rock5bq_tray_sides", "rock5bq_snap", "rock5bq_fitted", "rock5b-v1.3", "vim1_shell", "vim1_panel", "vim1_stacked", "vim1_tray", "vim1_tray_sides", "vim1_round", "vim1_hex", "vim1_snap", "vim1_fitted", "vim2_shell", "vim2_panel", "vim2_stacked", "vim2_tray", "vim2_tray_sides", "vim2_round", "vim2_hex", "vim2_snap", "vim2_fitted", "vim3l_shell", "vim3l_panel", "vim3l_stacked", "vim3l_tray", "vim3l_tray_sides", "vim3l_round", "vim3l_hex", "vim3l_snap", "vim3l_fitted", "vim3_shell", "vim3_panel", "vim3_stacked", "vim3_tray", "vim3_tray_sides", "vim3_round", "vim3_hex", "vim3_snap", "vim3_fitted", "vim4_shell", "vim4_panel", "vim4_stacked", "vim4_tray", "vim4_tray_sides", "vim4_round", "vim4_hex", "vim4_snap", "vim4_fitted", "tinkerboard_shell", "tinkerboard_panel", "tinkerboard_stacked", "tinkerboard_tray", "tinkerboard_tray_sides", "tinkerboard_round", "tinkerboard_hex", "tinkerboard_snap", "tinkerboard_fitted", "tinkerboard-s_shell", "tinkerboard-s_panel", "tinkerboard-s_stacked", "tinkerboard-s_tray", "tinkerboard-s_tray_sides", "tinkerboard-s_round", "tinkerboard-s_hex", "tinkerboard-s_snap", "tinkerboard-s_fitted", "tinkerboard-2_shell", "tinkerboard-2_panel", "tinkerboard-2_stacked", "tinkerboard-2_tray", "tinkerboard-2_tray_sides", "tinkerboard-2_round", "tinkerboard-2_hex", "tinkerboard-2_snap", "tinkerboard-2_fitted", "tinkerboard-r2_shell", "tinkerboard-r2_panel", "tinkerboard-r2_stacked", "tinkerboard-r2_tray", "tinkerboard-r2_tray_sides", "tinkerboard-r2_round", "tinkerboard-r2_hex", "tinkerboard-r2_snap", "tinkerboard-r2_fitted", "opi5_shell", "opi5_panel", "opi5_stacked", "opi5_tray", "opi5_tray-sides", "opi5_snap", "opi5_fitted", "visonfive2_shell", "visonfive2_panel", "visonfive2_stacked", "visonfive2_tray", "visonfive2_snap", "visonfive2_fitted", "visonfive2q_shell", "visonfive2q_panel", "visonfive2q_stacked", "visonfive2q_tray", "visonfive2q_snap", "visonfive2q_fitted"] a = search([accessory_name],accessory_data); s = search([sbc_model],sbc_data); diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 33251c6..efe6cac 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -51,6 +51,13 @@ accessory_data = [ ["none"], + + // hk uart group + ["hk_uart", + "add2","uart_holder",-25,0,1.9,"bottom",[0,0,0],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart holder + "model","hk_uart",-22.5,23,5,"bottom",[0,0,-90],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart model + "model","uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0, + "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk uart strap // Odroid-C1+ ["c1+_shell_boombox", @@ -1272,6 +1279,37 @@ accessory_data = [ ["rpi4b_fitted", "sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + ["rpi5_noheatsink_shell", + "sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_panel", + "sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_stacked", + "sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_tray", + "sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_tray_sides", + "sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_round", + "suball","rectangle",4.5,-26,5.5,"top",[0,0,0],["case",false,false,false],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening + "suball","rectangle",21.5,-26,4,"top",[0,0,0],["case",false,false,false],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening + "sub","fan",10,10,24.5,"top",[0,0,0],["case",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_hex", + "suball","rectangle",4.5,-20,5.5,"top",[0,0,0],["case",false,false,false],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening + "suball","rectangle",21.5,-26,4,"top",[0,0,0],["case",false,false,false],21,20,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening + "sub","fan",10,10,24.5,"top",[0,0,0],["case",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_snap", + "sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + + ["rpi5_noheatsink_fitted", + "sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening + // Radxa ["rock4b+_shell", "sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening @@ -1884,13 +1922,6 @@ accessory_data = [ "sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle "add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port "model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover - "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover - - // hk uart group - ["hk_uart", - "add2","uart_holder",-25,0,1.9,"bottom",[0,0,0],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart holder - "model","hk_uart",-22.5,23,5,"bottom",[0,0,-90],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart model - "model","uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0, - "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0] // hk uart strap + "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0] // platter access port cover ]; diff --git a/sbc_case_builder_library.scad b/sbc_case_builder_library.scad index ecad6ed..6a9093c 100644 --- a/sbc_case_builder_library.scad +++ b/sbc_case_builder_library.scad @@ -3532,11 +3532,37 @@ 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]); } } - if(type == "momentary_4.5x3.5x2.5_90") { + if(type == "momentary_4.5x3.5x2.5_90" && side == "top" && rotation == 0) { place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) - union() { translate([2.25,0,1.8]) rotate([90,0,0]) cylinder(d=3.5, h=8); - } + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "top" && rotation == 90) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,0,1.8]) rotate([90,0,0]) cylinder(d=3.5, h=8); + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "top" && rotation == 180) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,1,1.8]) rotate([90,0,0]) cylinder(d=3.5, h=8); + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "top" && rotation == 270) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,1,1.8]) rotate([90,0,0]) cylinder(d=3.5, h=8); + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "bottom" && rotation == 0) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,0,3.25]) rotate([90,0,0]) cylinder(d=3.5, h=8); + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "bottom" && rotation == 90) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,1.25,3.25]) rotate([90,0,0]) cylinder(d=3.5, h=8); + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "bottom" && rotation == 180) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,1.25,3.25]) rotate([90,0,0]) cylinder(d=3.5, h=8); + } + if(type == "momentary_4.5x3.5x2.5_90" && side == "bottom"&& rotation == 270) { + place(loc_x,loc_y,loc_z,4.5,3.5,rotation,side) + translate([2.25,0,3.25]) rotate([90,0,0]) cylinder(d=3.5, h=8); } if(type == "momentary_7x3x3_90" && rotation == 0) { place(loc_x,loc_y,loc_z,7,3,rotation,side)