diff --git a/README.md b/README.md index b51012b..af048ee 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ The *3D Case Adjustments* tab makes up the bulk of the possible case adjustments ### Fan and Vent Openings Tab -This tab handles the fan and cooling options for case designs. The *top cover pattern* and *bottom cover pattern* contain several options for the creation of vent patterns that cover the complete top and bottom respectively, including a solid covering. The *cooling* pickbox selects fan and vent openings exclusively for the heatsink associated with the device in SBC Model Framework. +This tab handles the fan and cooling options for case designs. The *top cover pattern*, *bottom cover pattern* and *front cover pattern* contain several options for the creation of vent patterns that cover the complete panel, including a solid covering. The *cooling* pickbox selects fan and vent openings exclusively for the heatsink associated with the device in SBC Model Framework. ``` disable - turns off the heatsink model and mask off - heatsink model is off, mask is on and default will be used @@ -102,7 +102,7 @@ none - heatsink model is on and mask is off. fan and vent pattern selections - open, fan_open, fan_1, fan_2, fan_hex, vent, vent_hex_5mm, vent_hex_8mm custom - uses the file ./SBC_Model_Framework/customfan.dxf ``` -The *fan size* allows the selection of different fan size masks over the default size selected by 0. +The *fan size* allows the selection of different fan size masks over the default size selected by 0. The rear fan entries are for the *panel_nas* case design and allow for the same types of fan adjustments as the heatsink. There is also the choice of one or two rear fans as well as additional adjustments for the position and spacing of them. ### Bottom Access Panel Tab @@ -110,7 +110,7 @@ This tab allows the creation of a bottom access panel and its entries are self e ### Options and Accessories -The entrys in this tab allow for the enablement and selection of different GPIO and UART openings based on their type identifier in SBC_Model_Framework. +The entrys in this tab allow for the enablement and selection of different options and accessories. It includes case indents, GPIO, and UART openings based on their type identifier in SBC_Model_Framework. It also contains hard drive options for the panel_nas case. #### GPIO Selections ``` @@ -130,6 +130,11 @@ mask opening selections - open, knockout The *indent* checkbox enables indents for a select group of components defined in SBC Model Framework. The currently support components are - video-hmdi_a, video-hdmi_micro, video-hdmi_mini, power-pwr5.5_7.5x11.5, power-pwr2.5_5x7.5, usb2-micro, usbc-single_horizontal, audio-jack_3.5. The *accessory name* pickbox uses the unique accessory group name to associate a given accessory set with a case design. Entries are stored in the file sbc_case_builder_accessories.cfg which is covered in detail with the Accessory Subsystem in this document. The remaining two entries select the color and proportional font used with the *sbc information* display when enabled in the *View* tab. +#### NAS HD Options +The *nas sbc location* pickbox allows the positioning of the SBC at the top or bottom of a NAS case. *hd bays* sets the number of drive bays, *hd reverse* checkbox rotates the drives 180 degrees while *hd center* centers the drives in the x-axis. The next entry, *hd space* determines the spacing between drives and *hd y position* and *hd z position* sets the respective axis locations. + +#### Accessory Group Name +The *accessory name* allows the selection of an accessory group to be associated with the current case. These groups are located in the file sbc_case_builder_accessories.cfg and provide a means to add or subtract geometry, models and add items to the print platter. See the *Accessory Subsystem* area below for further details and use. ### Standoff Tabs There are 3 types of standoffs available in the user interface, SBC Standoffs, Extended Case Standoffs and Multi-PCB Standoffs. The SBC standoffs control adjustments for the SBC or pcbid 0 as defined by the entry in SBC Model Framework file ./SBC_Model_Framework/sbc_models.cfg. The Extended Case Standoffs control case corner standoffs when the case exceeds the SBC size by the *SBC Standoff Support Size*. The Multi-PCB standoffs are used for additional PCB in multi-PCB configurations as defined in ./SBC_Model_Framework/sbc_models.cfg e.g. pcbid 1, pcbid 2, etc. All three standoff types have similar controls made up of a global tab and individual Settings tab in the GUI. diff --git a/mod/case_bottom.scad b/mod/case_bottom.scad index d78c4d5..c8eafc2 100644 --- a/mod/case_bottom.scad +++ b/mod/case_bottom.scad @@ -63,16 +63,18 @@ module case_bottom(case_design) { } } if(case_design == "panel_nas") { + x_adj = pcb_width > 100 ? width-2*sidethick : width-2*(gap+sidethick); + xtab_adj = pcb_width > 100 ? width-gap-2*sidethick-adj : width-gap-2*(gap+sidethick)-adj; union() { translate([-gap,-wallthick,0]) - cube([width-2*(gap+sidethick),depth-(2*wallthick),wallthick]); + cube([x_adj,depth-(2*wallthick),floorthick]); translate([-gap-sidethick-(2*adj),depth-(3*wallthick)-gap-adj-20,0]) cube([sidethick+(2*adj),10,floorthick]); - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-20,0]) + translate([xtab_adj,depth-(3*wallthick)-gap-adj-20,0]) cube([sidethick+2*adj,10,floorthick]); translate([-gap-sidethick-(2*adj),40-wallthick-gap+adj,0]) cube([sidethick+2*adj,10,floorthick]); - translate([width-(3*sidethick)-adj,40-wallthick-gap+adj,0]) + translate([xtab_adj,40-wallthick-gap+adj,0]) cube([sidethick+2*adj,10,floorthick]); } } @@ -140,12 +142,14 @@ module case_bottom(case_design) { if(class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front") { if((pcbhole_y >= pcb_depth+case_offset_y-10 && pcbhole_x >= width-10) || (ext_bottom_standoffs == true && ext_bottom_front_right_enable == true)) { - translate([width-wallthick-gap-wallthick-4+adj,wallthick-gap+pcb_depth+case_offset_y-14,floorthick+3.4]) - rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); + translate([width-wallthick-gap-wallthick-4+adj, + wallthick-gap+pcb_depth+case_offset_y-14,floorthick+3.4]) + rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); } else { - translate([width-wallthick-gap-wallthick-4+adj,wallthick+gap+pcb_depth+case_offset_y-8,floorthick+3.4]) - rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); + translate([width-wallthick-gap-wallthick-4+adj, + wallthick+gap+pcb_depth+case_offset_y-8,floorthick+3.4]) + rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); } } } diff --git a/mod/case_side.scad b/mod/case_side.scad index e7dddae..d6f94fd 100644 --- a/mod/case_side.scad +++ b/mod/case_side.scad @@ -129,16 +129,18 @@ module case_side(case_design, side) { } } if(case_design == "panel_nas") { + x_adj = pcb_width > 100 ? width-2*sidethick : width-2*(gap+sidethick); + xtab_adj = pcb_width > 100 ? width-gap-2*sidethick-adj : width-gap-2*(gap+sidethick)-adj; if(side == "rear") { difference() { union() { translate([-gap,-(2*wallthick),0]) - cube([width-2*(gap+sidethick),wallthick,case_z-wallthick]); + cube([x_adj,wallthick,case_z-wallthick]); // bottom right tab - translate([width-(3*sidethick)-adj,-(2*wallthick),20]) + translate([xtab_adj,-(2*wallthick),20]) cube([sidethick+(2*adj),wallthick,10]); // top right tab - translate([width-(3*sidethick)-adj,-(2*wallthick),case_z-30]) + translate([xtab_adj,-(2*wallthick),case_z-30]) cube([sidethick+(2*adj),wallthick,10]); // bottom left tab translate([-sidethick-gap-adj,-(2*wallthick),20]) @@ -148,7 +150,7 @@ module case_side(case_design, side) { cube([sidethick+(2*adj),wallthick,10]); if(hd_bays > 3) { // middle right tab - translate([width-(3*sidethick)-adj,-(2*wallthick),(case_z/2)-5]) + translate([xtab_adj,-(2*wallthick),(case_z/2)-5]) cube([sidethick+(2*adj),wallthick,10]); // middle left tab translate([-sidethick-gap-adj,-(2*wallthick),(case_z/2)-5]) @@ -182,12 +184,12 @@ module case_side(case_design, side) { difference() { union() { translate([-gap,depth-(4*wallthick),floorthick]) - cube([width-2*(gap+sidethick),wallthick,case_z-3*wallthick]); + cube([x_adj,wallthick,case_z-3*wallthick]); // bottom right tab - translate([width-(3*sidethick)-adj,depth-(4*wallthick),20]) + translate([xtab_adj,depth-(4*wallthick),20]) cube([sidethick+(2*adj),wallthick,10]); // top right tab - translate([width-(3*sidethick)-adj,depth-(4*wallthick),case_z-30]) + translate([xtab_adj,depth-(4*wallthick),case_z-30]) cube([sidethick+(2*adj),wallthick,10]); // bottom left tab translate([-sidethick-gap-adj,depth-(4*wallthick),20]) @@ -197,14 +199,13 @@ module case_side(case_design, side) { cube([sidethick+(2*adj),wallthick,10]); if(hd_bays > 3) { // middle right tab - translate([width-(3*sidethick)-adj,depth-(4*wallthick),(case_z/2)-5]) + translate([xtab_adj,depth-(4*wallthick),(case_z/2)-5]) cube([sidethick+(2*adj),wallthick,10]); // middle left tab translate([-sidethick-gap-adj,depth-(4*wallthick),(case_z/2)-5]) cube([sidethick+(2*adj),wallthick,10]); } } - // front cover pattern if(front_cover_pattern != "solid" && case_design == "panel_nas") { if(front_cover_pattern == "hex_5mm" && hd_bays < 6) { @@ -248,89 +249,95 @@ module case_side(case_design, side) { } if(side == "right") { difference() { - translate([width-2*sidethick,-(3*wallthick)-gap,-2*wallthick]) - rotate([0,-90,0]) slab([case_z+(3*wallthick),depth+2*wallthick,sidethick],corner_fillet); + if(case_design == "panel_nas" && pcb_width > 100) { + translate([pcb_width+sidethick+gap+case_offset_x,-(3*wallthick)-gap,-2*wallthick]) + rotate([0,-90,0]) slab([case_z+(3*wallthick),depth+2*wallthick,sidethick],corner_fillet); + } + else { + translate([width-2*sidethick+gap,-(3*wallthick)-gap,-2*wallthick]) + rotate([0,-90,0]) slab([case_z+(3*wallthick),depth+2*wallthick,sidethick],corner_fillet); + } // rear edge top tab openings - translate([width-adj-(3*sidethick),-2*wallthick+adj,case_z-30]) - cube([sidethick+2*adj,wallthick+tol,20]); - translate([width-adj-(3*sidethick),-(4*wallthick),case_z-20-tol]) - cube([sidethick+(2*adj),2*wallthick,10+tol]); + translate([width-3*sidethick+gap-adj,-2*wallthick+adj,case_z-30]) + cube([2*sidethick+2*adj,wallthick+tol,20]); + translate([width-3*sidethick+gap-adj,-(4*wallthick)+2*adj,case_z-20-tol]) + cube([2*sidethick+(2*adj),2*wallthick,10+tol]); // rear edge bottom tab openings - translate([width-adj-(3*sidethick),-2*wallthick+adj,20]) - cube([sidethick+2*adj,wallthick+tol,20]); - translate([width-adj-(3*sidethick),-(4*wallthick),30-tol]) - cube([sidethick+(2*adj),2*wallthick,10+tol]); + translate([width-3*sidethick+gap-adj,-2*wallthick+adj,20]) + cube([2*sidethick+2*adj,wallthick+tol,20]); + translate([width-3*sidethick+gap-adj,-(4*wallthick)+2*adj,30-tol]) + cube([2*sidethick+(2*adj),3*wallthick,10+tol]); // front edge top tab openings - translate([width-(3*sidethick)-adj,depth-(4*wallthick),case_z-30]) - cube([sidethick+(2*adj),wallthick,20]); - translate([width-(3*sidethick)-adj,depth-(4*wallthick),case_z-20-tol]) - cube([sidethick+(2*adj),3*wallthick,10+tol]); + translate([width-3*sidethick+gap-adj,depth-(4*wallthick),case_z-30]) + cube([2*sidethick+(2*adj),wallthick,20]); + translate([width-3*sidethick+gap-adj,depth-(4*wallthick),case_z-20-tol]) + cube([2*sidethick+(2*adj),3*wallthick,10+tol]); // front edge bottom tab openings - translate([width-(3*sidethick)-adj,depth-(4*wallthick),20]) - cube([sidethick+(2*adj),wallthick,20]); - translate([width-(3*sidethick)-adj,depth-(4*wallthick),30-tol]) - cube([sidethick+(2*adj),3*wallthick,10+tol]); + translate([width-3*sidethick+gap-adj,depth-(4*wallthick),20]) + cube([2*sidethick+(2*adj),wallthick,20]); + translate([width-3*sidethick+gap-adj,depth-(4*wallthick),30-tol]) + cube([2*sidethick+(2*adj),3*wallthick,10+tol]); if(hd_bays > 3) { // front edge middle tab openings - translate([width-adj-(3*sidethick),depth-(4*wallthick),(case_z/2)-5]) - cube([sidethick+2*adj,wallthick+tol,20]); - translate([width-adj-(3*sidethick),depth-(4*wallthick),(case_z/2)-5+10]) - cube([sidethick+(2*adj),3*wallthick,10+tol]); + translate([width-3*sidethick+gap-adj,depth-(4*wallthick),(case_z/2)-5]) + cube([2*sidethick+2*adj,wallthick+tol,20]); + translate([width-3*sidethick+gap-adj,depth-(4*wallthick),(case_z/2)-5+10]) + cube([2*sidethick+(2*adj),2*wallthick,10+tol]); // rear edge middle tab openings - translate([width-adj-(3*sidethick),-2*wallthick+adj,(case_z/2)-5]) - cube([sidethick+2*adj,wallthick+tol,20]); - translate([width-adj-(3*sidethick),-(4*wallthick),(case_z/2)-5+10]) - cube([sidethick+(2*adj),2*wallthick,10+tol]); + translate([width-3*sidethick+gap-adj,-2*wallthick+adj,(case_z/2)-5]) + cube([2*sidethick+2*adj,wallthick+tol,20]); + translate([width-3*sidethick+gap-adj,-(4*wallthick),(case_z/2)-5+10]) + cube([2*sidethick+(2*adj),2*wallthick,10+tol]); } // hd holes for bays if(hd_reverse == false) { for( i=[0:1:hd_bays-1]) { - translate([(width-101.6)-(3*sidethick)-gap, + translate([(width-101.6)-(3*sidethick)-gap+adj, -(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i]) - hd_holes(3.5, "portrait", "both", sidethick+2); + hd_holes(3.5, "portrait", "both", 2*sidethick+2); } } else { for( i=[0:1:hd_bays-1]) { translate([width-(3*sidethick)-adj,-(3*wallthick)-gap+hd_y_position+147, hd_z_position+(hd_space+27.1)*i]) - rotate([0,0,180]) hd_holes(3.5, "portrait", "both", sidethick+2); + rotate([0,0,180]) hd_holes(3.5, "portrait", "both", 2*sidethick+2); } } // top edge front tab opening - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30, + translate([width-3*sidethick+gap-adj,depth-(3*wallthick)-gap-adj-30, case_z-(2*floorthick)]) - cube([sidethick+(2*adj),20,floorthick+tol]); - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30-tol, + cube([2*sidethick+(2*adj),20,floorthick+tol]); + translate([width-3*sidethick+gap-adj,depth-(3*wallthick)-gap-adj-30-tol, case_z-(2*floorthick)]) - cube([sidethick+2*adj,10+tol,(3*floorthick)+adj]); + cube([2*sidethick+(2*adj),10+tol,(3*floorthick)+adj]); // top edge rear tab opening - translate([width-(3*sidethick)-adj,40-wallthick-gap+adj, + translate([width-3*sidethick+gap-adj,40-wallthick-gap-adj, case_z-(2*floorthick)]) - cube([sidethick+(2*adj),10,floorthick+tol]); - translate([width-(3*sidethick)-adj,30-wallthick-gap+adj-tol, + cube([2*sidethick+(2*adj),10+adj,floorthick+tol]); + translate([width-3*sidethick+gap-adj,30-wallthick-gap+adj-tol, case_z-(2*floorthick)]) - cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + cube([2*sidethick+(2*adj),10+tol,(3*floorthick)+adj]); // bottom edge front tab opening - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30-tol,-tol]) - cube([sidethick+2*adj,20+tol,floorthick+tol]); - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30-tol,-(3*floorthick)+adj]) - cube([sidethick+2*adj,10+tol,(3*floorthick)+adj]); + translate([width-3*sidethick+gap-adj,depth-(3*wallthick)-gap-adj-30-tol,-tol]) + cube([2*sidethick+2*adj,20+tol,floorthick+tol]); + translate([width-3*sidethick+gap-adj,depth-(3*wallthick)-gap-adj-30-tol,-(3*floorthick)+adj]) + cube([2*sidethick+2*adj,10+tol,(3*floorthick)+adj]); // bottom edge rear tab opening - translate([width-(3*sidethick)-adj,30-wallthick-gap+adj-tol,-tol]) - cube([sidethick+2*adj,20+tol,floorthick+tol]); - translate([width-(3*sidethick)-adj,30-wallthick-gap+adj-tol,-(3*floorthick)+adj]) - cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); + translate([width-3*sidethick+gap-adj,30-wallthick-gap+adj-tol,-tol]) + cube([2*sidethick+2*adj,20+tol,floorthick+tol]); + translate([width-3*sidethick+gap-adj,30-wallthick-gap+adj-tol,-(3*floorthick)+adj]) + cube([2*sidethick+(2*adj),10+tol,(3*floorthick)+adj]); } } @@ -400,9 +407,9 @@ module case_side(case_design, side) { case_z-(2*floorthick)]) cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); // top edge rear tab openings - translate([-gap-sidethick-adj,40-wallthick-gap+adj, + translate([-gap-sidethick-adj,30-wallthick-gap+adj, case_z-(2*floorthick)]) - cube([sidethick+(2*adj),10,floorthick+tol]); + cube([sidethick+(2*adj),20,floorthick+tol]); translate([-gap-sidethick-adj,30-wallthick-gap+adj-tol, case_z-(2*floorthick)]) cube([sidethick+(2*adj),10+tol,(3*floorthick)+adj]); diff --git a/mod/case_top.scad b/mod/case_top.scad index 94aa531..2179459 100644 --- a/mod/case_top.scad +++ b/mod/case_top.scad @@ -71,19 +71,21 @@ module case_top(case_design) { } } if(case_design == "panel_nas") { + x_adj = pcb_width > 100 ? width-2*sidethick : width-2*(gap+sidethick); + xtab_adj = pcb_width > 100 ? width-gap-2*sidethick-adj : width-gap-2*(gap+sidethick)-adj; union() { - translate([-gap,-wallthick,case_z-2*wallthick]) - cube([width-2*(gap+sidethick),depth-(2*wallthick),wallthick]); + translate([-gap,-wallthick,case_z-2*floorthick]) + cube([x_adj,depth-(2*wallthick),floorthick]); translate([-gap-sidethick+(2*adj),depth-(3*wallthick)-gap-adj-20, case_z-2*floorthick]) cube([sidethick+(2*adj),10,floorthick]); - translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-20, + translate([xtab_adj,depth-(3*wallthick)-gap-adj-20, case_z-2*floorthick]) cube([sidethick+2*adj,10,floorthick]); translate([-gap-sidethick+(2*adj),40-wallthick-gap+adj, case_z-2*floorthick]) cube([sidethick+2*adj,10,floorthick]); - translate([width-(3*sidethick)-adj,40-wallthick-gap+adj, + translate([xtab_adj,40-wallthick-gap+adj, case_z-2*floorthick]) cube([sidethick+2*adj,10,floorthick]); } diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 4e43130..2098484 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -2098,6 +2098,223 @@ "view": "model", "wallthick": "2" }, + "hc4_panel_nas": { + "$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": "hc4_panel_nas", + "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": "false", + "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": "panel_nas", + "case_offset_bz": "0", + "case_offset_tz": "-30", + "case_offset_x": "0", + "case_offset_y": "0", + "cooling": "default", + "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": "3", + "front_cover_pattern": "hex_5mm", + "gap": "1", + "gpio_opening": "default", + "hd_bays": "2", + "hd_center": "false", + "hd_reverse": "false", + "hd_space": "10", + "hd_y_position": "40", + "hd_z_position": "55", + "indents": "true", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "multipcb_bottom_front_left_adjust": "0", + "multipcb_bottom_front_left_enable": "true", + "multipcb_bottom_front_left_support": "front", + "multipcb_bottom_front_right_adjust": "0", + "multipcb_bottom_front_right_enable": "true", + "multipcb_bottom_front_right_support": "front", + "multipcb_bottom_rear_left_adjust": "0", + "multipcb_bottom_rear_left_enable": "true", + "multipcb_bottom_rear_left_support": "rear", + "multipcb_bottom_rear_right_adjust": "0", + "multipcb_bottom_rear_right_enable": "true", + "multipcb_bottom_rear_right_support": "rear", + "multipcb_bottom_sidewall_support": "false", + "multipcb_bottom_standoff_diameter": "5.75", + "multipcb_bottom_standoff_hole_size": "3.4", + "multipcb_bottom_standoff_insert": "false", + "multipcb_bottom_standoff_insert_dia": "4.2", + "multipcb_bottom_standoff_insert_height": "5.1", + "multipcb_bottom_standoff_pillar": "hex", + "multipcb_bottom_standoff_reverse": "false", + "multipcb_bottom_standoff_size": "m2.5", + "multipcb_bottom_standoff_support_height": "4", + "multipcb_bottom_standoff_support_size": "7", + "multipcb_bottom_standoff_type": "countersunk", + "multipcb_bottom_standoffs": "false", + "multipcb_top_front_left_adjust": "0", + "multipcb_top_front_left_enable": "true", + "multipcb_top_front_left_support": "front", + "multipcb_top_front_right_adjust": "0", + "multipcb_top_front_right_enable": "true", + "multipcb_top_front_right_support": "front", + "multipcb_top_rear_left_adjust": "0", + "multipcb_top_rear_left_enable": "true", + "multipcb_top_rear_left_support": "rear", + "multipcb_top_rear_right_adjust": "0", + "multipcb_top_rear_right_enable": "true", + "multipcb_top_rear_right_support": "rear", + "multipcb_top_sidewall_support": "false", + "multipcb_top_standoff_diameter": "5.75", + "multipcb_top_standoff_hole_size": "2.75", + "multipcb_top_standoff_insert": "false", + "multipcb_top_standoff_insert_dia": "4.2", + "multipcb_top_standoff_insert_height": "5.1", + "multipcb_top_standoff_pillar": "hex", + "multipcb_top_standoff_reverse": "true", + "multipcb_top_standoff_size": "m2.5", + "multipcb_top_standoff_support_height": "4", + "multipcb_top_standoff_support_size": "7", + "multipcb_top_standoff_type": "blind", + "multipcb_top_standoffs": "false", + "nas_sbc_location": "bottom", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_cooling": "fan_hex", + "rear_dualfan_spacing": "6", + "rear_fan": "1", + "rear_fan_center": "false", + "rear_fan_position": "42", + "rear_fan_size": "80", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "hc4", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "4", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "false", + "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": "none", + "view": "model", + "wallthick": "3" + }, "xu4_keyhole": { "$fn": "90", "access_panel_location": "[10, 15]", @@ -4800,6 +5017,223 @@ "view": "model", "wallthick": "2" }, + "h3_panel_nas": { + "$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": "h3_panel_nas", + "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": "false", + "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": "panel_nas", + "case_offset_bz": "0", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "25", + "cooling": "fan_hex", + "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": "80", + "flat_blank_section": "false", + "floorthick": "3", + "front_cover_pattern": "hex_5mm", + "gap": "1", + "gpio_opening": "none", + "hd_bays": "2", + "hd_center": "false", + "hd_reverse": "true", + "hd_space": "10", + "hd_y_position": "20", + "hd_z_position": "7", + "indents": "false", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "multipcb_bottom_front_left_adjust": "0", + "multipcb_bottom_front_left_enable": "true", + "multipcb_bottom_front_left_support": "front", + "multipcb_bottom_front_right_adjust": "0", + "multipcb_bottom_front_right_enable": "true", + "multipcb_bottom_front_right_support": "front", + "multipcb_bottom_rear_left_adjust": "0", + "multipcb_bottom_rear_left_enable": "true", + "multipcb_bottom_rear_left_support": "rear", + "multipcb_bottom_rear_right_adjust": "0", + "multipcb_bottom_rear_right_enable": "true", + "multipcb_bottom_rear_right_support": "rear", + "multipcb_bottom_sidewall_support": "false", + "multipcb_bottom_standoff_diameter": "5.75", + "multipcb_bottom_standoff_hole_size": "3.4", + "multipcb_bottom_standoff_insert": "false", + "multipcb_bottom_standoff_insert_dia": "4.2", + "multipcb_bottom_standoff_insert_height": "5.1", + "multipcb_bottom_standoff_pillar": "hex", + "multipcb_bottom_standoff_reverse": "false", + "multipcb_bottom_standoff_size": "m2.5", + "multipcb_bottom_standoff_support_height": "4", + "multipcb_bottom_standoff_support_size": "7", + "multipcb_bottom_standoff_type": "countersunk", + "multipcb_bottom_standoffs": "false", + "multipcb_top_front_left_adjust": "0", + "multipcb_top_front_left_enable": "true", + "multipcb_top_front_left_support": "front", + "multipcb_top_front_right_adjust": "0", + "multipcb_top_front_right_enable": "true", + "multipcb_top_front_right_support": "front", + "multipcb_top_rear_left_adjust": "0", + "multipcb_top_rear_left_enable": "true", + "multipcb_top_rear_left_support": "rear", + "multipcb_top_rear_right_adjust": "0", + "multipcb_top_rear_right_enable": "true", + "multipcb_top_rear_right_support": "rear", + "multipcb_top_sidewall_support": "false", + "multipcb_top_standoff_diameter": "5.75", + "multipcb_top_standoff_hole_size": "2.75", + "multipcb_top_standoff_insert": "false", + "multipcb_top_standoff_insert_dia": "4.2", + "multipcb_top_standoff_insert_height": "5.1", + "multipcb_top_standoff_pillar": "hex", + "multipcb_top_standoff_reverse": "true", + "multipcb_top_standoff_size": "m2.5", + "multipcb_top_standoff_support_height": "4", + "multipcb_top_standoff_support_size": "7", + "multipcb_top_standoff_type": "blind", + "multipcb_top_standoffs": "false", + "nas_sbc_location": "top", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_cooling": "fan_hex", + "rear_dualfan_spacing": "6", + "rear_fan": "1", + "rear_fan_center": "false", + "rear_fan_position": "4", + "rear_fan_size": "80", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "false", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "h3+", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "4", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "false", + "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": "25", + "top_standoff_support_size": "10", + "top_standoff_type": "recessed", + "uart_opening": "default", + "view": "model", + "wallthick": "3" + }, "h3_ultimate": { "$fn": "90", "access_panel_location": "[5, 30]", @@ -5106,6 +5540,223 @@ "view": "model", "wallthick": "2.5" }, + "h4_panel_nas": { + "$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": "h4_panel_nas", + "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": "false", + "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": "panel_nas", + "case_offset_bz": "6", + "case_offset_tz": "0", + "case_offset_x": "0", + "case_offset_y": "20", + "cooling": "fan_hex", + "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": "80", + "flat_blank_section": "false", + "floorthick": "3", + "front_cover_pattern": "hex_5mm", + "gap": "1", + "gpio_opening": "none", + "hd_bays": "4", + "hd_center": "true", + "hd_reverse": "true", + "hd_space": "10", + "hd_y_position": "25", + "hd_z_position": "10", + "indents": "false", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "multipcb_bottom_front_left_adjust": "0", + "multipcb_bottom_front_left_enable": "true", + "multipcb_bottom_front_left_support": "front", + "multipcb_bottom_front_right_adjust": "0", + "multipcb_bottom_front_right_enable": "true", + "multipcb_bottom_front_right_support": "front", + "multipcb_bottom_rear_left_adjust": "0", + "multipcb_bottom_rear_left_enable": "true", + "multipcb_bottom_rear_left_support": "rear", + "multipcb_bottom_rear_right_adjust": "0", + "multipcb_bottom_rear_right_enable": "true", + "multipcb_bottom_rear_right_support": "rear", + "multipcb_bottom_sidewall_support": "false", + "multipcb_bottom_standoff_diameter": "5.75", + "multipcb_bottom_standoff_hole_size": "3.4", + "multipcb_bottom_standoff_insert": "false", + "multipcb_bottom_standoff_insert_dia": "4.2", + "multipcb_bottom_standoff_insert_height": "5.1", + "multipcb_bottom_standoff_pillar": "hex", + "multipcb_bottom_standoff_reverse": "false", + "multipcb_bottom_standoff_size": "m2.5", + "multipcb_bottom_standoff_support_height": "4", + "multipcb_bottom_standoff_support_size": "7", + "multipcb_bottom_standoff_type": "countersunk", + "multipcb_bottom_standoffs": "false", + "multipcb_top_front_left_adjust": "0", + "multipcb_top_front_left_enable": "true", + "multipcb_top_front_left_support": "front", + "multipcb_top_front_right_adjust": "0", + "multipcb_top_front_right_enable": "true", + "multipcb_top_front_right_support": "front", + "multipcb_top_rear_left_adjust": "0", + "multipcb_top_rear_left_enable": "true", + "multipcb_top_rear_left_support": "rear", + "multipcb_top_rear_right_adjust": "0", + "multipcb_top_rear_right_enable": "true", + "multipcb_top_rear_right_support": "rear", + "multipcb_top_sidewall_support": "false", + "multipcb_top_standoff_diameter": "5.75", + "multipcb_top_standoff_hole_size": "2.75", + "multipcb_top_standoff_insert": "false", + "multipcb_top_standoff_insert_dia": "4.2", + "multipcb_top_standoff_insert_height": "5.1", + "multipcb_top_standoff_pillar": "hex", + "multipcb_top_standoff_reverse": "true", + "multipcb_top_standoff_size": "m2.5", + "multipcb_top_standoff_support_height": "4", + "multipcb_top_standoff_support_size": "7", + "multipcb_top_standoff_type": "blind", + "multipcb_top_standoffs": "false", + "nas_sbc_location": "top", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_cooling": "fan_hex", + "rear_dualfan_spacing": "4", + "rear_fan": "2", + "rear_fan_center": "true", + "rear_fan_position": "4", + "rear_fan_size": "80", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "false", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "h4+", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "4", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "false", + "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": "10", + "top_standoff_support_size": "10", + "top_standoff_type": "recessed", + "uart_opening": "default", + "view": "model", + "wallthick": "3" + }, "show2_shell": { "$fn": "90", "access_panel_location": "[10, 15]", @@ -6182,6 +6833,223 @@ "view": "model", "wallthick": "2" }, + "rpi5_panel_nas": { + "$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": "false", + "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": "panel_nas", + "case_offset_bz": "0", + "case_offset_tz": "-25", + "case_offset_x": "0", + "case_offset_y": "0", + "cooling": "default", + "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": "3", + "front_cover_pattern": "hex_5mm", + "gap": "1", + "gpio_opening": "default", + "hd_bays": "2", + "hd_center": "false", + "hd_reverse": "false", + "hd_space": "10", + "hd_y_position": "50", + "hd_z_position": "45", + "indents": "false", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "multipcb_bottom_front_left_adjust": "0", + "multipcb_bottom_front_left_enable": "true", + "multipcb_bottom_front_left_support": "front", + "multipcb_bottom_front_right_adjust": "0", + "multipcb_bottom_front_right_enable": "true", + "multipcb_bottom_front_right_support": "front", + "multipcb_bottom_rear_left_adjust": "0", + "multipcb_bottom_rear_left_enable": "true", + "multipcb_bottom_rear_left_support": "rear", + "multipcb_bottom_rear_right_adjust": "0", + "multipcb_bottom_rear_right_enable": "true", + "multipcb_bottom_rear_right_support": "rear", + "multipcb_bottom_sidewall_support": "false", + "multipcb_bottom_standoff_diameter": "5.75", + "multipcb_bottom_standoff_hole_size": "3.4", + "multipcb_bottom_standoff_insert": "false", + "multipcb_bottom_standoff_insert_dia": "4.2", + "multipcb_bottom_standoff_insert_height": "5.1", + "multipcb_bottom_standoff_pillar": "hex", + "multipcb_bottom_standoff_reverse": "false", + "multipcb_bottom_standoff_size": "m2.5", + "multipcb_bottom_standoff_support_height": "4", + "multipcb_bottom_standoff_support_size": "7", + "multipcb_bottom_standoff_type": "countersunk", + "multipcb_bottom_standoffs": "false", + "multipcb_top_front_left_adjust": "0", + "multipcb_top_front_left_enable": "true", + "multipcb_top_front_left_support": "front", + "multipcb_top_front_right_adjust": "0", + "multipcb_top_front_right_enable": "true", + "multipcb_top_front_right_support": "front", + "multipcb_top_rear_left_adjust": "0", + "multipcb_top_rear_left_enable": "true", + "multipcb_top_rear_left_support": "rear", + "multipcb_top_rear_right_adjust": "0", + "multipcb_top_rear_right_enable": "true", + "multipcb_top_rear_right_support": "rear", + "multipcb_top_sidewall_support": "false", + "multipcb_top_standoff_diameter": "5.75", + "multipcb_top_standoff_hole_size": "2.75", + "multipcb_top_standoff_insert": "false", + "multipcb_top_standoff_insert_dia": "4.2", + "multipcb_top_standoff_insert_height": "5.1", + "multipcb_top_standoff_pillar": "hex", + "multipcb_top_standoff_reverse": "true", + "multipcb_top_standoff_size": "m2.5", + "multipcb_top_standoff_support_height": "4", + "multipcb_top_standoff_support_size": "7", + "multipcb_top_standoff_type": "blind", + "multipcb_top_standoffs": "false", + "nas_sbc_location": "bottom", + "pcb_loc_x": "13", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "rear_cooling": "fan_hex", + "rear_dualfan_spacing": "6", + "rear_fan": "1", + "rear_fan_center": "false", + "rear_fan_position": "33", + "rear_fan_size": "80", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "rpi5", + "sbc_off": "false", + "sbc_top_standoffs": "false", + "sidethick": "4", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "false", + "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": "none", + "view": "model", + "wallthick": "3" + }, "rock5b_shell": { "$fn": "90", "access_panel_location": "[10, 0]", @@ -9583,874 +10451,6 @@ "uart_opening": "default", "view": "model", "wallthick": "2" - }, - "hc4_panel_nas": { - "$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": "none", - "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": "false", - "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": "panel_nas", - "case_offset_bz": "0", - "case_offset_tz": "-30", - "case_offset_x": "0", - "case_offset_y": "0", - "cooling": "default", - "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", - "front_cover_pattern": "hex_5mm", - "gap": "1", - "gpio_opening": "default", - "hd_bays": "2", - "hd_center": "false", - "hd_reverse": "false", - "hd_space": "10", - "hd_y_position": "40", - "hd_z_position": "55", - "indents": "false", - "individual_part": "bottom", - "lower_bottom": "0", - "material_thickness": "0.5", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "multipcb_bottom_front_left_adjust": "0", - "multipcb_bottom_front_left_enable": "true", - "multipcb_bottom_front_left_support": "front", - "multipcb_bottom_front_right_adjust": "0", - "multipcb_bottom_front_right_enable": "true", - "multipcb_bottom_front_right_support": "front", - "multipcb_bottom_rear_left_adjust": "0", - "multipcb_bottom_rear_left_enable": "true", - "multipcb_bottom_rear_left_support": "rear", - "multipcb_bottom_rear_right_adjust": "0", - "multipcb_bottom_rear_right_enable": "true", - "multipcb_bottom_rear_right_support": "rear", - "multipcb_bottom_sidewall_support": "false", - "multipcb_bottom_standoff_diameter": "5.75", - "multipcb_bottom_standoff_hole_size": "3.4", - "multipcb_bottom_standoff_insert": "false", - "multipcb_bottom_standoff_insert_dia": "4.2", - "multipcb_bottom_standoff_insert_height": "5.1", - "multipcb_bottom_standoff_pillar": "hex", - "multipcb_bottom_standoff_reverse": "false", - "multipcb_bottom_standoff_size": "m2.5", - "multipcb_bottom_standoff_support_height": "4", - "multipcb_bottom_standoff_support_size": "7", - "multipcb_bottom_standoff_type": "countersunk", - "multipcb_bottom_standoffs": "false", - "multipcb_top_front_left_adjust": "0", - "multipcb_top_front_left_enable": "true", - "multipcb_top_front_left_support": "front", - "multipcb_top_front_right_adjust": "0", - "multipcb_top_front_right_enable": "true", - "multipcb_top_front_right_support": "front", - "multipcb_top_rear_left_adjust": "0", - "multipcb_top_rear_left_enable": "true", - "multipcb_top_rear_left_support": "rear", - "multipcb_top_rear_right_adjust": "0", - "multipcb_top_rear_right_enable": "true", - "multipcb_top_rear_right_support": "rear", - "multipcb_top_sidewall_support": "false", - "multipcb_top_standoff_diameter": "5.75", - "multipcb_top_standoff_hole_size": "2.75", - "multipcb_top_standoff_insert": "false", - "multipcb_top_standoff_insert_dia": "4.2", - "multipcb_top_standoff_insert_height": "5.1", - "multipcb_top_standoff_pillar": "hex", - "multipcb_top_standoff_reverse": "true", - "multipcb_top_standoff_size": "m2.5", - "multipcb_top_standoff_support_height": "4", - "multipcb_top_standoff_support_size": "7", - "multipcb_top_standoff_type": "blind", - "multipcb_top_standoffs": "false", - "nas_sbc_location": "bottom", - "pcb_loc_x": "0", - "pcb_loc_y": "0", - "pcb_loc_z": "0", - "raise_top": "0", - "rear_cooling": "fan_hex", - "rear_dualfan_spacing": "6", - "rear_fan": "1", - "rear_fan_center": "false", - "rear_fan_position": "42", - "rear_fan_size": "80", - "rear_io_shield": "false", - "sbc_bottom_standoffs": "true", - "sbc_highlight": "false", - "sbc_information": "false", - "sbc_model": "hc4", - "sbc_off": "false", - "sbc_top_standoffs": "false", - "sidethick": "3", - "standard_motherboard_thickness": "0", - "text_color": "Green", - "text_font": "Nimbus Mono PS", - "tol": "0.25", - "top_cover_pattern": "solid", - "top_front_left_adjust": "0", - "top_front_left_enable": "true", - "top_front_left_support": "front", - "top_front_right_adjust": "0", - "top_front_right_enable": "true", - "top_front_right_support": "front", - "top_rear_left_adjust": "0", - "top_rear_left_enable": "true", - "top_rear_left_support": "rear", - "top_rear_right_adjust": "0", - "top_rear_right_enable": "true", - "top_rear_right_support": "rear", - "top_sidewall_support": "false", - "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": "none", - "view": "model", - "wallthick": "2" - }, - "h3_panel_nas": { - "$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": "none", - "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": "false", - "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": "panel_nas", - "case_offset_bz": "0", - "case_offset_tz": "0", - "case_offset_x": "0", - "case_offset_y": "25", - "cooling": "fan_hex", - "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": "80", - "flat_blank_section": "false", - "floorthick": "2", - "front_cover_pattern": "hex_5mm", - "gap": "1", - "gpio_opening": "none", - "hd_bays": "2", - "hd_center": "false", - "hd_reverse": "true", - "hd_space": "10", - "hd_y_position": "20", - "hd_z_position": "7", - "indents": "false", - "individual_part": "bottom", - "lower_bottom": "0", - "material_thickness": "0.5", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "multipcb_bottom_front_left_adjust": "0", - "multipcb_bottom_front_left_enable": "true", - "multipcb_bottom_front_left_support": "front", - "multipcb_bottom_front_right_adjust": "0", - "multipcb_bottom_front_right_enable": "true", - "multipcb_bottom_front_right_support": "front", - "multipcb_bottom_rear_left_adjust": "0", - "multipcb_bottom_rear_left_enable": "true", - "multipcb_bottom_rear_left_support": "rear", - "multipcb_bottom_rear_right_adjust": "0", - "multipcb_bottom_rear_right_enable": "true", - "multipcb_bottom_rear_right_support": "rear", - "multipcb_bottom_sidewall_support": "false", - "multipcb_bottom_standoff_diameter": "5.75", - "multipcb_bottom_standoff_hole_size": "3.4", - "multipcb_bottom_standoff_insert": "false", - "multipcb_bottom_standoff_insert_dia": "4.2", - "multipcb_bottom_standoff_insert_height": "5.1", - "multipcb_bottom_standoff_pillar": "hex", - "multipcb_bottom_standoff_reverse": "false", - "multipcb_bottom_standoff_size": "m2.5", - "multipcb_bottom_standoff_support_height": "4", - "multipcb_bottom_standoff_support_size": "7", - "multipcb_bottom_standoff_type": "countersunk", - "multipcb_bottom_standoffs": "false", - "multipcb_top_front_left_adjust": "0", - "multipcb_top_front_left_enable": "true", - "multipcb_top_front_left_support": "front", - "multipcb_top_front_right_adjust": "0", - "multipcb_top_front_right_enable": "true", - "multipcb_top_front_right_support": "front", - "multipcb_top_rear_left_adjust": "0", - "multipcb_top_rear_left_enable": "true", - "multipcb_top_rear_left_support": "rear", - "multipcb_top_rear_right_adjust": "0", - "multipcb_top_rear_right_enable": "true", - "multipcb_top_rear_right_support": "rear", - "multipcb_top_sidewall_support": "false", - "multipcb_top_standoff_diameter": "5.75", - "multipcb_top_standoff_hole_size": "2.75", - "multipcb_top_standoff_insert": "false", - "multipcb_top_standoff_insert_dia": "4.2", - "multipcb_top_standoff_insert_height": "5.1", - "multipcb_top_standoff_pillar": "hex", - "multipcb_top_standoff_reverse": "true", - "multipcb_top_standoff_size": "m2.5", - "multipcb_top_standoff_support_height": "4", - "multipcb_top_standoff_support_size": "7", - "multipcb_top_standoff_type": "blind", - "multipcb_top_standoffs": "false", - "nas_sbc_location": "top", - "pcb_loc_x": "0", - "pcb_loc_y": "0", - "pcb_loc_z": "0", - "raise_top": "0", - "rear_cooling": "fan_hex", - "rear_dualfan_spacing": "6", - "rear_fan": "1", - "rear_fan_center": "false", - "rear_fan_position": "4", - "rear_fan_size": "80", - "rear_io_shield": "false", - "sbc_bottom_standoffs": "false", - "sbc_highlight": "false", - "sbc_information": "false", - "sbc_model": "h3+", - "sbc_off": "false", - "sbc_top_standoffs": "true", - "sidethick": "3", - "standard_motherboard_thickness": "0", - "text_color": "Green", - "text_font": "Nimbus Mono PS", - "tol": "0.25", - "top_cover_pattern": "solid", - "top_front_left_adjust": "0", - "top_front_left_enable": "true", - "top_front_left_support": "front", - "top_front_right_adjust": "0", - "top_front_right_enable": "true", - "top_front_right_support": "front", - "top_rear_left_adjust": "0", - "top_rear_left_enable": "true", - "top_rear_left_support": "rear", - "top_rear_right_adjust": "0", - "top_rear_right_enable": "true", - "top_rear_right_support": "rear", - "top_sidewall_support": "false", - "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": "25", - "top_standoff_support_size": "10", - "top_standoff_type": "recessed", - "uart_opening": "default", - "view": "model", - "wallthick": "2" - }, - "h4_panel_nas": { - "$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": "none", - "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": "false", - "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": "panel_nas", - "case_offset_bz": "6", - "case_offset_tz": "0", - "case_offset_x": "0", - "case_offset_y": "20", - "cooling": "fan_hex", - "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": "80", - "flat_blank_section": "false", - "floorthick": "2", - "front_cover_pattern": "hex_5mm", - "gap": "1", - "gpio_opening": "none", - "hd_bays": "4", - "hd_center": "true", - "hd_reverse": "true", - "hd_space": "10", - "hd_y_position": "25", - "hd_z_position": "10", - "indents": "false", - "individual_part": "bottom", - "lower_bottom": "0", - "material_thickness": "0.5", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "multipcb_bottom_front_left_adjust": "0", - "multipcb_bottom_front_left_enable": "true", - "multipcb_bottom_front_left_support": "front", - "multipcb_bottom_front_right_adjust": "0", - "multipcb_bottom_front_right_enable": "true", - "multipcb_bottom_front_right_support": "front", - "multipcb_bottom_rear_left_adjust": "0", - "multipcb_bottom_rear_left_enable": "true", - "multipcb_bottom_rear_left_support": "rear", - "multipcb_bottom_rear_right_adjust": "0", - "multipcb_bottom_rear_right_enable": "true", - "multipcb_bottom_rear_right_support": "rear", - "multipcb_bottom_sidewall_support": "false", - "multipcb_bottom_standoff_diameter": "5.75", - "multipcb_bottom_standoff_hole_size": "3.4", - "multipcb_bottom_standoff_insert": "false", - "multipcb_bottom_standoff_insert_dia": "4.2", - "multipcb_bottom_standoff_insert_height": "5.1", - "multipcb_bottom_standoff_pillar": "hex", - "multipcb_bottom_standoff_reverse": "false", - "multipcb_bottom_standoff_size": "m2.5", - "multipcb_bottom_standoff_support_height": "4", - "multipcb_bottom_standoff_support_size": "7", - "multipcb_bottom_standoff_type": "countersunk", - "multipcb_bottom_standoffs": "false", - "multipcb_top_front_left_adjust": "0", - "multipcb_top_front_left_enable": "true", - "multipcb_top_front_left_support": "front", - "multipcb_top_front_right_adjust": "0", - "multipcb_top_front_right_enable": "true", - "multipcb_top_front_right_support": "front", - "multipcb_top_rear_left_adjust": "0", - "multipcb_top_rear_left_enable": "true", - "multipcb_top_rear_left_support": "rear", - "multipcb_top_rear_right_adjust": "0", - "multipcb_top_rear_right_enable": "true", - "multipcb_top_rear_right_support": "rear", - "multipcb_top_sidewall_support": "false", - "multipcb_top_standoff_diameter": "5.75", - "multipcb_top_standoff_hole_size": "2.75", - "multipcb_top_standoff_insert": "false", - "multipcb_top_standoff_insert_dia": "4.2", - "multipcb_top_standoff_insert_height": "5.1", - "multipcb_top_standoff_pillar": "hex", - "multipcb_top_standoff_reverse": "true", - "multipcb_top_standoff_size": "m2.5", - "multipcb_top_standoff_support_height": "4", - "multipcb_top_standoff_support_size": "7", - "multipcb_top_standoff_type": "blind", - "multipcb_top_standoffs": "false", - "nas_sbc_location": "top", - "pcb_loc_x": "0", - "pcb_loc_y": "0", - "pcb_loc_z": "0", - "raise_top": "0", - "rear_cooling": "fan_hex", - "rear_dualfan_spacing": "4", - "rear_fan": "2", - "rear_fan_center": "true", - "rear_fan_position": "4", - "rear_fan_size": "80", - "rear_io_shield": "false", - "sbc_bottom_standoffs": "false", - "sbc_highlight": "false", - "sbc_information": "false", - "sbc_model": "h4+", - "sbc_off": "false", - "sbc_top_standoffs": "true", - "sidethick": "3", - "standard_motherboard_thickness": "0", - "text_color": "Green", - "text_font": "Nimbus Mono PS", - "tol": "0.25", - "top_cover_pattern": "solid", - "top_front_left_adjust": "0", - "top_front_left_enable": "true", - "top_front_left_support": "front", - "top_front_right_adjust": "0", - "top_front_right_enable": "true", - "top_front_right_support": "front", - "top_rear_left_adjust": "0", - "top_rear_left_enable": "true", - "top_rear_left_support": "rear", - "top_rear_right_adjust": "0", - "top_rear_right_enable": "true", - "top_rear_right_support": "rear", - "top_sidewall_support": "false", - "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": "10", - "top_standoff_support_size": "10", - "top_standoff_type": "recessed", - "uart_opening": "default", - "view": "model", - "wallthick": "2" - }, - "rpi5_panel_nas": { - "$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": "false", - "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": "panel_nas", - "case_offset_bz": "0", - "case_offset_tz": "-25", - "case_offset_x": "0", - "case_offset_y": "0", - "cooling": "default", - "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", - "front_cover_pattern": "hex_5mm", - "gap": "1", - "gpio_opening": "default", - "hd_bays": "2", - "hd_center": "false", - "hd_reverse": "false", - "hd_space": "10", - "hd_y_position": "50", - "hd_z_position": "45", - "indents": "false", - "individual_part": "bottom", - "lower_bottom": "0", - "material_thickness": "0.5", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "multipcb_bottom_front_left_adjust": "0", - "multipcb_bottom_front_left_enable": "true", - "multipcb_bottom_front_left_support": "front", - "multipcb_bottom_front_right_adjust": "0", - "multipcb_bottom_front_right_enable": "true", - "multipcb_bottom_front_right_support": "front", - "multipcb_bottom_rear_left_adjust": "0", - "multipcb_bottom_rear_left_enable": "true", - "multipcb_bottom_rear_left_support": "rear", - "multipcb_bottom_rear_right_adjust": "0", - "multipcb_bottom_rear_right_enable": "true", - "multipcb_bottom_rear_right_support": "rear", - "multipcb_bottom_sidewall_support": "false", - "multipcb_bottom_standoff_diameter": "5.75", - "multipcb_bottom_standoff_hole_size": "3.4", - "multipcb_bottom_standoff_insert": "false", - "multipcb_bottom_standoff_insert_dia": "4.2", - "multipcb_bottom_standoff_insert_height": "5.1", - "multipcb_bottom_standoff_pillar": "hex", - "multipcb_bottom_standoff_reverse": "false", - "multipcb_bottom_standoff_size": "m2.5", - "multipcb_bottom_standoff_support_height": "4", - "multipcb_bottom_standoff_support_size": "7", - "multipcb_bottom_standoff_type": "countersunk", - "multipcb_bottom_standoffs": "false", - "multipcb_top_front_left_adjust": "0", - "multipcb_top_front_left_enable": "true", - "multipcb_top_front_left_support": "front", - "multipcb_top_front_right_adjust": "0", - "multipcb_top_front_right_enable": "true", - "multipcb_top_front_right_support": "front", - "multipcb_top_rear_left_adjust": "0", - "multipcb_top_rear_left_enable": "true", - "multipcb_top_rear_left_support": "rear", - "multipcb_top_rear_right_adjust": "0", - "multipcb_top_rear_right_enable": "true", - "multipcb_top_rear_right_support": "rear", - "multipcb_top_sidewall_support": "false", - "multipcb_top_standoff_diameter": "5.75", - "multipcb_top_standoff_hole_size": "2.75", - "multipcb_top_standoff_insert": "false", - "multipcb_top_standoff_insert_dia": "4.2", - "multipcb_top_standoff_insert_height": "5.1", - "multipcb_top_standoff_pillar": "hex", - "multipcb_top_standoff_reverse": "true", - "multipcb_top_standoff_size": "m2.5", - "multipcb_top_standoff_support_height": "4", - "multipcb_top_standoff_support_size": "7", - "multipcb_top_standoff_type": "blind", - "multipcb_top_standoffs": "false", - "nas_sbc_location": "bottom", - "pcb_loc_x": "13", - "pcb_loc_y": "0", - "pcb_loc_z": "0", - "raise_top": "0", - "rear_cooling": "fan_hex", - "rear_dualfan_spacing": "6", - "rear_fan": "1", - "rear_fan_center": "false", - "rear_fan_position": "33", - "rear_fan_size": "80", - "rear_io_shield": "false", - "sbc_bottom_standoffs": "true", - "sbc_highlight": "false", - "sbc_information": "false", - "sbc_model": "rpi5", - "sbc_off": "false", - "sbc_top_standoffs": "false", - "sidethick": "3", - "standard_motherboard_thickness": "0", - "text_color": "Green", - "text_font": "Nimbus Mono PS", - "tol": "0.25", - "top_cover_pattern": "solid", - "top_front_left_adjust": "0", - "top_front_left_enable": "true", - "top_front_left_support": "front", - "top_front_right_adjust": "0", - "top_front_right_enable": "true", - "top_front_right_support": "front", - "top_rear_left_adjust": "0", - "top_rear_left_enable": "true", - "top_rear_left_support": "rear", - "top_rear_right_adjust": "0", - "top_rear_right_enable": "true", - "top_rear_right_support": "rear", - "top_sidewall_support": "false", - "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": "none", - "view": "model", - "wallthick": "2" } }, "fileFormatVersion": "1" diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index df91604..bf42770 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -87,13 +87,13 @@ case_offset_tz = 0; //[-30:.01:300] // additional z axis case bottom size case_offset_bz = 0; //[0:.01:300] // case wall thickness -wallthick = 2; //[1:.01:5] +wallthick = 2; //[1:.25:5] // case floor and ceiling thickness -floorthick = 2; //[1:.01:5] +floorthick = 2; //[1:.25:5] // side wall thickness for tray_side and panel_nas cases only -sidethick = 2; //[1:.01:5] +sidethick = 2; //[1:.25:5] // distance between pcb and case -gap = 1; //[.5:.01:5] +gap = 1; //[.5:.25:5] // corner fillets corner_fillet = 3; //[0:.5:9] // edge fillets @@ -111,14 +111,16 @@ bottom_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,linear_vertical,linear_ // 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,25,30,40,50,60,70,80,92] -// rear fan number for nas cases +// number of rear fans for nas cases rear_fan = 1; // [1:2] // rear fan x-axis center rear_fan_center = false; // [true,false] // rear fan opening rear_cooling = "fan_hex"; // [fan_open,fan_1,fan_2,fan_hex,custom] rear_fan_size = 80; // [0,25,30,40,50,60,70,80,92] +// rear fan z-axis position rear_fan_position = 0; // [0:1:300] +// space between dual rear fans rear_dualfan_spacing = 6; // [0:1:50] /* [Bottom Access Panel] */ @@ -137,18 +139,19 @@ uart_opening = "default"; // [default,none,open,knockout] indents = true; // nas sbc location nas_sbc_location = "top"; // ["top","bottom"] +// number of nas drive bays +hd_bays = 2; // [1:6] // rotate hd 180 degrees in the z-axis hd_reverse = false; // [true, false] // center hd in the x-axis hd_center = false; // [true, false] -// number of nas drive bays -hd_bays = 2; // [1:6] +// distance between drives +hd_space = 10; // [1:50] hd_y_position = 25; // [0:300] hd_z_position = 40; // [0:300] -hd_space = 10; // [1:50] // case accessory group to load -accessory_name = "none"; // ["none", "hk_uart", "nas", "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_shifter_shield", "xu4_keyhole", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "hc4_tray_drivebox2.5", "m2_shell", "m2_eyespi_eink1.54", "m2_eyespi_lcd2.8", "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", "rock5b", "adapter_mini-stx_m1s", "cs_solarmeter", "n2l_env_sensors", "avr_env_sensors", "adafruit_solar_charger"] +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_shifter_shield", "xu4_keyhole", "hc4_panel_nas", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "hc4_tray_drivebox2.5", "m2_shell", "m2_eyespi_eink1.54", "m2_eyespi_lcd2.8", "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_panel_nas", "h3_ultimate", "h3_ultimate2", "h4_panel_nas", "show2_shell", "rpi5_m2hat", "rock5b", "adapter_mini-stx_m1s", "nas", "cs_solarmeter", "n2l_env_sensors", "avr_env_sensors", "adafruit_solar_charger"] // sbc information text color text_color = "Green"; // [Green, Black, Dimgrey, White, Yellow, Orange, Red, DarkbBlue] // sbc information text font @@ -377,14 +380,17 @@ pcb_color = sbc_data[s[0]][11][1]; pcb_radius = sbc_data[s[0]][11][0]; pcb_z = sbc_model == "ssi-eeb" || sbc_model == "ssi-ceb" || sbc_model == "atx" || sbc_model == "micro-atx" || sbc_model == "dtx" || sbc_model == "flex-atx" || sbc_model == "mini-dtx" || sbc_model == "mini-itx" || sbc_model == "mini-itx_thin" || sbc_model == "mini-stx" || sbc_model == "mini-stx_thin" || sbc_model == "nano-itx" || sbc_model == "nuc" || sbc_model == "pico-itx" ? pcb_z_orig + standard_motherboard_thickness : pcb_z_orig; -width = case_design == "panel_nas" && pcb_width <= 100 ? pcb_width+(2*(sidethick+gap))+case_offset_x+(101.6-pcb_width) : case_design == "panel_nas" && pcb_width > 100 ? pcb_width+(2*(sidethick+gap))+case_offset_x+(3*gap) : pcb_width+(2*(wallthick+gap))+case_offset_x; +width = case_design == "panel_nas" && pcb_width <= 100 ? pcb_width+2*(sidethick+gap)+case_offset_x+(101.6-pcb_width) : case_design == "panel_nas" && pcb_width > 100 ? pcb_width+2*(sidethick+gap)+case_offset_x : pcb_width+(2*(wallthick+gap))+case_offset_x; depth = case_design == "panel_nas" ? pcb_depth+2*(wallthick+gap)+case_offset_y + 147-pcb_depth+hd_y_position : pcb_depth+2*(wallthick+gap)+case_offset_y; top_height = pcb_tmaxz+floorthick+case_offset_tz+pcb_loc_z; 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 = case_design == "panel_nas" ? bottom_height+top_height+hd_z_position+(hd_bays * (hd_space + 26.1)) : 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)); -hd_spacer = case_design == "panel_nas" ? (width-2*(sidethick+gap)-101.6) : 0; +//hd_spacer = case_design == "panel_nas" && pcb_width > 100 ? (pcb_width+case_offset_x+2*gap)-101.6 : +// case_design == "panel_nas" && pcb_width <= 100 ? (width-2*(sidethick+gap)-101.6) : 0; +hd_spacer = case_design == "panel_nas" && pcb_width > 100 ? (pcb_width+case_offset_x+2*gap)-101.6 : + case_design == "panel_nas" && pcb_width <= 100 ? (width-2*(sidethick+gap)-101.6) : 0; /* [Hidden] */ top_standoff = [top_standoff_size, @@ -486,12 +492,12 @@ if (view == "platter") { 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,"front"); - translate([2.5*width,0,-width+(2*wallthick)+gap]) rotate([0,-90,-90]) + translate([2.5*width,0,-width+(3*sidethick)+gap]) rotate([0,-90,-90]) case_side(case_design,"right"); translate([-20,0,-gap]) rotate([0,90,90]) case_side(case_design,"left"); // nas hd spacers - if(case_design == "panel_nas" && pcb_width > 100) { + if(case_design == "panel_nas" && (pcb_width > 100 || width > 101.6)) { if(hd_center == false) { translate([0,-35,0]) rotate([270,0,0]) cableholder_spacer(hd_spacer-9.4); } @@ -693,18 +699,18 @@ if (view == "model") { if(hd_center == false) { translate([-gap,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i]) hd35("portrait", [false,0,0,"default"]); - if(pcb_width > 100) { - translate([101.6-gap+wallthick+hd_spacer-11.4, + if(pcb_width > 100 || width > 101.6) { + translate([101.6-gap+hd_spacer-9.4, 28.5-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -31-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -73-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer-9.4); @@ -714,64 +720,79 @@ if (view == "model") { translate([-gap+hd_spacer/2, -(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i]) hd35("portrait", [false,0,0,"default"]); - if(pcb_width > 100) { - translate([101.6-gap+wallthick+hd_spacer-11.4, + if(pcb_width > 100 || width > 101.6) { + // right side spacers + translate([101.6-gap+hd_spacer-9.4, 28.5-(3*wallthick)-gap+hd_y_position+101.6, - hd_z_position+6+(hd_space+27.1)*i]) - cableholder_spacer(hd_spacer-9.4); + hd_z_position+6.5+(hd_space+27.1)*i]) + cableholder_spacer(hd_spacer/2-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -31-(3*wallthick)-gap+hd_y_position+101.6, - hd_z_position+6+(hd_space+27.1)*i]) - cableholder_spacer(hd_spacer-9.4); + hd_z_position+6.5+(hd_space+27.1)*i]) + cableholder_spacer(hd_spacer/2-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -73-(3*wallthick)-gap+hd_y_position+101.6, - hd_z_position+6+(hd_space+27.1)*i]) - cableholder_spacer(hd_spacer-9.4); + hd_z_position+6.5+(hd_space+27.1)*i]) + cableholder_spacer(hd_spacer/2-9.4); + // left side spacers + translate([-(hd_spacer/2-9.4)-gap+hd_spacer/2, + 28.5-(3*wallthick)-gap+hd_y_position+101.6, + hd_z_position+6.5+(hd_space+27.1)*i]) rotate([0,0,180]) + cableholder_spacer(hd_spacer/2-9.4); + + translate([-(hd_spacer/2-9.4)-gap+hd_spacer/2, + -31-(3*wallthick)-gap+hd_y_position+101.6, + hd_z_position+6.5+(hd_space+27.1)*i]) rotate([0,0,180]) + cableholder_spacer(hd_spacer/2-9.4); + + translate([-(hd_spacer/2-9.4)-gap+hd_spacer/2, + -73-(3*wallthick)-gap+hd_y_position+101.6, + hd_z_position+6.5+(hd_space+27.1)*i]) rotate([0,0,180]) + cableholder_spacer(hd_spacer/2-9.4); } } } - else { + if(hd_reverse == true) { if(hd_center == false) { - translate([-gap+101.6,-(3*wallthick)-gap+hd_y_position+147, + translate([101.6-gap,-(3*wallthick)-gap+hd_y_position+147, hd_z_position+(hd_space+27.1)*i]) rotate([0,0,180]) hd35("portrait", [false,0,0,"default"]); - if(pcb_width > 100) { - translate([101.6-gap+wallthick+hd_spacer-11.4, + if(pcb_width > 100 || width > 101.6) { + translate([101.6-gap+hd_spacer-9.4, 17-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6.5+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -25-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6.5+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer-9.4); - - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -84.5-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6.5+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer-9.4); } } if(hd_center == true) { - translate([-gap+101.6+hd_spacer/2, + translate([101.6-gap+hd_spacer/2, -(3*wallthick)-gap+hd_y_position+147, hd_z_position+(hd_space+27.1)*i]) rotate([0,0,180]) hd35("portrait", [false,0,0,"default"]); - if(pcb_width > 100) { + if(pcb_width > 100 || width > 101.6) { // right side spacers - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, 17-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6.5+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer/2-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -25-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6.5+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer/2-9.4); - translate([101.6-gap+wallthick+hd_spacer-11.4, + translate([101.6-gap+hd_spacer-9.4, -84.5-(3*wallthick)-gap+hd_y_position+101.6, hd_z_position+6.5+(hd_space+27.1)*i]) cableholder_spacer(hd_spacer/2-9.4); @@ -794,28 +815,30 @@ if (view == "model") { } } } - fan_model = rear_fan_size == 92 ? "box92x10" : rear_fan_size == 80 ? "box80x10" : rear_fan_size == 60 ? "box60x10" : "box40x10"; - if(rear_fan == 1 || rear_fan == 2) { - if(rear_fan_center == false) { - translate([-1+(101.6-rear_fan_size)/2,10-wallthick,rear_fan_position]) - rotate([90,0,0]) fans(fan_model,[false,0,0,"default"]); - } - if(rear_fan_center == true) { - translate([-1+(101.6-rear_fan_size)/2+(width-2*(sidethick+gap)-101.6)/2, - 10-wallthick,rear_fan_position]) rotate([90,0,0]) - fans(fan_model,[false,0,0,"default"]); - } - } - if(rear_fan == 2) { - if(rear_fan_center == false) { - translate([-1+(101.6-rear_fan_size)/2,10-wallthick, - rear_fan_position+rear_dualfan_spacing+rear_fan_size]) + if(move_rear >= 0) { + fan_model = rear_fan_size == 92 ? "box92x10" : rear_fan_size == 80 ? "box80x10" : rear_fan_size == 60 ? "box60x10" : "box40x10"; + if(rear_fan == 1 || rear_fan == 2) { + if(rear_fan_center == false) { + translate([-1+(101.6-rear_fan_size)/2,10-wallthick,rear_fan_position]) rotate([90,0,0]) fans(fan_model,[false,0,0,"default"]); + } + if(rear_fan_center == true) { + translate([-1+(101.6-rear_fan_size)/2+(width-2*(sidethick+gap)-101.6)/2, + 10-wallthick,rear_fan_position]) rotate([90,0,0]) + fans(fan_model,[false,0,0,"default"]); + } } - if(rear_fan_center == true) { - translate([-1+(101.6-rear_fan_size)/2+(width-2*(sidethick+gap)-101.6)/2, - 10-wallthick,rear_fan_position+rear_dualfan_spacing+rear_fan_size]) - rotate([90,0,0]) fans(fan_model,[false,0,0,"default"]); + if(rear_fan == 2) { + if(rear_fan_center == false) { + translate([-1+(101.6-rear_fan_size)/2,10-wallthick, + rear_fan_position+rear_dualfan_spacing+rear_fan_size]) + rotate([90,0,0]) fans(fan_model,[false,0,0,"default"]); + } + if(rear_fan_center == true) { + translate([-1+(101.6-rear_fan_size)/2+(width-2*(sidethick+gap)-101.6)/2, + 10-wallthick,rear_fan_position+rear_dualfan_spacing+rear_fan_size]) + rotate([90,0,0]) fans(fan_model,[false,0,0,"default"]); + } } } } @@ -1129,7 +1152,7 @@ if (view == "part") { } if(individual_part == "accessories") { // nas hd spacers - if(case_design == "panel_nas" && pcb_width > 100) { + if(case_design == "panel_nas" && (pcb_width > 100 || width > 101.6)) { rotate([270,0,0]) cableholder_spacer(hd_spacer-9.4); } // ui access panel @@ -1191,7 +1214,7 @@ if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu } else { if(case_design == "panel_nas") { - echo(width=width+(101.6-width+(2*sidethick)),depth=depth,top=top_height,bottom=bottom_height, height=case_z+(3*wallthick)); + echo(width=width+hd_spacer,depth=depth,top=top_height,bottom=bottom_height, height=case_z+(3*wallthick)); echo(drive_spacer=hd_spacer); } else { diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 94f88cc..f733bcb 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -190,6 +190,10 @@ accessory_data = [ "add1","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[7,3.2,6,2]],[true,10,2,"default"]], // Odroid-HC4 + ["hc4_panel_nas", + "add2","hk_hc4_oled_holder",35,178,2.99,"bottom",[0,0,0],["case",true,true,false],[0,0,2],[0],[true,10,2,"default"], + "model","hk_hc4_oled",35,178,2.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[0],[true,10,2,"default"]], + ["hc4_shell_drivebox2.5", "add2","hk_hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"], "model","hk_hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"], @@ -407,6 +411,9 @@ accessory_data = [ "platter","button_assembly",-20,0,0,"top",[0,0,0],["case",false,false,false],[10,0,11],["recess"],[false,10,2,"default"], "platter","button_assembly",-30,0,0,"top",[0,0,0],["case",false,false,false],[10,0,11],["recess"],[false,10,2,"default"]], + ["h3_panel_nas", + "model","hk_pwr_button",20,175,133.45,"top",[0,0,0],["sbc-case_z",true,true,true],[0,0,0],[0],[true,10,2,"default"]], + ["h3_ultimate", "sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], "sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], @@ -459,6 +466,10 @@ accessory_data = [ "model","hk_pwr_button",18,113,55.25,"top",[0,0,180],["case",false,false,true],[0,0,0],[0],[true,10,2,"default"], "model","dsub",18,-1,46,"top",[90,90,0],["case",false,false,false],[0,0,0],["db9","female"],[true,10,2,"default"]], + // Odroid-H4 + ["h4_panel_nas", + "model","hk_pwr_button",20,175,206,"top",[0,0,0],["sbc-case_z",true,true,true],[0,0,0],[0],[true,10,2,"default"]], + ["show2_shell", "model","hk_wb2",6.25,24.675,16,"bottom",[0,0,180],["sbc",true,true,true],[0,0,0],[0],[false,10,2,"default"], "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"]],