variable length spacer placement and hd reverse, 180 z rotation, implemented
This commit is contained in:
@@ -39,7 +39,7 @@ module cableholder_spacer(length) {
|
||||
translate([size[0]/2,size[0]/2,0]) rotate([0,0,90]) long_slot(size[0],size[1],size[2]);
|
||||
translate([-length,5,3]) rotate([0,90,0]) cylinder(d=6, h=length+1);
|
||||
}
|
||||
#translate([-length-adj,5,3]) rotate([0,90,0]) cylinder(d=3.2, h=length+size[0]+adj);
|
||||
translate([-length-adj,5,3]) rotate([0,90,0]) cylinder(d=3.2, h=length+size[0]+adj);
|
||||
translate([-1,8,-1]) cube([2,20,9]);
|
||||
translate([5,9.5,-1]) rotate([0,0,90]) long_slot(4.5,11,9);
|
||||
translate([3,20,-1]) rotate([0,0,45]) cube([2,6,9]);
|
||||
|
||||
@@ -148,11 +148,11 @@ module case_side(case_design, side) {
|
||||
cube([sidethick+(2*adj),wallthick,10]);
|
||||
}
|
||||
if(rear_fan == 1 || rear_fan == 2) {
|
||||
translate([-1+(101.6-rear_fan_size)/2,-1,bottom_height+pcb_tmaxz+rear_fan_position])
|
||||
translate([-1+(101.6-rear_fan_size)/2,-1,rear_fan_position])
|
||||
rotate([90,0,0]) fan_mask(rear_fan_size, wallthick+2, rear_cooling);
|
||||
}
|
||||
if(rear_fan == 2) {
|
||||
translate([-1+(101.6-rear_fan_size)/2,-1,bottom_height+pcb_tmaxz+rear_fan_position+3+rear_fan_size])
|
||||
translate([-1+(101.6-rear_fan_size)/2,-1,rear_fan_position+3+rear_fan_size])
|
||||
rotate([90,0,0]) fan_mask(rear_fan_size, wallthick+2, rear_cooling);
|
||||
}
|
||||
}
|
||||
@@ -175,42 +175,80 @@ module case_side(case_design, side) {
|
||||
translate([-sidethick-gap-adj,depth-(4*wallthick),case_z-30])
|
||||
cube([sidethick+(2*adj),wallthick,10]);
|
||||
}
|
||||
// hex vent
|
||||
translate([-gap+3,depth-3*(wallthick)+gap,5])
|
||||
vent_hex(width/3.85,(case_z-6)/6,wallthick+4,5,1.5,"vertical");
|
||||
|
||||
// front cover pattern
|
||||
if(front_cover_pattern != "solid" && case_design == "panel_nas") {
|
||||
if(front_cover_pattern == "hex_5mm") {
|
||||
translate([-gap+4,depth-3*(wallthick)+gap,5])
|
||||
vent_hex(width/3.85,(case_z-6)/6,wallthick+4,5,1.5,"vertical");
|
||||
}
|
||||
if(front_cover_pattern == "hex_8mm") {
|
||||
translate([-gap+5,depth-3*(wallthick)+gap,5])
|
||||
vent_hex(width/5.5,(case_z-6)/9,floorthick+4,8,1.5,"vertical");
|
||||
}
|
||||
// vent(width, length, height, gap, rows, columns, orientation)
|
||||
if(front_cover_pattern == "linear_vertical") {
|
||||
translate([-gap+4,depth-3*(wallthick)+gap,5])
|
||||
vent(wallthick,(case_z-2*(wallthick+gap)-20)/2,floorthick+4,1,2,(width-2*(wallthick+gap+sidethick))/4.2,"vertical");
|
||||
}
|
||||
if(front_cover_pattern == "linear_horizontal") {
|
||||
translate([-gap+4,depth-3*(wallthick)+gap,5])
|
||||
vent(width-2*(wallthick+gap+sidethick)-4,wallthick,floorthick+4,1,(case_z-2*(wallthick+gap)-10)/3,1,"vertical");
|
||||
}
|
||||
if(front_cover_pattern == "astroid") {
|
||||
for(c=[3:12:depth-8]) {
|
||||
for(r=[4:12:width-8]) {
|
||||
translate([r,c,case_z-(2*floorthick)]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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);
|
||||
|
||||
// rear edge top tab openings
|
||||
translate([width-adj-(3*sidethick),-2*wallthick,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]);
|
||||
|
||||
// rear edge bottom tab openings
|
||||
translate([width-adj-(3*sidethick),-2*wallthick,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]);
|
||||
|
||||
// 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),depth-(4*wallthick),case_z-20-tol])
|
||||
cube([sidethick+(2*adj)-adj,3*wallthick,10+tol]);
|
||||
cube([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),depth-(4*wallthick),30-tol])
|
||||
cube([sidethick+(2*adj)-adj,3*wallthick,10+tol]);
|
||||
cube([sidethick+(2*adj),3*wallthick,10+tol]);
|
||||
|
||||
// hd holes for bays
|
||||
for( i=[0:1:hd_bays-1]) {
|
||||
translate([(width-101.6)-(3*sidethick)-gap,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
|
||||
if(hd_reverse == false) {
|
||||
for( i=[0:1:hd_bays-1]) {
|
||||
translate([(width-101.6)-(3*sidethick)-gap,
|
||||
-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
|
||||
hd_holes(3.5, "portrait", "both", 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);
|
||||
}
|
||||
}
|
||||
|
||||
// top edge front tab opening
|
||||
translate([width-(3*sidethick)-adj,depth-(3*wallthick)-gap-adj-30,
|
||||
case_z-(2*floorthick)])
|
||||
@@ -245,31 +283,44 @@ module case_side(case_design, side) {
|
||||
difference() {
|
||||
translate([-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([-sidethick-gap-adj,-2*wallthick,case_z-30])
|
||||
cube([sidethick+2*adj,wallthick+tol,20]);
|
||||
translate([-sidethick-gap-adj,-(4*wallthick),case_z-20-tol])
|
||||
cube([sidethick+(2*adj),2*wallthick,10+tol]);
|
||||
|
||||
// rear edge botom tab openings
|
||||
translate([-sidethick-gap-adj,-2*wallthick,20])
|
||||
cube([sidethick+2*adj,wallthick+tol,20]);
|
||||
translate([-sidethick-gap-adj,-(4*wallthick),30-tol])
|
||||
cube([sidethick+(2*adj),2*wallthick,10+tol]);
|
||||
|
||||
// front edge top tab openings
|
||||
translate([-sidethick-gap-adj,depth-(4*wallthick),case_z-30])
|
||||
cube([sidethick+(2*adj),wallthick,20]);
|
||||
translate([-sidethick-gap-adj,depth-(4*wallthick),case_z-20-tol])
|
||||
cube([sidethick+(2*adj)-adj,3*wallthick,10+tol]);
|
||||
cube([sidethick+(2*adj),3*wallthick,10+tol]);
|
||||
|
||||
// front edge bottom tab openings
|
||||
translate([-sidethick-gap-adj,depth-(4*wallthick),20])
|
||||
cube([sidethick+(2*adj),wallthick,20]);
|
||||
translate([-sidethick-gap-adj,depth-(4*wallthick),30-tol])
|
||||
cube([sidethick+(2*adj)-adj,3*wallthick,10+tol]);
|
||||
cube([sidethick+(2*adj),3*wallthick,10+tol]);
|
||||
|
||||
// hd holes for bays
|
||||
for( i=[0:1:hd_bays-1]) {
|
||||
translate([-gap+adj,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
|
||||
if(hd_reverse == false) {
|
||||
for( i=[0:1:hd_bays-1]) {
|
||||
translate([-gap+adj,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) hd_holes(3.5, "portrait", "both", sidethick+2);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for( i=[0:1:hd_bays-1]) {
|
||||
translate([101.6-gap+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);
|
||||
}
|
||||
}
|
||||
|
||||
// top edge front tab openings
|
||||
|
||||
@@ -9584,7 +9584,7 @@
|
||||
"view": "model",
|
||||
"wallthick": "2"
|
||||
},
|
||||
"m2_panel_nas": {
|
||||
"hc4_panel_nas": {
|
||||
"$fn": "90",
|
||||
"access_panel_location": "[10, 15]",
|
||||
"access_panel_orientation": "landscape",
|
||||
@@ -9623,7 +9623,7 @@
|
||||
"bottom_standoff_type": "countersunk",
|
||||
"case_design": "panel_nas",
|
||||
"case_offset_bz": "0",
|
||||
"case_offset_tz": "0",
|
||||
"case_offset_tz": "-30",
|
||||
"case_offset_x": "0",
|
||||
"case_offset_y": "0",
|
||||
"cooling": "default",
|
||||
@@ -9682,12 +9682,13 @@
|
||||
"fan_size": "0",
|
||||
"flat_blank_section": "false",
|
||||
"floorthick": "2",
|
||||
"front_cover_pattern": "hex_5mm",
|
||||
"gap": "1",
|
||||
"gpio_opening": "default",
|
||||
"hd_bays": "2",
|
||||
"hd_space": "10",
|
||||
"hd_y_position": "25",
|
||||
"hd_z_position": "10",
|
||||
"hd_y_position": "40",
|
||||
"hd_z_position": "55",
|
||||
"indents": "false",
|
||||
"individual_part": "bottom",
|
||||
"lower_bottom": "0",
|
||||
@@ -9746,22 +9747,22 @@
|
||||
"multipcb_top_standoff_support_size": "7",
|
||||
"multipcb_top_standoff_type": "blind",
|
||||
"multipcb_top_standoffs": "false",
|
||||
"nas_sbc_location": "top",
|
||||
"pcb_loc_x": "8",
|
||||
"pcb_loc_y": "1",
|
||||
"nas_sbc_location": "bottom",
|
||||
"pcb_loc_x": "0",
|
||||
"pcb_loc_y": "0",
|
||||
"pcb_loc_z": "0",
|
||||
"raise_top": "0",
|
||||
"rear_cooling": "fan_hex",
|
||||
"rear_fan": "1",
|
||||
"rear_fan_position": "-20",
|
||||
"rear_fan_position": "42",
|
||||
"rear_fan_size": "80",
|
||||
"rear_io_shield": "false",
|
||||
"sbc_bottom_standoffs": "false",
|
||||
"sbc_bottom_standoffs": "true",
|
||||
"sbc_highlight": "false",
|
||||
"sbc_information": "false",
|
||||
"sbc_model": "m2",
|
||||
"sbc_model": "hc4",
|
||||
"sbc_off": "false",
|
||||
"sbc_top_standoffs": "true",
|
||||
"sbc_top_standoffs": "false",
|
||||
"sidethick": "3",
|
||||
"standard_motherboard_thickness": "0",
|
||||
"text_color": "Green",
|
||||
@@ -9792,7 +9793,7 @@
|
||||
"top_standoff_support_height": "4",
|
||||
"top_standoff_support_size": "10",
|
||||
"top_standoff_type": "countersunk",
|
||||
"uart_opening": "default",
|
||||
"uart_opening": "none",
|
||||
"view": "model",
|
||||
"wallthick": "2"
|
||||
},
|
||||
@@ -9837,7 +9838,7 @@
|
||||
"case_offset_bz": "0",
|
||||
"case_offset_tz": "0",
|
||||
"case_offset_x": "0",
|
||||
"case_offset_y": "10",
|
||||
"case_offset_y": "25",
|
||||
"cooling": "fan_hex",
|
||||
"corner_fillet": "3",
|
||||
"edge_fillet": "0",
|
||||
@@ -9894,12 +9895,14 @@
|
||||
"fan_size": "80",
|
||||
"flat_blank_section": "false",
|
||||
"floorthick": "2",
|
||||
"front_cover_pattern": "hex_5mm",
|
||||
"gap": "1",
|
||||
"gpio_opening": "default",
|
||||
"gpio_opening": "none",
|
||||
"hd_bays": "2",
|
||||
"hd_reverse": "true",
|
||||
"hd_space": "10",
|
||||
"hd_y_position": "25",
|
||||
"hd_z_position": "10",
|
||||
"hd_y_position": "16",
|
||||
"hd_z_position": "7",
|
||||
"indents": "false",
|
||||
"individual_part": "bottom",
|
||||
"lower_bottom": "0",
|
||||
@@ -9965,7 +9968,7 @@
|
||||
"raise_top": "0",
|
||||
"rear_cooling": "fan_hex",
|
||||
"rear_fan": "1",
|
||||
"rear_fan_position": "-50",
|
||||
"rear_fan_position": "4",
|
||||
"rear_fan_size": "80",
|
||||
"rear_io_shield": "false",
|
||||
"sbc_bottom_standoffs": "false",
|
||||
@@ -10007,6 +10010,220 @@
|
||||
"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_reverse": "true",
|
||||
"hd_space": "10",
|
||||
"hd_y_position": "16",
|
||||
"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_fan": "2",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fileFormatVersion": "1"
|
||||
|
||||
@@ -88,9 +88,9 @@ case_offset_tz = 0; //[-30:.01:300]
|
||||
case_offset_bz = 0; //[0:.01:300]
|
||||
// case wall thickness
|
||||
wallthick = 2; //[1:.01:5]
|
||||
// case floor thickness
|
||||
// case floor and ceiling thickness
|
||||
floorthick = 2; //[1:.01:5]
|
||||
// side wall thickness for tray_side cases only
|
||||
// side wall thickness for tray_side and panel_nas cases only
|
||||
sidethick = 2; //[1:.01:5]
|
||||
// distance between pcb and case
|
||||
gap = 1; //[.5:.01:5]
|
||||
@@ -104,17 +104,19 @@ tol = .25; //[-.5:.0625:.5]
|
||||
/* [Fan and Vent Openings] */
|
||||
// top cover pattern
|
||||
top_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,linear_vertical,linear_horizontal,astroid]
|
||||
// front cover pattern for nas cases
|
||||
front_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,linear_vertical,linear_horizontal,astroid]
|
||||
// bottom cover pattern
|
||||
bottom_cover_pattern = "solid"; //[solid,hex_5mm,hex_8mm,linear_vertical,linear_horizontal,astroid]
|
||||
// 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
|
||||
rear_fan = 1; // [1,2]
|
||||
rear_fan = 1; // [1:2]
|
||||
// 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_position = 0; // [-50:300]
|
||||
rear_fan_position = 0; // [0:1:300]
|
||||
|
||||
/* [Bottom Access Panel] */
|
||||
bottom_access_panel_enable = false;
|
||||
@@ -132,10 +134,12 @@ uart_opening = "default"; // [default,none,open,knockout]
|
||||
indents = true;
|
||||
// nas sbc location
|
||||
nas_sbc_location = "top"; // ["top","bottom"]
|
||||
// rotate hd 180 degrees in the z-axis
|
||||
hd_reverse = false; // [true, false]
|
||||
// number of nas drive bays
|
||||
hd_bays = 2; // [1:6]
|
||||
hd_y_position = 25; // [1:300]
|
||||
hd_z_position = 40; // [1:300]
|
||||
hd_y_position = 25; // [0:300]
|
||||
hd_z_position = 40; // [0:300]
|
||||
hd_space = 10; // [1:50]
|
||||
|
||||
// case accessory group to load
|
||||
@@ -665,22 +669,51 @@ if (view == "model") {
|
||||
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z])
|
||||
sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, false);
|
||||
}
|
||||
if(sbc_off == false && nas_sbc_location == "top") {
|
||||
if(sbc_off == false && nas_sbc_location == "top") {
|
||||
translate([pcb_loc_x ,pcb_loc_y,case_z-(top_height+pcb_loc_z+(2*floorthick))+.5])
|
||||
sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, false);
|
||||
}
|
||||
for( i=[0:1:hd_bays-1]) {
|
||||
translate([-gap,-(3*wallthick)-gap+hd_y_position,hd_z_position+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) hd35("portrait", [false,0,0,"default"]);
|
||||
if(pcb_width > 100) {
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,28.5-(3*wallthick)-gap+hd_y_position+101.6,hd_z_position+6+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
if(hd_reverse == 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+(width-2*(sidethick+gap)-101.6)-11.4,
|
||||
28.5-(3*wallthick)-gap+hd_y_position+101.6,
|
||||
hd_z_position+6+(hd_space+27.1)*i])
|
||||
cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,-31-(3*wallthick)-gap+hd_y_position+101.6,hd_z_position+6+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,
|
||||
-31-(3*wallthick)-gap+hd_y_position+101.6,
|
||||
hd_z_position+6+(hd_space+27.1)*i])
|
||||
cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,-73-(3*wallthick)-gap+hd_y_position+101.6,hd_z_position+6+(hd_space+27.1)*i])
|
||||
rotate([0,0,0]) cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,
|
||||
-73-(3*wallthick)-gap+hd_y_position+101.6,
|
||||
hd_z_position+6+(hd_space+27.1)*i])
|
||||
cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
}
|
||||
}
|
||||
else {
|
||||
translate([-gap+101.6,-(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+(width-2*(sidethick+gap)-101.6)-11.4,
|
||||
17-(3*wallthick)-gap+hd_y_position+101.6,
|
||||
hd_z_position+6.5+(hd_space+27.1)*i])
|
||||
cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,
|
||||
-25-(3*wallthick)-gap+hd_y_position+101.6,
|
||||
hd_z_position+6.5+(hd_space+27.1)*i])
|
||||
cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
|
||||
translate([101.6-gap+wallthick+(width-2*(sidethick+gap)-101.6)-11.4,
|
||||
-84.5-(3*wallthick)-gap+hd_y_position+101.6,
|
||||
hd_z_position+6.5+(hd_space+27.1)*i])
|
||||
cableholder_spacer((width-2*(sidethick+gap)-101.6)-9.4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user