add grommet() and panel_clamp() to accessory library, readme.md updated, work on removable bay sbc positioning.
This commit is contained in:
116
README.md
116
README.md
@@ -56,14 +56,15 @@ NOTE: The submodule *SBC Model Framework* needs to be updated anytime SBC Case B
|
|||||||
- Paper, Folded - complete
|
- Paper, Folded - complete
|
||||||
- Standard MB SBC Adapters & io plates - completed
|
- Standard MB SBC Adapters & io plates - completed
|
||||||
+ SSI-EEB, SSI-CEB, ATX, Micro-ATX, DTX, Flex-ATX, Mini-DTX, Mini-Itx, Mini-ITX Thin, Mini-STX, Mini-STX Thin
|
+ SSI-EEB, SSI-CEB, ATX, Micro-ATX, DTX, Flex-ATX, Mini-DTX, Mini-Itx, Mini-ITX Thin, Mini-STX, Mini-STX Thin
|
||||||
- Standard MB Cases - completed
|
- Standard MB Cases - complete
|
||||||
+ SSI-EEB, SSI-CEB, ATX, Micro-ATX, DTX, Flex-ATX, Mini-DTX, Mini-ITX, Mini-ITX Thin, Mini-STX, Mini-STX Thin, Nano-ITX, NUC, Pico-ITX
|
+ SSI-EEB, SSI-CEB, ATX, Micro-ATX, DTX, Flex-ATX, Mini-DTX, Mini-ITX, Mini-ITX Thin, Mini-STX, Mini-STX Thin, Nano-ITX, NUC, Pico-ITX
|
||||||
- Sheet Metal, Folded
|
- NAS - panel_nas complete
|
||||||
|
- Rack - 1U and 2U complete
|
||||||
|
- Stacked Levels
|
||||||
- Sliding
|
- Sliding
|
||||||
- Cylinder
|
- Cylinder
|
||||||
- Free Form
|
- Free Form
|
||||||
- NAS
|
- Sheet Metal, Folded
|
||||||
- Rack
|
|
||||||
- CNC Cases
|
- CNC Cases
|
||||||
|
|
||||||
All case data is stored in the json file sbc_case_builder.json with the accessory data stored in a separate file structure in sbc_case_builder_accessories.cfg. An accessory group name for a given case is stored as part of the case data in the json file. This allows for the reuse or sharing of an accessory set by different cases and can be used to manage groups of accessories.
|
All case data is stored in the json file sbc_case_builder.json with the accessory data stored in a separate file structure in sbc_case_builder_accessories.cfg. An accessory group name for a given case is stored as part of the case data in the json file. This allows for the reuse or sharing of an accessory set by different cases and can be used to manage groups of accessories.
|
||||||
@@ -88,6 +89,10 @@ This tab exclusively deals with folded cases. At this time the bend allowance e
|
|||||||
Both standard motherboard adapters and cases can be generated with SBC Case Builder and this tab controls the specific settings. Since it is not possible to know the motherboard thickness it is set to 2mm and the *standard motherboard thickness* setting is used to add or subtract thickness for an accurate representation of the user provided PCB. The *rear io shield* setting is only used when generating full cases and is not needed when generating adapters and io shields. Most of the adjustments in the *3D Case Adjustments* tab also work for motherboard adapters which allows for the SBC or other device to be repositioned on the adapter while providing the full use of the accessory subsystem. Any accessory entries in the sbc_case_builder_accessories.cfg file should reference the bottom face. The *bottom cover pattern* in the *Fan and Vent Openings* tab and the *SBC Bottom Standoff* tabs also apply to motherboard adapters. There are predefined example cases and adapters available in the GUI for further reference.
|
Both standard motherboard adapters and cases can be generated with SBC Case Builder and this tab controls the specific settings. Since it is not possible to know the motherboard thickness it is set to 2mm and the *standard motherboard thickness* setting is used to add or subtract thickness for an accurate representation of the user provided PCB. The *rear io shield* setting is only used when generating full cases and is not needed when generating adapters and io shields. Most of the adjustments in the *3D Case Adjustments* tab also work for motherboard adapters which allows for the SBC or other device to be repositioned on the adapter while providing the full use of the accessory subsystem. Any accessory entries in the sbc_case_builder_accessories.cfg file should reference the bottom face. The *bottom cover pattern* in the *Fan and Vent Openings* tab and the *SBC Bottom Standoff* tabs also apply to motherboard adapters. There are predefined example cases and adapters available in the GUI for further reference.
|
||||||
|
|
||||||
|
|
||||||
|
### Rack Mount Case Adjustments Tab
|
||||||
|
Both 1U and 2U, 10" and 19", rack cases are configured in this tab. The first entry *rack width* selects if 10" or 19" rack cases are being created. The *rack size* sets wether 1U or 2U. The remaining tab is divided into six groups of settings each representing a virtual bay. Each bay group specifies the SBC thru the pickbox *Rack Bay1* respectively. With *rack bay1 xyz loc* and *rack bay1 rotation determining the position and z-axis rotation. The type of bay is set in the *rack bay1 face* pickbox followed by two checkboxes for the internal dividing wall, rear fan and a bay conduit selection pickbox.
|
||||||
|
|
||||||
|
|
||||||
### 3D Case Adjustments Tab
|
### 3D Case Adjustments Tab
|
||||||
The *3D Case Adjustments* tab makes up the bulk of the possible case adjustments for 3D printed cases. Most of the entries in this tab are self explanatory. The *pcb loc* adjustments allow the selected device model to be moved in the case design, the *case offset* adjustments increase the selected case design dimensions. The *wallthick*, *floorthick* and *sidethick* adjust their respective areas. Do note that the *floorthick* adjustment also determines the ceiling thickness for all case designs and the *sidethick* only affects the tray_sides, tray_vu5, tray_vu7 case designs. The *gap* entry is the distance between the device PCB and the sidewall of the case design. The *tol* adjustment, located at the bottom of the tab, is a tolerance fitment adjustment for the snap, fitted, round and hex case design tops. Adjust accordingly if the tops are too tight or loose.
|
The *3D Case Adjustments* tab makes up the bulk of the possible case adjustments for 3D printed cases. Most of the entries in this tab are self explanatory. The *pcb loc* adjustments allow the selected device model to be moved in the case design, the *case offset* adjustments increase the selected case design dimensions. The *wallthick*, *floorthick* and *sidethick* adjust their respective areas. Do note that the *floorthick* adjustment also determines the ceiling thickness for all case designs and the *sidethick* only affects the tray_sides, tray_vu5, tray_vu7 case designs. The *gap* entry is the distance between the device PCB and the sidewall of the case design. The *tol* adjustment, located at the bottom of the tab, is a tolerance fitment adjustment for the snap, fitted, round and hex case design tops. Adjust accordingly if the tops are too tight or loose.
|
||||||
|
|
||||||
@@ -214,12 +219,12 @@ Multi-associative parametric positioning of accessories is implemented and allow
|
|||||||
|
|
||||||
### classes: add1, sub, suball, add2, model, platter
|
### classes: add1, sub, suball, add2, model, platter
|
||||||
|
|
||||||
Class *add1* and *add2* are used to add geometry to the case. The difference is when the addition occurs. *add1* happens at the beginning when the core case geometry is created before any subtractions and *add2* happens at the end after all subtractions have occurred. *suball* is used to affect all faces of a case, not just a single face. The “face” is the case piece that will be effected by the addition or subtraction. The *model* class is for placing supporting accessories in the model view. e.g. hard drives, fans. The *platter* class is for adding supporting accessories, that are not part of the core case geometry, to the print platter for printing e.g. an access panel cover.
|
Class *add1* and *add2* are used to add geometry to the case. The difference is when the addition occurs. *add1* happens at the beginning when the core case geometry is created before any subtractions and *add2* happens at the end after all subtractions have occurred. *suball* is used to affect all faces of a case, not just a single face. The “face” is the case piece that will be effected by the addition or subtraction. The *model* class is for placing supporting accessories in the model view. e.g. hard drives, fans. The *platter* class is for adding supporting accessories, that are not part of the core case geometry, to the print platter for printing e.g. a fan cover or access panel cover.
|
||||||
|
|
||||||
|
|
||||||
**additive type:**
|
**additive type:**
|
||||||
|
|
||||||
art, access_panel, batt_holder, button, button_assembly, fan_cover, feet, hd_holder, hk_boom_grill, hk_boom_speaker_holder, hk_boom_vring, hk_h3_port_extender_holder, hk_hc4_oled_holder, hk_uart_holder, hk_uart_strap, keyhole, nut_holder, pcb_holder, rectangle, round, slot, sphere, standoff, text, vent_panel_hex, uart_holder, hc4_oled_holder, button, pcb_holder
|
art, access_panel, batt_holder, button, button_assembly, fan_cover, feet, grommet, hd_holder, hk_boom_grill, hk_boom_speaker_holder, hk_boom_vring, hk_h3_port_extender_holder, hk_hc4_oled_holder, hk_uart_holder, hk_uart_strap, keyhole, nut_holder, panel_clamp, pcb_holder, rectangle, round, slot, sphere, standoff, text, vent_panel_hex, uart_holder, hc4_oled_holder, button, pcb_holder
|
||||||
|
|
||||||
|
|
||||||
**subtractive type:**
|
**subtractive type:**
|
||||||
@@ -234,7 +239,7 @@ access_cover, adafruit_lcd, dsub, fan, hd25, hd35, hk_boom, hk_boom_speaker, hk_
|
|||||||
|
|
||||||
**platter type:**
|
**platter type:**
|
||||||
|
|
||||||
access_cover, button_assembly, fan_cover, feet, hk_boom_vring, hk_h3_port_extender_holder, hk_uart_strap, vent_panel_hex
|
access_cover, button_assembly, fan_cover, feet, grommet, hk_boom_vring, hk_h3_port_extender_holder, hk_uart_strap, vent_panel_hex
|
||||||
|
|
||||||
|
|
||||||
## Accessory Reference Manual
|
## Accessory Reference Manual
|
||||||
@@ -459,6 +464,35 @@ DESCRIPTION: creates case feet.
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### grommet
|
||||||
|
|
||||||
|
```
|
||||||
|
CLASSES: add1, add2, platter
|
||||||
|
DESCRIPTION: creates different groumet styles.
|
||||||
|
MASK: yes
|
||||||
|
USAGE: "class", "grommet", loc_x, loc_y, loc_z, face, rotation[], parametric[], size[], data[], mask[]
|
||||||
|
|
||||||
|
class = "add1", "add2", "platter"
|
||||||
|
type = "grommet"
|
||||||
|
loc_x = x location placement
|
||||||
|
loc_y = y location placement
|
||||||
|
loc_z = z location placement
|
||||||
|
face = "top", "bottom", "right", "left", "front", "rear"
|
||||||
|
rotation[] = object rotation
|
||||||
|
parametric[] = "case", "sbc", "sbc-case_z"
|
||||||
|
size[0] = od outside diameter of grommet body
|
||||||
|
size[1] = id inside hole diameter of grommet body
|
||||||
|
size[2] = wall thickness of installation
|
||||||
|
data[0] = "top","bottom","front","rear","left","right"
|
||||||
|
data[1] = "sleeve"
|
||||||
|
data[2] = assembled true, false
|
||||||
|
mask[0] = true enables component mask
|
||||||
|
mask[1] = mask length
|
||||||
|
mask[2] = mask setback
|
||||||
|
mask[3] = mstyle "default"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### hd_holder
|
### hd_holder
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -771,6 +805,35 @@ DESCRIPTION: creates nut holder of various styles.
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### panel_clamp
|
||||||
|
|
||||||
|
```
|
||||||
|
CLASSES: add1, add2
|
||||||
|
DESCRIPTION: creates clamps to join two panels.
|
||||||
|
MASK: yes
|
||||||
|
USAGE: "class", "panel_clamp", loc_x, loc_y, loc_z, face, rotation[], parametric[], size[], data[], mask[]
|
||||||
|
|
||||||
|
class = "add1", "add2"
|
||||||
|
type = "panel_clamp"
|
||||||
|
loc_x = x location placement
|
||||||
|
loc_y = y location placement
|
||||||
|
loc_z = z location placement
|
||||||
|
face = "top", "bottom", "right", "left", "front", "rear"
|
||||||
|
rotation[] = object rotation
|
||||||
|
parametric[] = "case", "sbc", "sbc-case_z"
|
||||||
|
size[0] = top diameter or x size in mm
|
||||||
|
size[1] = bottom diameter or y size in mm
|
||||||
|
size[2] = clamp height in mm
|
||||||
|
data[0] = orientation "top","bottom","rear","front","left","right"
|
||||||
|
data[1] = "sloped"
|
||||||
|
data[2] = "m2", "m2.5", "m3", "m4"
|
||||||
|
mask[0] = false
|
||||||
|
mask[1] = length
|
||||||
|
mask[2] = set back
|
||||||
|
mask[3] = mstyle "default", "holes"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### pcb_holder
|
### pcb_holder
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -2088,6 +2151,35 @@ DESCRIPTION: creates case feet.
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### grommet
|
||||||
|
|
||||||
|
```
|
||||||
|
CLASSES: add1, add2, platter
|
||||||
|
DESCRIPTION: creates different groumet styles.
|
||||||
|
MASK: yes
|
||||||
|
USAGE: "class", "grommet", loc_x, loc_y, loc_z, face, rotation[], parametric[], size[], data[], mask[]
|
||||||
|
|
||||||
|
class = "add1", "add2", "platter"
|
||||||
|
type = "grommet"
|
||||||
|
loc_x = x location placement
|
||||||
|
loc_y = y location placement
|
||||||
|
loc_z = z location placement
|
||||||
|
face = "top", "bottom", "right", "left", "front", "rear"
|
||||||
|
rotation[] = object rotation
|
||||||
|
parametric[] = "case", "sbc", "sbc-case_z"
|
||||||
|
size[0] = od outside diameter of grommet body
|
||||||
|
size[1] = id inside hole diameter of grommet body
|
||||||
|
size[2] = wall thickness of installation
|
||||||
|
data[0] = "top","bottom","front","rear","left","right"
|
||||||
|
data[1] = "sleeve"
|
||||||
|
data[2] = assembled true, false
|
||||||
|
mask[0] = true enables component mask
|
||||||
|
mask[1] = mask length
|
||||||
|
mask[2] = mask setback
|
||||||
|
mask[3] = mstyle "default"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### hk_boom_speaker_holder
|
### hk_boom_speaker_holder
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -2220,6 +2312,16 @@ DESCRIPTION: creates hex pattern covers for vent openings.
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Case Build Notes
|
||||||
|
This area covers specific build notes for specific cases. Hardware used or other relavent information is list by case design name.
|
||||||
|
|
||||||
|
### panel_nas Case Design
|
||||||
|
The panel_nas design can be CNC cut or 3D printed. By changing the top and bottom standoff type to "none" in the *SBC Standoff Global Settings* tabs respectively, only a hole is generated for CNC cutting support. Panels can be exported in DXF or SVG by selecting the *part" view under the *view* tab, then the indivual part and select the *section part* checkbox. After the projection has been generated render it by pressing F7 or by selecting render from the user interface. Exported DXF and SVG file formats are available under the File->Export menu.
|
||||||
|
|
||||||
|
### rack Case Design
|
||||||
|
This case is divided into 3 pieces for the 19" cases and 2 pieces for the 10" cases. They can be selected in the *part* view for STL export under the *view* tab by selecting the left, bottom or right individual part. The peices are held together using M2x8mm screws and nuts. The 10 inch cases requires 5 sets of screws and nuts and the 19" rack case takes 10 sets.
|
||||||
|
|
||||||
|
|
||||||
## Accuracy
|
## Accuracy
|
||||||
|
|
||||||
In the past there was been no way of validating whether a SBC Model Framework model and its components were dimensionaly accurate in their size and placement other then trial and error. Along with producing cases this project provides a much needed model validation tool to assure model accuracy thru the use of test cases. It works on the very simple premise that if the real SBC fits the test case then the virtual model is accurate or otherwise shows were corrections are needed. This will further increased the overall accuracy of models over time.
|
In the past there was been no way of validating whether a SBC Model Framework model and its components were dimensionaly accurate in their size and placement other then trial and error. Along with producing cases this project provides a much needed model validation tool to assure model accuracy thru the use of test cases. It works on the very simple premise that if the real SBC fits the test case then the virtual model is accurate or otherwise shows were corrections are needed. This will further increased the overall accuracy of models over time.
|
||||||
|
|||||||
@@ -28,12 +28,12 @@
|
|||||||
|
|
||||||
USAGE: grommet(face, style, od, id, wall, assembly, mask)
|
USAGE: grommet(face, style, od, id, wall, assembly, mask)
|
||||||
|
|
||||||
face = "top","bottom","front","rear","left","right"
|
data[0] = "top","bottom","front","rear","left","right"
|
||||||
style = "sleeve"
|
data[1] = "sleeve"
|
||||||
size[0] = od outside diameter of grommet body
|
size[0] = od outside diameter of grommet body
|
||||||
size[1] = id inside hole diameter of grommet body
|
size[1] = id inside hole diameter of grommet body
|
||||||
size[2] = wall thickness of installation
|
size[2] = wall thickness of installation
|
||||||
assembly = false
|
data[3] = assembled true, false
|
||||||
mask[0] = true enables component mask
|
mask[0] = true enables component mask
|
||||||
mask[1] = mask length
|
mask[1] = mask length
|
||||||
mask[2] = mask setback
|
mask[2] = mask setback
|
||||||
|
|||||||
@@ -3,23 +3,23 @@
|
|||||||
DESCRIPTION: creates various clamps to join two panels
|
DESCRIPTION: creates various clamps to join two panels
|
||||||
TODO: none
|
TODO: none
|
||||||
|
|
||||||
USAGE: panel_clamp(face, screw, style, dia_x, dia_y, height, mask)
|
USAGE: panel_clamp(face, style, screw, dia_x, dia_y, height, mask)
|
||||||
|
|
||||||
face = "top","bottom","rear","front","left","right"
|
data[0] = "top","bottom","rear","front","left","right"
|
||||||
screw = "m2", "m2.5", "m3", "m4"
|
data[1] = "sloped"
|
||||||
style = "sloped"
|
data[2] = "m2", "m2.5", "m3", "m4"
|
||||||
dia_x = top diameter or x size in mm
|
size_x = top diameter or x size in mm
|
||||||
dia_y = bottom diameter or y size in mm
|
size_y = bottom diameter or y size in mm
|
||||||
height = holder height in mm
|
size_z = clamp height in mm
|
||||||
mask[0] = true enables component mask
|
mask[0] = true enables component mask
|
||||||
mask[1] = mask length
|
mask[1] = mask length
|
||||||
mask[2] = mask setback
|
mask[2] = mask setback
|
||||||
mask[3] = mstyle "default"
|
mask[3] = mstyle "default", "holes"
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
module panel_clamp(face, screw, style, dia_x, dia_y, height, mask) {
|
module panel_clamp(face, style, screw, dia_x, dia_y, height, mask) {
|
||||||
|
|
||||||
nuts = [[2,4,1.6], // m2 size, diameter, height
|
nuts = [[2,4,1.6], // m2 size, diameter, height
|
||||||
[2.5,5,2], // m2.5 size, diameter, height
|
[2.5,5,2], // m2.5 size, diameter, height
|
||||||
|
|||||||
@@ -82,6 +82,9 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size, data, mask) {
|
|||||||
if(type == "feet") {
|
if(type == "feet") {
|
||||||
translate([loc_x,loc_y,loc_z]) rotate(rotation) feet(size_x, size_z);
|
translate([loc_x,loc_y,loc_z]) rotate(rotation) feet(size_x, size_z);
|
||||||
}
|
}
|
||||||
|
if(type == "grommet") {
|
||||||
|
translate([loc_x,loc_y,loc_z]) rotate(rotation) grommet(data[0], data[1], size_x, size_y, size_z, data[2], mask);
|
||||||
|
}
|
||||||
if(type == "hd_holder") {
|
if(type == "hd_holder") {
|
||||||
translate([loc_x,loc_y,loc_z]) rotate(rotation) hd_mount(data[0],data[1],data[2],data[3]);
|
translate([loc_x,loc_y,loc_z]) rotate(rotation) hd_mount(data[0],data[1],data[2],data[3]);
|
||||||
}
|
}
|
||||||
@@ -112,6 +115,9 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size, data, mask) {
|
|||||||
if(type == "nut_holder") {
|
if(type == "nut_holder") {
|
||||||
translate([loc_x,loc_y,loc_z]) rotate(rotation) nut_holder(data[0], data[1], size_x, size_y, size_z, mask);
|
translate([loc_x,loc_y,loc_z]) rotate(rotation) nut_holder(data[0], data[1], size_x, size_y, size_z, mask);
|
||||||
}
|
}
|
||||||
|
if(type == "panel_clamp") {
|
||||||
|
translate([loc_x,loc_y,loc_z]) rotate(rotation) panel_clamp(data[0], data[1], data[2], size_x, size_y, size_z, mask);
|
||||||
|
}
|
||||||
if(type == "pcb_holder") {
|
if(type == "pcb_holder") {
|
||||||
translate([loc_x,loc_y,loc_z]) rotate(rotation) pcb_holder([size_x,size_y,size_z],data[0]);
|
translate([loc_x,loc_y,loc_z]) rotate(rotation) pcb_holder([size_x,size_y,size_z],data[0]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,14 +48,14 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
|
top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
|
||||||
// case upper panel clamp holes
|
// case upper panel clamp holes
|
||||||
translate([150-gap-wallthick,-gap-adj,case_z-13+4])
|
translate([150-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
panel_clamp("rear", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]);
|
||||||
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]);
|
||||||
if(rack_width == 19) {
|
if(rack_width == 19) {
|
||||||
translate([300-gap-wallthick,-gap-adj,case_z-13+4])
|
translate([300-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
panel_clamp("rear", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]);
|
||||||
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -74,33 +74,33 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
// case upper panel clamps
|
// case upper panel clamps
|
||||||
translate([150-gap-wallthick,-gap-adj,case_z-13+4])
|
translate([150-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
if(rack_width == 19) {
|
if(rack_width == 19) {
|
||||||
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
|
||||||
case_z-13+4]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
translate([300-gap-wallthick,-gap-adj,case_z-13+4])
|
translate([300-gap-wallthick,-gap-adj,case_z-13+4])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// case floor panel clamps
|
// case floor panel clamps
|
||||||
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
||||||
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
if(rack_width == 19) {
|
if(rack_width == 19) {
|
||||||
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
||||||
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
}
|
}
|
||||||
// top support
|
// top support
|
||||||
translate([-gap,depth-gap-wallthick-18,case_z-floorthick]) rotate([0,0,270])
|
translate([-gap,depth-gap-wallthick-18,case_z-floorthick]) rotate([0,0,270])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
translate([width-gap-(2*wallthick),depth-gap-wallthick-18,case_z-floorthick]) rotate([0,0,270])
|
translate([width-gap-(2*wallthick),depth-gap-wallthick-18,case_z-floorthick]) rotate([0,0,270])
|
||||||
panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
|
|
||||||
translate([-gap,18-gap,case_z-floorthick]) rotate([0,0,270])
|
translate([-gap,18-gap,case_z-floorthick]) rotate([0,0,270])
|
||||||
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
translate([width-gap-(2*wallthick),18-gap,case_z-floorthick]) rotate([0,0,270])
|
translate([width-gap-(2*wallthick),18-gap,case_z-floorthick]) rotate([0,0,270])
|
||||||
panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
|
panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]);
|
||||||
|
|
||||||
// additive accessories
|
// additive accessories
|
||||||
if(accessory_name != "none") {
|
if(accessory_name != "none") {
|
||||||
@@ -279,10 +279,10 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
}
|
}
|
||||||
// case floor panel clamp holes
|
// case floor panel clamp holes
|
||||||
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
||||||
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]);
|
||||||
if(rack_width == 19) {
|
if(rack_width == 19) {
|
||||||
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
|
||||||
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [true,10,2,"holes"]);
|
panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// pcb and multi-pcb standoffs
|
// pcb and multi-pcb standoffs
|
||||||
@@ -295,8 +295,6 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
pcb_z_orig = sbc_data[s[0]][10][2];
|
pcb_z_orig = sbc_data[s[0]][10][2];
|
||||||
pcb_tmaxz = sbc_data[s[0]][11][5];
|
pcb_tmaxz = sbc_data[s[0]][11][5];
|
||||||
pcb_bmaxz = sbc_data[s[0]][11][6];
|
pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||||
// pcb_color = sbc_data[s[0]][11][1];
|
|
||||||
// pcb_radius = sbc_data[s[0]][11][0];
|
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width :
|
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width :
|
||||||
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
|
||||||
@@ -570,7 +568,7 @@ if(case_design == "rack" && side == "bottom") {
|
|||||||
r == 2 && rack_width == 10 ? 65.25 :
|
r == 2 && rack_width == 10 ? 65.25 :
|
||||||
r >= 1 && r < 5 && rack_bay_wall[r] == true ? 75-wallthick-gap-2 :
|
r >= 1 && r < 5 && rack_bay_wall[r] == true ? 75-wallthick-gap-2 :
|
||||||
r >= 1 && r < 5 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ||
|
r >= 1 && r < 5 && rack_bay_wall[r] == false && rack_bay_sbc[r+1] == "empty" ||
|
||||||
(r != 2 && rack_width == 10) ? 75-wallthick-gap-4+baysize :
|
(r != 2 && rack_width == 10) ? 75-wallthick-gap+baysize :
|
||||||
r == 5 ? 75-wallthick-sidethick+.125 : 69;
|
r == 5 ? 75-wallthick-sidethick+.125 : 69;
|
||||||
|
|
||||||
translate([open_offset-wallthick-gap+rack_asm_gap/2+75*(r+1)-75,
|
translate([open_offset-wallthick-gap+rack_asm_gap/2+75*(r+1)-75,
|
||||||
@@ -773,8 +771,8 @@ if(case_design == "rack" && side == "top") {
|
|||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
difference() {
|
difference() {
|
||||||
translate([-gap,-gap,case_z-2*floorthick])
|
translate([-gap,-gap,case_z-floorthick-2])
|
||||||
slab([width-(2*wallthick),depth-(2*wallthick),floorthick],corner_fillet);
|
slab([width-(2*wallthick),depth-(2*wallthick),2],corner_fillet);
|
||||||
// case divide
|
// case divide
|
||||||
translate([150-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
translate([150-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
||||||
translate([300-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
translate([300-gap-wallthick,-gap-wallthick-1,-adj]) cube([rack_asm_gap,depth+2,case_z+2*adj]);
|
||||||
@@ -992,15 +990,13 @@ module bay_tray(depth, bay) {
|
|||||||
pcb_z_orig = sbc_data[s[0]][10][2];
|
pcb_z_orig = sbc_data[s[0]][10][2];
|
||||||
pcb_tmaxz = sbc_data[s[0]][11][5];
|
pcb_tmaxz = sbc_data[s[0]][11][5];
|
||||||
pcb_bmaxz = sbc_data[s[0]][11][6];
|
pcb_bmaxz = sbc_data[s[0]][11][6];
|
||||||
// pcb_color = sbc_data[s[0]][11][1];
|
|
||||||
// pcb_radius = sbc_data[s[0]][11][0];
|
|
||||||
|
|
||||||
pcb_loc_x = rack_bay_rotation[bay] == 90 ? rack_bay_xyz_loc[bay][0] + pcb_width :
|
pcb_loc_x = rack_bay_rotation[bay] == 90 ? rack_bay_xyz_loc[bay][0] + pcb_width :
|
||||||
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][0] + pcb_width : rack_bay_xyz_loc[bay][0];
|
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][0] + pcb_width : rack_bay_xyz_loc[bay][0];
|
||||||
pcb_loc_y = rack_bay_rotation[bay] == 270 ? rack_bay_xyz_loc[bay][1]+pcb_width :
|
pcb_loc_y = rack_bay_rotation[bay] == 270 ? rack_bay_xyz_loc[bay][1]+pcb_width :
|
||||||
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][1]+pcb_depth : rack_bay_xyz_loc[bay][1];
|
rack_bay_rotation[bay] == 180 ? rack_bay_xyz_loc[bay][1]+pcb_depth : rack_bay_xyz_loc[bay][1];
|
||||||
// pcb_loc_z = rack_bay_sbc[bay] == "n2" || rack_bay_sbc[bay] == "m1" ? rack_bay_xyz_loc[bay][2]+6 :
|
pcb_loc_z = rack_bay_sbc[bay] == "n2" || rack_bay_sbc[bay] == "m1" ? rack_bay_xyz_loc[bay][2]+6 :
|
||||||
// rack_bay_sbc[bay] == "n2+" ? rack_bay_xyz_loc[bay][2]+4.5 : rack_bay_xyz_loc[bay][2];
|
rack_bay_sbc[bay] == "n2+" ? rack_bay_xyz_loc[bay][2]+4.5 : rack_bay_xyz_loc[bay][2];
|
||||||
|
|
||||||
translate([pcb_loc_x,pcb_loc_y+wallthick+gap,0]) rotate([0,0,rack_bay_rotation[bay]]) union() {
|
translate([pcb_loc_x,pcb_loc_y+wallthick+gap,0]) rotate([0,0,rack_bay_rotation[bay]]) union() {
|
||||||
// pcb standoff holes
|
// pcb standoff holes
|
||||||
@@ -1108,12 +1104,12 @@ module bay_tray(depth, bay) {
|
|||||||
}
|
}
|
||||||
// sbc openings
|
// sbc openings
|
||||||
if(sbc_highlight == true && rack_bay_sbc[bay] != "empty") {
|
if(sbc_highlight == true && rack_bay_sbc[bay] != "empty") {
|
||||||
#translate([pcb_loc_x ,pcb_loc_y+floorthick+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-adj])
|
#translate([pcb_loc_x, pcb_loc_y+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-pcb_z-adj])
|
||||||
rotate([0,0,rack_bay_rotation[bay]])
|
rotate([0,0,rack_bay_rotation[bay]])
|
||||||
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
||||||
}
|
}
|
||||||
if(sbc_highlight != true && rack_bay_sbc[bay] != "empty") {
|
if(sbc_highlight != true && rack_bay_sbc[bay] != "empty") {
|
||||||
translate([pcb_loc_x ,pcb_loc_y+floorthick+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-adj])
|
translate([pcb_loc_x, pcb_loc_y+gap,pcb_bmaxz+case_offset_bz+pcb_loc_z-pcb_z-adj])
|
||||||
rotate([0,0,rack_bay_rotation[bay]])
|
rotate([0,0,rack_bay_rotation[bay]])
|
||||||
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
sbc(rack_bay_sbc[bay], cooling, fan_size, gpio_opening, uart_opening, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11915,6 +11915,528 @@
|
|||||||
"uart_opening": "none",
|
"uart_opening": "none",
|
||||||
"view": "model",
|
"view": "model",
|
||||||
"wallthick": "2"
|
"wallthick": "2"
|
||||||
|
},
|
||||||
|
"h4_rack19-1u+": {
|
||||||
|
"$fn": "90",
|
||||||
|
"Rack_Bay1": "h4_ultra",
|
||||||
|
"Rack_Bay2": "empty",
|
||||||
|
"Rack_Bay3": "h4_ultra",
|
||||||
|
"Rack_Bay4": "empty",
|
||||||
|
"Rack_Bay5": "h4_ultra",
|
||||||
|
"Rack_Bay6": "empty",
|
||||||
|
"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": "rack",
|
||||||
|
"case_offset_bz": "0",
|
||||||
|
"case_offset_tz": "0",
|
||||||
|
"case_offset_x": "0",
|
||||||
|
"case_offset_y": "50",
|
||||||
|
"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": "solid",
|
||||||
|
"gap": "2",
|
||||||
|
"gpio_opening": "default",
|
||||||
|
"hd_bays": "2",
|
||||||
|
"hd_center": "false",
|
||||||
|
"hd_reverse": "false",
|
||||||
|
"hd_space": "10",
|
||||||
|
"hd_y_position": "25",
|
||||||
|
"hd_z_position": "40",
|
||||||
|
"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": "top",
|
||||||
|
"pcb_loc_x": "0",
|
||||||
|
"pcb_loc_y": "0",
|
||||||
|
"pcb_loc_z": "0",
|
||||||
|
"rack_bay1_face": "open",
|
||||||
|
"rack_bay1_rear_conduit": "none",
|
||||||
|
"rack_bay1_rear_fan": "false",
|
||||||
|
"rack_bay1_rotation": "0",
|
||||||
|
"rack_bay1_wall": "false",
|
||||||
|
"rack_bay1_xyz_loc": "[13, 0, 0]",
|
||||||
|
"rack_bay2_face": "fixed",
|
||||||
|
"rack_bay2_rear_conduit": "grommet",
|
||||||
|
"rack_bay2_rear_fan": "false",
|
||||||
|
"rack_bay2_rotation": "0",
|
||||||
|
"rack_bay2_wall": "false",
|
||||||
|
"rack_bay2_xyz_loc": "[0, 0, 0]",
|
||||||
|
"rack_bay3_face": "open",
|
||||||
|
"rack_bay3_rear_conduit": "none",
|
||||||
|
"rack_bay3_rear_fan": "false",
|
||||||
|
"rack_bay3_rotation": "0",
|
||||||
|
"rack_bay3_wall": "false",
|
||||||
|
"rack_bay3_xyz_loc": "[160, 0, 0]",
|
||||||
|
"rack_bay4_face": "fixed",
|
||||||
|
"rack_bay4_rear_conduit": "grommet",
|
||||||
|
"rack_bay4_rear_fan": "false",
|
||||||
|
"rack_bay4_rotation": "0",
|
||||||
|
"rack_bay4_wall": "false",
|
||||||
|
"rack_bay4_xyz_loc": "[0, 0, 0]",
|
||||||
|
"rack_bay5_face": "open",
|
||||||
|
"rack_bay5_rear_conduit": "none",
|
||||||
|
"rack_bay5_rear_fan": "false",
|
||||||
|
"rack_bay5_rotation": "0",
|
||||||
|
"rack_bay5_wall": "false",
|
||||||
|
"rack_bay5_xyz_loc": "[310, 0, 0]",
|
||||||
|
"rack_bay6_face": "fixed",
|
||||||
|
"rack_bay6_rear_conduit": "grommet",
|
||||||
|
"rack_bay6_rear_fan": "false",
|
||||||
|
"rack_bay6_rotation": "0",
|
||||||
|
"rack_bay6_xyz_loc": "[0, 0, 0]",
|
||||||
|
"rack_size": "1u+",
|
||||||
|
"rack_width": "19",
|
||||||
|
"raise_top": "0",
|
||||||
|
"rear_cooling": "fan_hex",
|
||||||
|
"rear_dualfan_spacing": "6",
|
||||||
|
"rear_fan": "1",
|
||||||
|
"rear_fan_center": "false",
|
||||||
|
"rear_fan_position": "0",
|
||||||
|
"rear_fan_size": "80",
|
||||||
|
"rear_io_shield": "false",
|
||||||
|
"sbc_bottom_standoffs": "true",
|
||||||
|
"sbc_highlight": "false",
|
||||||
|
"sbc_information": "false",
|
||||||
|
"sbc_model": "c1+",
|
||||||
|
"sbc_off": "false",
|
||||||
|
"sbc_top_standoffs": "false",
|
||||||
|
"section_part": "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": "blind",
|
||||||
|
"uart_opening": "default",
|
||||||
|
"view": "model",
|
||||||
|
"wallthick": "2"
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"$fn": "90",
|
||||||
|
"Rack_Bay1": "n2",
|
||||||
|
"Rack_Bay2": "empty",
|
||||||
|
"Rack_Bay3": "n2+",
|
||||||
|
"Rack_Bay4": "empty",
|
||||||
|
"Rack_Bay5": "h4_ultra",
|
||||||
|
"Rack_Bay6": "empty",
|
||||||
|
"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": "rack",
|
||||||
|
"case_offset_bz": "0",
|
||||||
|
"case_offset_tz": "0",
|
||||||
|
"case_offset_x": "0",
|
||||||
|
"case_offset_y": "50",
|
||||||
|
"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": "solid",
|
||||||
|
"gap": "2",
|
||||||
|
"gpio_opening": "default",
|
||||||
|
"hd_bays": "2",
|
||||||
|
"hd_center": "false",
|
||||||
|
"hd_reverse": "false",
|
||||||
|
"hd_space": "10",
|
||||||
|
"hd_y_position": "25",
|
||||||
|
"hd_z_position": "40",
|
||||||
|
"indents": "true",
|
||||||
|
"individual_part": "bottom",
|
||||||
|
"lower_bottom": "0",
|
||||||
|
"material_thickness": "0.5",
|
||||||
|
"move_front": "-1",
|
||||||
|
"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",
|
||||||
|
"rack_bay1_face": "removable",
|
||||||
|
"rack_bay1_rear_conduit": "none",
|
||||||
|
"rack_bay1_rear_fan": "false",
|
||||||
|
"rack_bay1_rotation": "0",
|
||||||
|
"rack_bay1_wall": "false",
|
||||||
|
"rack_bay1_xyz_loc": "[13, 0, 0]",
|
||||||
|
"rack_bay2_face": "fixed",
|
||||||
|
"rack_bay2_rear_conduit": "none",
|
||||||
|
"rack_bay2_rear_fan": "false",
|
||||||
|
"rack_bay2_rotation": "0",
|
||||||
|
"rack_bay2_wall": "false",
|
||||||
|
"rack_bay2_xyz_loc": "[0, 0, 0]",
|
||||||
|
"rack_bay3_face": "removable",
|
||||||
|
"rack_bay3_rear_conduit": "none",
|
||||||
|
"rack_bay3_rear_fan": "false",
|
||||||
|
"rack_bay3_rotation": "0",
|
||||||
|
"rack_bay3_wall": "false",
|
||||||
|
"rack_bay3_xyz_loc": "[10, 0, 0]",
|
||||||
|
"rack_bay4_face": "fixed",
|
||||||
|
"rack_bay4_rear_conduit": "none",
|
||||||
|
"rack_bay4_rear_fan": "false",
|
||||||
|
"rack_bay4_rotation": "0",
|
||||||
|
"rack_bay4_wall": "false",
|
||||||
|
"rack_bay4_xyz_loc": "[0, 0, 0]",
|
||||||
|
"rack_bay5_face": "removable",
|
||||||
|
"rack_bay5_rear_conduit": "none",
|
||||||
|
"rack_bay5_rear_fan": "false",
|
||||||
|
"rack_bay5_rotation": "0",
|
||||||
|
"rack_bay5_wall": "false",
|
||||||
|
"rack_bay5_xyz_loc": "[10, 0, 0]",
|
||||||
|
"rack_bay6_face": "fixed",
|
||||||
|
"rack_bay6_rear_conduit": "none",
|
||||||
|
"rack_bay6_rear_fan": "false",
|
||||||
|
"rack_bay6_rotation": "0",
|
||||||
|
"rack_bay6_xyz_loc": "[0, 0, 0]",
|
||||||
|
"rack_size": "1u+",
|
||||||
|
"rack_width": "19",
|
||||||
|
"raise_top": "-1",
|
||||||
|
"rear_cooling": "fan_hex",
|
||||||
|
"rear_dualfan_spacing": "6",
|
||||||
|
"rear_fan": "1",
|
||||||
|
"rear_fan_center": "false",
|
||||||
|
"rear_fan_position": "0",
|
||||||
|
"rear_fan_size": "80",
|
||||||
|
"rear_io_shield": "false",
|
||||||
|
"sbc_bottom_standoffs": "true",
|
||||||
|
"sbc_highlight": "false",
|
||||||
|
"sbc_information": "false",
|
||||||
|
"sbc_model": "c1+",
|
||||||
|
"sbc_off": "false",
|
||||||
|
"sbc_top_standoffs": "false",
|
||||||
|
"section_part": "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": "blind",
|
||||||
|
"uart_opening": "default",
|
||||||
|
"view": "model",
|
||||||
|
"wallthick": "2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fileFormatVersion": "1"
|
"fileFormatVersion": "1"
|
||||||
|
|||||||
@@ -82,49 +82,49 @@ rack_size = "1u"; //["1u","1u+","1u++","2u"]
|
|||||||
Rack_Bay1 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay1 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay1_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay1_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay1_rotation = 0; // [0:90:270]
|
rack_bay1_rotation = 0; // [0:90:270]
|
||||||
rack_bay1_face = "vent"; //["open","fixed","removable","vent"]
|
rack_bay1_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
rack_bay1_wall = false; // [true,false]
|
rack_bay1_wall = false; // [true,false]
|
||||||
rack_bay1_rear_fan = false; //[true,false]
|
rack_bay1_rear_fan = false; //[true,false]
|
||||||
rack_bay1_rear_conduit = "grommet"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay1_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay2 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay2 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay2_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay2_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay2_rotation = 0; // [0:90:270]
|
rack_bay2_rotation = 0; // [0:90:270]
|
||||||
rack_bay2_face = "vent"; //["open","fixed","removable","vent"]
|
rack_bay2_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
rack_bay2_wall = false; // [true,false]
|
rack_bay2_wall = false; // [true,false]
|
||||||
rack_bay2_rear_fan = false; //[true,false]
|
rack_bay2_rear_fan = false; //[true,false]
|
||||||
rack_bay2_rear_conduit = "grommet"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay2_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay3 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay3 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay3_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay3_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay3_rotation = 0; // [0:90:270]
|
rack_bay3_rotation = 0; // [0:90:270]
|
||||||
rack_bay3_face = "vent"; //["open","fixed","removable","vent"]
|
rack_bay3_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
rack_bay3_wall = false; // [true,false]
|
rack_bay3_wall = false; // [true,false]
|
||||||
rack_bay3_rear_fan = false; //[true,false]
|
rack_bay3_rear_fan = false; //[true,false]
|
||||||
rack_bay3_rear_conduit = "grommet"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay3_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay4 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay4 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay4_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay4_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay4_rotation = 0; // [0:90:270]
|
rack_bay4_rotation = 0; // [0:90:270]
|
||||||
rack_bay4_face = "vent"; //["open","fixed","removable","vent"]
|
rack_bay4_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
rack_bay4_wall = false; // [true,false]
|
rack_bay4_wall = false; // [true,false]
|
||||||
rack_bay4_rear_fan = false; //[true,false]
|
rack_bay4_rear_fan = false; //[true,false]
|
||||||
rack_bay4_rear_conduit = "grommet"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay4_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay5 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay5 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay5_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay5_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay5_rotation = 0; // [0:90:270]
|
rack_bay5_rotation = 0; // [0:90:270]
|
||||||
rack_bay5_face = "vent"; //["open","fixed","removable","vent"]
|
rack_bay5_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
rack_bay5_wall = false; // [true,false]
|
rack_bay5_wall = false; // [true,false]
|
||||||
rack_bay5_rear_fan = false; //[true,false]
|
rack_bay5_rear_fan = false; //[true,false]
|
||||||
rack_bay5_rear_conduit = "grommet"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay5_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
Rack_Bay6 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
Rack_Bay6 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
|
||||||
rack_bay6_xyz_loc = [0,0,0]; // [0:.5:450]
|
rack_bay6_xyz_loc = [0,0,0]; // [0:.5:450]
|
||||||
rack_bay6_rotation = 0; // [0:90:270]
|
rack_bay6_rotation = 0; // [0:90:270]
|
||||||
rack_bay6_face = "vent"; //["open","fixed","removable","vent"]
|
rack_bay6_face = "fixed"; //["open","fixed","removable","vent"]
|
||||||
rack_bay6_rear_fan = false; //[true,false]
|
rack_bay6_rear_fan = false; //[true,false]
|
||||||
rack_bay6_rear_conduit = "grommet"; //["none","conduit","grommet","grommets-vertical"]
|
rack_bay6_rear_conduit = "none"; //["none","conduit","grommet","grommets-vertical"]
|
||||||
|
|
||||||
/* [3D Case Adjustments] */
|
/* [3D Case Adjustments] */
|
||||||
// sbc location x axis
|
// sbc location x axis
|
||||||
@@ -548,7 +548,9 @@ rack_bay_wall = [rack_bay1_wall, rack_bay2_wall, rack_bay3_wall, rack_bay4_wall,
|
|||||||
rack_bay_rear_fan = [rack_bay1_rear_fan, rack_bay2_rear_fan, rack_bay3_rear_fan, rack_bay4_rear_fan, rack_bay5_rear_fan, rack_bay6_rear_fan];
|
rack_bay_rear_fan = [rack_bay1_rear_fan, rack_bay2_rear_fan, rack_bay3_rear_fan, rack_bay4_rear_fan, rack_bay5_rear_fan, rack_bay6_rear_fan];
|
||||||
rack_bay_rear_conduit = [rack_bay1_rear_conduit, rack_bay2_rear_conduit, rack_bay3_rear_conduit, rack_bay4_rear_conduit, rack_bay5_rear_conduit, rack_bay6_rear_conduit];
|
rack_bay_rear_conduit = [rack_bay1_rear_conduit, rack_bay2_rear_conduit, rack_bay3_rear_conduit, rack_bay4_rear_conduit, rack_bay5_rear_conduit, rack_bay6_rear_conduit];
|
||||||
baysize = (450-(2*wallthick))/6;
|
baysize = (450-(2*wallthick))/6;
|
||||||
bay_height = rack_size == "1u" ? 44.45-floorthick : (2 * 44.45)-floorthick;
|
bay_height = rack_size == "1u" ? 44.45-floorthick :
|
||||||
|
rack_size == "1u+" ? (44.45/3)+44.45-floorthick :
|
||||||
|
rack_size == "1u++" ? 2*(44.45/3)+44.45-floorthick : (2 * 44.45)-floorthick;
|
||||||
|
|
||||||
adj = .01;
|
adj = .01;
|
||||||
$fn=90;
|
$fn=90;
|
||||||
@@ -622,24 +624,29 @@ if (view == "platter") {
|
|||||||
fan_cover(rear_fan_size, wallthick, rear_cooling);
|
fan_cover(rear_fan_size, wallthick, rear_cooling);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// rear grommets
|
// rear grommets
|
||||||
for(r = [0:len(rack_bay_sbc)-1]) {
|
for(r = [0:len(rack_bay_sbc)-1]) {
|
||||||
grommet_offset = -75+11;
|
grommet_offset = -75+11;
|
||||||
if(rack_bay_rear_conduit[r] == "grommet") {
|
if(rack_bay_rear_conduit[r] == "grommet") {
|
||||||
translate([0,-50,0]) rotate([270,0,0]) difference() {
|
translate([0,-50,0]) rotate([270,0,0]) difference() {
|
||||||
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset,0,0])
|
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset,0,0])
|
||||||
grommet("bottom", "sleeve", 10, r+2, wallthick, false, [false,10,0,"default"]);
|
grommet("bottom", "sleeve", 10, r+2, wallthick, false, [false,10,0,"default"]);
|
||||||
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset-10,-.125,-3]) cube([20,10,20]);
|
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset-10,-.125,-3]) cube([20,10,20]);
|
||||||
}
|
|
||||||
translate([0,-30,0]) rotate([270,0,0]) difference() {
|
|
||||||
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset,0,0])
|
|
||||||
grommet("bottom", "sleeve", 10, r+2, wallthick, false, [false,10,0,"default"]);
|
|
||||||
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset-10,-.125,-3]) cube([20,10,20]);
|
|
||||||
}
|
|
||||||
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset,-70,0])
|
|
||||||
grommet_clip("sleeve", 10, r+2, wallthick);
|
|
||||||
}
|
}
|
||||||
|
translate([0,-30,0]) rotate([270,0,0]) difference() {
|
||||||
|
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset,0,0])
|
||||||
|
grommet("bottom", "sleeve", 10, r+2, wallthick, false, [false,10,0,"default"]);
|
||||||
|
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset-10,-.125,-3]) cube([20,10,20]);
|
||||||
|
}
|
||||||
|
translate([-gap-wallthick-1+.125+75*(r+1)+grommet_offset,-70,0])
|
||||||
|
grommet_clip("sleeve", 10, r+2, wallthick);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
for(r = [0:ucount-1]) {
|
||||||
|
if(rack_bay_face[r] == "removable") {
|
||||||
|
translate([-gap-wallthick-1+(75*(r))+8,-300,0]) bay_tray(depth, r);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
if(case_design == "adapter_mini-stx_thin" || case_design == "adapter_mini-stx" || case_design == "adapter_mini-itx_thin" || case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_ssi-ceb" || case_design == "adapter_ssi-eeb") {
|
||||||
color("dimgrey",1) case_adapter(case_design);
|
color("dimgrey",1) case_adapter(case_design);
|
||||||
@@ -1220,6 +1227,8 @@ if (view == "model") {
|
|||||||
pcb_loc_y = rack_bay_rotation[i] == 270 ? rack_bay_xyz_loc[i][1]+pcb_width :
|
pcb_loc_y = rack_bay_rotation[i] == 270 ? rack_bay_xyz_loc[i][1]+pcb_width :
|
||||||
rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][1]+pcb_depth :
|
rack_bay_rotation[i] == 180 ? rack_bay_xyz_loc[i][1]+pcb_depth :
|
||||||
rack_bay_xyz_loc[i][1];
|
rack_bay_xyz_loc[i][1];
|
||||||
|
// pcb_loc_z = rack_bay_sbc[i] == "n2" || rack_bay_sbc[i] == "m1" ? rack_bay_xyz_loc[i][2]+6 :
|
||||||
|
// rack_bay_sbc[i] == "n2+" ? rack_bay_xyz_loc[i][2]+4.5 : rack_bay_xyz_loc[i][2];
|
||||||
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
pcb_loc_z = rack_bay_xyz_loc[i][2];
|
||||||
|
|
||||||
translate([pcb_loc_x+bayadj+75*(i+1) ,pcb_loc_y+wallthick+gap,
|
translate([pcb_loc_x+bayadj+75*(i+1) ,pcb_loc_y+wallthick+gap,
|
||||||
@@ -1474,6 +1483,11 @@ if (view == "part") {
|
|||||||
grommet_clip("sleeve", 10, r+2, wallthick);
|
grommet_clip("sleeve", 10, r+2, wallthick);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for(r = [0:ucount-1]) {
|
||||||
|
if(rack_bay_face[r] == "removable") {
|
||||||
|
translate([-gap-wallthick-1+(75*(r))+8,-300,0]) bay_tray(depth, r);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// ui access panel
|
// ui access panel
|
||||||
if(bottom_access_panel_enable == true) {
|
if(bottom_access_panel_enable == true) {
|
||||||
|
|||||||
Reference in New Issue
Block a user