diff --git a/README.md b/README.md index b5fcb5d..0e2f687 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ art, fan_mask, hd_holes, knockout, rectangle, round, slot, sphere, text, vent, v **model type:** -access_cover, adafruit_lcd, dsub, fan, hd25, hd35, hk_boom, hk_boom_speaker, hk_h3_port_extender, hk_hc4_oled, hk35_lcd, hk_m1s_ups, hk_net_card, hk_pwr_button, hk_speaker, hk_uart, hk_vu7c, hk_vu8m, hk_vu8s, hk_wb2, hk_xu4_shifter_shield, stl_model +access_cover, adafruit_lcd, dsub, fan, hd25, hd35, hk_boom, hk_boom_speaker, hk_h3_port_extender, hk_hc4_oled, hk35_lcd, hk_m1s_ups, hk_net_card, hk_pwr_button, hk_speaker, hk_uart, hk_vu7c, hk_vu8m, hk_vu8s, hk_wb2, hk_xu4_shifter_shield, rpi_m2hat, stl_model **platter type:** @@ -1768,6 +1768,31 @@ DESCRIPTION: creates hk odroid-xu5 level shifter shield model. ``` +### rpi_m2hat + +``` + CLASSES: model +DESCRIPTION: adds Raspberry Pi M.2 HAT+ M Key model + MASK: yes + USAGE: "model", "rpi_m2hat", loc_x, loc_y, loc_z, face, rotation[], parametric[], size[], data[], mask[] + + class = "model" + type = "rpi_m2hat" + loc_x = x location placement + loc_y = y location placement + loc_z = z location placement + face = "top", "bottom", "right", "left", "front", "rear" + rotation[] = object rotation + parametric[] = "case", "sbc", "sbc-case_z" + size[] = not used + data[] = not used + mask[0] = true, false + mask[1] = length + mask[2] = set back + mask[3] = mstyle "default" +``` + + ### stl_model ``` diff --git a/SBC_Model_Framework b/SBC_Model_Framework index e8d66f1..2d2c153 160000 --- a/SBC_Model_Framework +++ b/SBC_Model_Framework @@ -1 +1 @@ -Subproject commit e8d66f1ca400e9ba4638d1f8d505a857b4a5baba +Subproject commit 2d2c1537d814506919502b189f29be0e480c35e5 diff --git a/mod/add.scad b/mod/add.scad index 5e7098b..fe57e33 100644 --- a/mod/add.scad +++ b/mod/add.scad @@ -202,6 +202,9 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size, data, mask) { if(type == "hk_xu4_shifter_shield") { translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_xu4_shifter_shield(mask); } + if(type == "rpi_m2hat") { + translate([loc_x,loc_y,loc_z]) rotate(rotation) rpi_m2hat(mask); + } if(type == "stl_model") { translate([loc_x,loc_y,loc_z]) rotate(rotation) stl_model(data[0],data[1]); } diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 8aa961e..2309699 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -6656,6 +6656,159 @@ "uart_opening": "default", "view": "model", "wallthick": "2" + }, + "rpi5_m2hat_shell": { + "$fn": "90", + "access_panel_location": "[10, 15]", + "access_panel_orientation": "landscape", + "access_panel_rotation": "0", + "access_panel_size": "[70, 30]", + "accessory_highlight": "false", + "accessory_name": "rpi5_m2hat", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_panel_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "0", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "front", + "bottom_front_right_adjust": "0", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "front", + "bottom_rear_left_adjust": "0", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "rear", + "bottom_rear_right_adjust": "0", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "rear", + "bottom_sidewall_support": "true", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "false", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_size": "m3", + "bottom_standoff_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "0", + "case_offset_tz": "9", + "case_offset_x": "0", + "case_offset_y": "0", + "cooling": "none", + "corner_fillet": "3", + "edge_fillet": "0", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "false", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m3", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "10", + "ext_bottom_standoff_type": "countersunk", + "ext_bottom_standoffs": "false", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "rear", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "5.75", + "ext_top_standoff_hole_size": "2.75", + "ext_top_standoff_insert": "false", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m3", + "ext_top_standoff_support_height": "4", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "blind", + "ext_top_standoffs": "false", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2", + "gap": "1", + "gpio_opening": "default", + "indents": "true", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "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", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "rpi5", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "2", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "hex_5mm", + "top_front_left_adjust": "-17.65", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "-17.65", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "-17.65", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "-17.65", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "true", + "top_standoff_diameter": "5.75", + "top_standoff_hole_size": "2.75", + "top_standoff_insert": "false", + "top_standoff_insert_dia": "4.2", + "top_standoff_insert_height": "5.1", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_size": "m3", + "top_standoff_support_height": "4", + "top_standoff_support_size": "10", + "top_standoff_type": "countersunk", + "uart_opening": "default", + "view": "model", + "wallthick": "2" } }, "fileFormatVersion": "1" diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index 3279817..63305aa 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -197,7 +197,7 @@ uart_opening = "default"; // [default,none,open,knockout] // enable indentations around io openings indents = true; // case accessory group to load -accessory_name = "none"; // ["none", "hk_uart", "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_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "hc4_tray_drivebox2.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_pizzabox2.5", "m1_fitted_pizzabox3.5", "h3_shell", "h3_shell_router", "h3_lowboy", "h3_lowboy_router", "h3_ultimate", "h3_ultimate2", "show2_shell", "adapter_mini-stx_m1s"] +accessory_name = "none"; // ["none", "hk_uart", "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_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "hc4_tray_drivebox2.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_pizzabox2.5", "m1_fitted_pizzabox3.5", "h3_shell", "h3_shell_router", "h3_lowboy", "h3_lowboy_router", "h3_ultimate", "h3_ultimate2", "show2_shell", "rpi5_m2hat","adapter_mini-stx_m1s"] // sbc information text color text_color = "Green"; // [Green, Black, Dimgrey, White, Yellow, Orange, Red, DarkbBlue] // sbc information text font diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 1de4c57..dee02e3 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -425,6 +425,10 @@ accessory_data = [ "sub","rectangle",.5,8,8.5,"top",[0,0,0],["case",false,false,false],[6,16.5,8],[[.5,.5,.5,.5]],[false,10,2,"default"]], + ["rpi5_m2hat", + "model","rpi_m2hat",0,0,25.65,"top",[0,0,0],["sbc",true,true,true],[0,0,0],[0],[true,20,2,"default"]], + + // Standard Motherboard Cases ["adapter_mini-stx_m1s", "add2","standoff",5,100,0,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[["custom",5.75,5,3.6,10,4,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], diff --git a/sbc_case_builder_library.scad b/sbc_case_builder_library.scad index cf94650..34e9cef 100644 --- a/sbc_case_builder_library.scad +++ b/sbc_case_builder_library.scad @@ -49,5 +49,6 @@ include <./lib/holder.scad>; include <./lib/keyhole.scad>; include <./lib/oem_adafruit.scad>; include <./lib/oem_hk.scad>; +include <./lib/oem_rpi.scad>; include <./lib/standoff.scad>; include <./lib/vent.scad>;