Compare commits
65 Commits
nopscadlib
...
v2.0.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59b894d738 | ||
|
|
2e7cd76f20 | ||
|
|
7eab4fe790 | ||
|
|
501da93cad | ||
|
|
c83301debf | ||
|
|
c2d7cc3352 | ||
|
|
20ab01b924 | ||
|
|
0770c17468 | ||
|
|
3a1ba0f811 | ||
|
|
572293170d | ||
|
|
b59f99c0b6 | ||
|
|
a6795b3383 | ||
|
|
00648a52e9 | ||
|
|
f24d3e918b | ||
|
|
b4189a6cee | ||
|
|
6aa68c568e | ||
|
|
efed91db76 | ||
|
|
30d709a00e | ||
|
|
bb5fb69cab | ||
|
|
f7d06bb311 | ||
|
|
2aad1fef87 | ||
|
|
adf4101e3c | ||
|
|
fa1d426130 | ||
|
|
3af7520d67 | ||
|
|
d5f718ca59 | ||
|
|
236be28bdd | ||
|
|
6ef186018f | ||
|
|
bf7377efbb | ||
|
|
addb512b7f | ||
|
|
6cb1ad2e5d | ||
|
|
eb01bb2829 | ||
|
|
8b11dea464 | ||
|
|
489e953d09 | ||
|
|
dca4858007 | ||
|
|
4b24af0f4b | ||
|
|
33e9c04da1 | ||
|
|
c0da9dc727 | ||
|
|
36e6538090 | ||
|
|
8d1d9bdaf0 | ||
|
|
17e4e9dd97 | ||
|
|
44a0697e2b | ||
|
|
a068940140 | ||
|
|
e109837ae7 | ||
|
|
51f453be04 | ||
|
|
c23033d819 | ||
|
|
c29341d1d6 | ||
|
|
61446a322f | ||
|
|
949af488aa | ||
|
|
d565be1614 | ||
|
|
000724340b | ||
|
|
79985241c0 | ||
|
|
d070e829f0 | ||
|
|
e9b5d5508e | ||
|
|
c330f3fcad | ||
|
|
610a432a86 | ||
|
|
7806e8d578 | ||
|
|
6c46501c69 | ||
|
|
7fbb5d5f12 | ||
|
|
2f32d3c3b5 | ||
|
|
2ed95c20d1 | ||
|
|
788c6568ed | ||
|
|
dd2162b480 | ||
|
|
934f88523a | ||
|
|
98b8baa08d | ||
|
|
1d2826d015 |
135
README.md
135
README.md
@@ -3,9 +3,9 @@
|
||||
|
||||
## Introduction
|
||||
|
||||
This project is about autonomous SBC case creation. It utilizes the SBC Model Framework project to automatically generate cases based on the data for any given SBC contained within the framework. This allows legacy, current and future SBC to have multiple cases available on day one of their inclusion in the framework. There are multiple base case designs(shell, panel, stacked, tray, round, hex, snap, fitted) available and each allows for different styles within the design.
|
||||
This project is about autonomous SBC case creation. It utilizes the SBC Model Framework project to automatically generate cases based on the data for any of the 61 current SBC contained within the framework. This allows legacy, current and future SBC to have multiple cases available on day one of their inclusion in the framework. There are multiple base case designs(shell, panel, stacked, tray, tray-sides, round, hex, snap, fitted) available and each allows for different styles within the design.
|
||||
|
||||
All case openings are created automatically based on SBC data and, the dimensions of any case design can be expanded in any axis allowing for the creation of larger cases. If you reposition the SBC in a case, you will see i/o openings created or removed appropriately based on it’s proximity to the case geometry. These cases might be useful for prototypes or other in house uses to quickly and easily create standard, specialized and custom SBC cases thru different case designs, styles and accessories.
|
||||
All case openings are created automatically based on SBC data and the dimensions of any case design can be expanded in any axis allowing for the creation of larger cases. If you reposition the SBC in a case, you will see i/o openings created or removed appropriately based on it’s proximity to the case geometry. These cases might be useful for prototypes or other in house uses to quickly and easily create standard, specialized and custom SBC cases thru different case designs, styles and accessories.
|
||||
|
||||
License: GPLv3.
|
||||
|
||||
@@ -21,9 +21,9 @@ License: GPLv3.
|
||||
```
|
||||
|
||||
### SBC Case Builder Features:
|
||||
- Autonomous Multi-SBC, Parametric Multi-Case Generation
|
||||
- Autonomous Multi-SBC, Multi-Case Parametric Generation
|
||||
- Autonomous Case Standoffs with Variable Height
|
||||
- Extended Standoff sbc collision detection
|
||||
- Extended Standoff SBC collision detection
|
||||
- Accessory Customization Framework
|
||||
- Accessory Multi-Associative Parametric Positioning
|
||||
- Absolute Location
|
||||
@@ -47,6 +47,7 @@ License: GPLv3.
|
||||
- Sliding
|
||||
- Cylinder
|
||||
- Rack
|
||||
- Folded
|
||||
- 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.
|
||||
@@ -75,7 +76,7 @@ An array holds a string and 3 Boolean that represent which association and axis
|
||||
### Accuracy
|
||||
In the past there was been no way of validating whether a SBC Model Framework model and it’s 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.
|
||||
|
||||
There are currently 47 SBC represented by 43 models, from 8 manufactures in SBC Model Framework. Some SBC in SBC Model Framework have not been validated or may be missing component data and may produce one or more aspects of a case incorrectly. SBC status is noted in sbc.png, the README.md file and at the beginning of the SBC entry defined in sbc_models.cfg, all a part of SBC Model Framework. The color coded indicator of an SBC’s verification and completion as indicated in sbc.png is as follows:
|
||||
There are currently 58 SBC represented by 54 models, from 10 manufactures in SBC Model Framework. Some SBC in SBC Model Framework have not been validated or may be missing component data and may produce one or more aspects of a case incorrectly. SBC status is noted in sbc.png, the README.md file and at the beginning of the SBC entry defined in sbc_models.cfg, all a part of SBC Model Framework. The color coded indicator of an SBC’s verification and completion as indicated in sbc.png is as follows:
|
||||
|
||||
- GREEN = verified, complete and passes SBC Case Builder
|
||||
- YELLOW = unverified, mostlikely usable and/or missing minor information
|
||||
@@ -88,7 +89,7 @@ The SBC that I do not own have been created using manufacturer supplied mechanic
|
||||
|
||||
There are a few more ideas for base cases to be worked on as well as a host of supporting accessory models that need to be created. It would also be nice to have all of the OEM accessories for each SBC in the library as well. I’m still looking for a better way to create accessory entries and groups, and continue to expand and verify as many SBC as possible. With that and the obvious benefit of autonomously making SBC cases, this project has also been helping fulfill another personal goal.
|
||||
|
||||
Computer aided design(CAD) has been around along time but I have been interested in exploring approaches to the next step, computer autonomous design. Regardless of the current or future object creation method, whether it be manufactured or materialized, I believe a universal approach to autonomous design will be needed to advance the human condition. This application has helped me explore and think about practical approaches that might be possible right now in autonomous design and I hope to continue this work by developing new tools and techniques for the new CAD, computer autonomous design.
|
||||
Computer aided design(CAD) has been around along time but I have been interested in exploring approaches to the next step, computer autonomous design. Regardless of the current or future object creation method, whether it be manufactured or materialized, I believe a universal approach to autonomous design will be needed to advance the human condition. This application has helped me explore and think about practical approaches that might be possible right now in autonomous design and I hope to continue this work by developing new tools and techniques for the new CAD, Computer Autonomous Design.
|
||||
|
||||
### Notes
|
||||
|
||||
@@ -102,9 +103,9 @@ Template creation and i/o panel layouts in a dxf format can be easily created an
|
||||
### Case Designs and Styles
|
||||
The case naming convention for standard cases in the configuration file follow the basic form of “sbc”_”design”_”style” e.g. c4_shell or c4_tray_vu5.
|
||||
|
||||
#### Current Case Count 377
|
||||
#### Current Case Count 446
|
||||
|
||||
##### Hardkernel
|
||||
##### Hardkernel - 182
|
||||
|
||||
**Odorid-C1+ cases** - 16 : c1+_shell, c1+_panel, c1+_panel_lcd3.5, c1+_desktop_lcd3.5, c1+_stacked, c1+_tray, c1+_tray_sides, c1+_tray_vu5,
|
||||
c1+_tray_vu7, c1+_shell_boombox, c1+_panel_boombox, c1+_tray_boombox, c1+_round, c1+_hex, c1+_snap, c1+_fitted
|
||||
@@ -124,23 +125,39 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
|
||||
**Odorid-N2+ cases** - 9 :n2+_panel, n2+_tray, n2+_tray_sides, n2+_tray_vu5, n2+_tray_vu7, n2+_round, n2+_hex, n2+_snap, n2+_fitted
|
||||
|
||||
**Odorid-N2L cases** - 9 :n2l_shell, n2l_panel, n2l_stacked, n2l_tray, n2l_tray_sides, n2l_tray_vu5, n2l_tray_vu7, n2l_snap, n2l_fitted
|
||||
|
||||
**Odorid-N2LQ cases** - 9 :n2lq_shell, n2lq_panel, n2lq_stacked, n2lq_tray, n2lq_tray_sides, n2lq_tray_vu5, n2lq_tray_vu7, n2lq_snap, n2lq_fitted
|
||||
|
||||
**Odorid-M1 cases** - 12 : m1_panel, m1_tray, m1_tray_drive, m1_tray_sides, m1_tray_vu5, m1_tray_vu7, m1_snap, m1_fitted, m1_fitted_drivebox2.5, m1_fitted_drivebox3.5, m1_fitted_pizzabox, m1_fitted_drivebox3.5v
|
||||
|
||||
**Odorid-XU4 cases** - 11 : xu4_shell, xu4_panel, xu4_stacked, xu4_tray, xu4_tray_sides, xu4_tray_vu5, xu4_tray_vu7, xu4_round, xu4_hex, xu4_snap, xu4_fitted
|
||||
|
||||
**Odorid-XU4Q cases** - 11 : xu4q_shell, xu4q_panel, xu4q_stacked, xu4q_tray, xu4q_tray_sides, xu4q_tray_vu5, xu4q_tray_vu7, xu4q_round, xu4q_hex, xu4q_snap, xu4q_fitted
|
||||
|
||||
**Odroid-H2 and H3 cases** - 17 : h2_shell, h2_lowboy, h2_lowboy_router, h2_shell_router, h2_shell_routerssd, h2_panel, h2_stacked, h2_tray, h2_tray_sides, h2_tray_vu5, h2_tray_vu7, h2_tray_router, h2_router_station, h2_round, h2_hex, h2_snap, h2_fitted
|
||||
**Odroid-H2 cases** - 17 : h2_shell, h2_lowboy, h2_lowboy_router, h2_shell_router, h2_shell_router-ssd, h2_panel, h2_stacked, h2_tray, h2_tray_sides, h2_tray_vu5, h2_tray_vu7, h2_tray_router, h2_router_station, h2_round, h2_hex, h2_snap, h2_fitted
|
||||
|
||||
**Odroid-H3 cases** - 18 : h3_shell, h3_shell-internalfan, h3_lowboy, h3_lowboy_router, h3_shell_router, h3_shell_router-ssd, h3_panel, h3_stacked, h3_tray, h3_tray_sides, h3_tray_vu5, h3_tray_vu7, h3_tray_router, h3_router_station, h3_round, h3_hex, h3_snap, h3_fitted
|
||||
|
||||
**Odroid-Show2** cases - 1 : show2_shell
|
||||
|
||||
|
||||
##### Pine64
|
||||
##### Pine64 - 24
|
||||
|
||||
**Rock64** - 9 : rockp64_shell, rock64_panel, rock64_stacked, rock64_tray, rock64_tray_sides, rock64_round, rock64_hex, rock64_snap, rock64_fitted
|
||||
|
||||
**RockPro64** - 9 : rockpro64_shell, rockpro64_panel, rockpro64_stacked, rockpro64_tray, rockpro64_tray_sides, rockpro64_round, rockpro64_hex, rockpro64_snap, rockpro64_fitted
|
||||
|
||||
**Quartz64a** - 2 : quartz64a_shell, quartz64a_panel
|
||||
|
||||
##### Raspberry PI
|
||||
**Quartz64b** - 2 : quartz64b_shell, quartz64b_panel
|
||||
|
||||
**h64b** - 2 : h64b_shell, h64b_panel
|
||||
|
||||
**star64** - 1 : star64_shell
|
||||
|
||||
|
||||
##### Raspberry PI - 72
|
||||
|
||||
**RPIzero** - 9 : rpizero_shell, rpizero_panel, rpizero_stacked, rpizero_tray, rpizero_tray_sides, rpizero_round, rpizero_hex, rpizero_snap, rpizero_fitted
|
||||
|
||||
@@ -159,23 +176,23 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
**RPI4b** - 9 : rpi4b_shell, rpi4b_panel, rpi4b_stacked, rpi4b_tray, rpi4b_tray_sides, rpi4b_round, rpi4b_hex, rpi4b_snap, rpi4b_fitted
|
||||
|
||||
|
||||
##### Nivida
|
||||
##### Nivida - 1
|
||||
|
||||
**Jetson Nano** - 9 : jetsonnano_shell, jetsonnano_panel, jetsonnano_stacked, jetsonnano_tray, jetsonnano_tray_sides, jetsonnano_round, jetsonnano_hex, jetsonnano_snap, jetsonnano_fitted
|
||||
|
||||
|
||||
##### Radxa
|
||||
##### Radxa - 37
|
||||
|
||||
**ROCKPi 4b+** - 9 : rockpi4b+_shell, rockpi4b+_panel, rockpi4b+_stacked, rockpi4b+_tray, rockpi4b+_tray_sides, rockpi4b+_round, rockpi4b+_hex, rockpi4b+_snap, rockpi4b+_fitted
|
||||
**ROCK 4b+** - 9 : rock4b+_shell, rock4b+_panel, rock4b+_stacked, rock4b+_tray, rock4b+_tray_sides, rock4b+_round, rock4b+_hex, rock4b+_snap, rock4b+_fitted
|
||||
|
||||
**ROCKPi 4c** - 9 : rockpi4c_shell, rockpi4c_panel, rockpi4c_stacked, rockpi4c_tray, rockpi4c_tray_sides, rockpi4c_round, rockpi4c_hex, rockpi4c_snap, rockpi4c_fitted
|
||||
**ROCK 4c** - 9 : rock4c_shell, rock4c_panel, rock4c_stacked, rock4c_tray, rock4c_tray_sides, rock4c_round, rock4c_hex, rock4c_snap, rock4c_fitted
|
||||
|
||||
**ROCKPi 4c+** - 9 : rockpi4c+_shell, rockpi4c+_panel, rockpi4c+_stacked, rockpi4c+_tray, rockpi4c+_tray_sides, rockpi4c+_round, rockpi4c+_hex, rockpi4c+_snap, rockpi4c+_fitted
|
||||
**ROCK 4c+** - 9 : rock4c+_shell, rock4c+_panel, rock4c+_stacked, rock4c+_tray, rock4c+_tray_sides, rock4c+_round, rock4c+_hex, rock4c+_snap, rock4c+_fitted
|
||||
|
||||
**ROCKPi5b** - 9 : rockpi5b_shell, rockpi5b_panel, rockpi5b_stacked, rockpi5b_tray, rockpi5b_tray_sides, rockpi5b_round, rockpi5b_hex, rockpi5b_snap, rockpi5b_fitted
|
||||
**ROCK 5b** - 10 : rock5b_shell,rock5b_shell-v1.3, rock5b_panel, rock5b_stacked, rock5b_tray, rock5b_tray_sides, rock5b_round, rock5b_hex, rock5b_snap, rock5b_fitted
|
||||
|
||||
|
||||
##### Khadas
|
||||
##### Khadas - 45
|
||||
|
||||
**Vim1** - 9 : vim1_shell, vim1_panel, vim1_stacked, vim1_tray, vim1_tray_sides, vim1_round, vim1_hex, vim1_snap, vim1_fitted
|
||||
|
||||
@@ -188,7 +205,7 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
**Vim4** - 9 : vim4_shell, vim4_panel, vim4_stacked, vim4_tray, vim4_tray_sides, vim4_round, vim4_hex, vim4_snap, vim4_fitted
|
||||
|
||||
|
||||
##### Asus
|
||||
##### Asus - 36
|
||||
|
||||
**Tinkerboard** - 9 : tinkerboard_shell, tinkerboard_panel, tinkerboard_stacked, tinkerboard_tray, tinkerboard_tray_sides, tinkerboard_round, tinkerboard_hex, tinkerboard_snap, tinkerboard_fitted
|
||||
|
||||
@@ -199,15 +216,31 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
**Tinkerboard R2/R2S** - 9 : tinkerboard-r2_shell, tinkerboard-r2_panel, tinkerboard-r2_stacked, tinkerboard-r2_tray, tinkerboard-r2_tray_sides, tinkerboard-r2_round, tinkerboard-r2_hex, tinkerboard-r2_snap, tinkerboard-r2_fitted
|
||||
|
||||
|
||||
##### Orange PI
|
||||
##### Orange PI - 34
|
||||
|
||||
**OPI 5** - 7 : opi5_shell, opi5_panel, opi5_stacked, opi5_tray, opi5_tray_sides, opi5_snap, opi5_fitted
|
||||
|
||||
**OPI Zero/ZeroPlus** - 9 : opizero_shell, opizero_panel, opizero_stacked, opizero_tray, opizero_tray_sides, opizero_round, opizero_hex, opizero_snap, opizero_fitted
|
||||
|
||||
**OPI Zero2** - 9 : opizero2_shell, opizero2_panel, opizero2_stacked, opizero2_tray, opizero2_tray_sides, opizero2_round, opizero2_hex, opizero2_snap, opizero2_fitted
|
||||
|
||||
**OPI R1** - 1 : opir1_shell
|
||||
|
||||
**OPI R1PlusLTS** - 9 : opir1plus_lts_shell, opir1plus_lts_panel, opir1plus_lts_stacked, opir1plus_lts_tray, opir1plus_lts_tray_sides, opir1plus_lts_round, opir1plus_lts_hex, opir1plus_lts_snap, opir1plus_lts_fitted
|
||||
|
||||
|
||||
##### Sipeed - 1
|
||||
|
||||
**licheerv+dock** - 0 :
|
||||
|
||||
|
||||
##### StarFive - 14
|
||||
|
||||
**visionfive2** - 7 : visionfive2_shell, visionfive2_panel, visionfive2_stacked, visionfive2_tray, visionfive2_tray_sides, visionfive2_snap, visionfive2_fitted
|
||||
|
||||
**visionfive2q** - 7 : visionfive2q_shell, visionfive2q_panel, visionfive2q_stacked, visionfive2q_tray, visionfive2q_tray_sides, visionfive2q_snap, visionfive2q_fitted
|
||||
|
||||
|
||||
### Accessory Schema
|
||||
The schema for case accessories is documented in the beginning of the file sbc_case_builder_accessories.cfg. There is one fixed entry that is the accessory set name followed by an unlimited number of accessory entries each containing 15 entries.
|
||||
```
|
||||
@@ -309,6 +342,13 @@ description: circlular geometry.
|
||||
*uses:* data_1=scale, data_2=height, data_3=file
|
||||
|
||||
|
||||
**keyhole**
|
||||
|
||||
*description:* enclosed keyhole
|
||||
|
||||
*uses:* data4=[head_dia, slot_width, slot_length, floor_thick]
|
||||
|
||||
|
||||
|
||||
#### Add class only “types”
|
||||
|
||||
@@ -410,6 +450,13 @@ description: circlular geometry.
|
||||
*uses:* data_1=tolorence
|
||||
|
||||
|
||||
**nut_holder**
|
||||
|
||||
*description:* nut holder
|
||||
|
||||
*uses:* size_x=top diameter or x size in mm, size_y=bottom diameter or y size in mm, size_z=holder height in mm, data_0="m2" or "m2.5" or "m3" or "m4", data_1="default" or "sloped" or "trap"
|
||||
|
||||
|
||||
#### Sub class only “types”
|
||||
|
||||
|
||||
@@ -424,7 +471,15 @@ description: circlular geometry.
|
||||
|
||||
*description:* horizontal or vertical vent openings
|
||||
|
||||
*uses:* size_x=open_width, size_y=open_length, size_z=thick, data_4=gap, data_1=rows, data_3=columns,
|
||||
*uses:* size_x=open_width, size_y=open_length, size_z=thick, data_1=rows, data_2=columns,
|
||||
data_3=orientation("vertical","horizontal"), data_4=gap
|
||||
|
||||
|
||||
**vent_hex**(cells_x, cells_y, cell_size, cell_spacing, orientation)
|
||||
|
||||
*description:* horizontal or vertical hex vent openings
|
||||
|
||||
*uses:* size_x=cells_x, size_y=cells_y, size_z=thick, data_1=cell_size, data_2=cell_spacing,
|
||||
data_3=orientation("vertical","horizontal")
|
||||
|
||||
|
||||
@@ -579,6 +634,34 @@ data_3=orientation("vertical","horizontal")
|
||||
*uses:* none
|
||||
|
||||
|
||||
**h3_port_extender**
|
||||
|
||||
*description:* h3 usb port extender model
|
||||
|
||||
*uses:* data_3="header" or "remote"
|
||||
|
||||
|
||||
**hk_pwr_button**
|
||||
|
||||
*description:* hk power button model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**dsub**
|
||||
|
||||
*description:* d-sub connectors
|
||||
|
||||
*uses:* data4=[pin, type("male" or "female"), floor_thick]
|
||||
|
||||
|
||||
**vent_panel_hex**
|
||||
|
||||
*description:* cover for vent opening, honeycomb pattern
|
||||
|
||||
*uses:* size_x=x, size_y=y, size_z=thick,
|
||||
data1=cell_size, data2=cell_spacing,
|
||||
data3="x", "y", "none", or "default", data4=border
|
||||
|
||||
#### Platter class “types”
|
||||
|
||||
@@ -616,3 +699,13 @@ data_3=orientation("vertical","horizontal")
|
||||
*description:* hk stereo boom bonnet volume wheel extention
|
||||
|
||||
*uses:* data_1=tolerence
|
||||
|
||||
|
||||
**vent_panel_hex**
|
||||
|
||||
*description:* cover for vent opening, honeycomb pattern
|
||||
|
||||
*uses:* size_x=x, size_y=y, size_z=thick,
|
||||
data1=cell_size, data2=cell_spacing,
|
||||
data3="x", "y", "none", or "default", data4=border
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.8 MiB |
Submodule SBC_Model_Framework updated: feab0761ff...d81d920219
@@ -1,9 +1,9 @@
|
||||
// Gets a list of SBCs from the SBC Model Framework and Accessory sets
|
||||
// for use with SBC Case Builder.
|
||||
// After running this script, copy the output from the first Echo command into the
|
||||
// list of SBC boards in `sbc_case_builder.scad:80`
|
||||
// list of SBC boards in `sbc_case_builder.scad:83`
|
||||
// Also copy the output from the second Echo command into the list of case acceessory
|
||||
// sets in `sbc_case_builder.scad:160`
|
||||
// sets in `sbc_case_builder.scad:164`
|
||||
|
||||
include <./SBC_Model_Framework/sbc_models.cfg>;
|
||||
include <./sbc_case_builder_accessories.cfg>;
|
||||
@@ -14,4 +14,4 @@ echo(boards);
|
||||
|
||||
accessory_sets = [for(i=[0:1:len(accessory_data)-1]) accessory_data[i][0]];
|
||||
echo("Copy the following to `sbc_case_builder.scad` for the `accessory_name` variable");
|
||||
echo(accessory_sets);
|
||||
echo(accessory_sets);
|
||||
|
||||
11196
sbc_case_builder.json
11196
sbc_case_builder.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -14,25 +14,8 @@
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
Code released under GPLv3: http://www.gnu.org/licenses/gpl.html
|
||||
|
||||
20220212 Version 1.1.0 SBC Case Builder configuration file
|
||||
20220220 Version 1.1.1 changed accessory rotation to an array,
|
||||
added commands add1,add2,model,platter
|
||||
added top_ext_standoff[],bottom_ext_standoff
|
||||
20220227 Version 1.1.2 added cases hc4_shell_drivebox2.5, hc4_shell_drivebox3.5, hc4_shell_drivebox2.5v
|
||||
20220306 Version 1.1.3 added cases h2_shell_router, h2_shell_router-ssd, h2_lowboy_router, h2_lowboy, h2_tray_router, h2_router_station
|
||||
20220312 Version 1.2.0 added cases c4_panel_lcd3.5, c2_panel_lcd3.5, c1+_panel_lcd3.5, c1+_desktop_lcd3.5, c2_desktop_lcd3.5,
|
||||
c4_desktop_lcd3.5, adjusted h2_lowboy
|
||||
20220320 Version 1.2.1 added cases c1+_shell_boombox, c1+_panel_boombox, c1+_tray_boombox,
|
||||
c2_shell_boombox, c2_panel_boombox, c2_deskboom_lcd3.5, c2_tray_boombox,
|
||||
c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boombox
|
||||
20220406 Version 1.2.2 various case adjustments
|
||||
20220515 Version 1.2.3 added m1_panel,m1_tray,m1_tray_drive,m1_tray_sides,m1_tray_vu5,m1_tray_vu7,show2_shell
|
||||
jetsonnano_shell,jetsonnano_panel,jetsonnano_stacked,jetsonnano_tray
|
||||
rockpro64_shell,rockpro64_panel,rockpro64_stacked,rockpro64_tray
|
||||
20221005 Version 2.0.0 added cusotmizer graphical ui, seperated case data from accessory data, moved case data to customizer json format,
|
||||
added multi-associative parametric positioning of accessories, added variable height sbc standoffs to accomidate
|
||||
add-on pcb, converted all existing accessories to use parametric positioning.
|
||||
|
||||
SBC Case Builder accessory configuration file
|
||||
|
||||
see https://github.com/hominoids/SBC_Case_Builder
|
||||
*/
|
||||
|
||||
@@ -48,7 +31,7 @@
|
||||
|
||||
types for additive: circle,rectangle,slot,text,art,button,standoff,batt_holder,uart_holder,hd_holder,hd_vertleft_holder,
|
||||
hd_vertright_holder,hc4_oled_holder,access_port,button,pcb_holder,boom_grill,boom_speaker_holder
|
||||
types for subtractive: circle,rectangle,slot,text,art,punchout,vent,fan,hd_holes,hd_vertleft_holes,hd_vertright_holes,microusb,sphere
|
||||
types for subtractive: circle,rectangle,slot,text,art,punchout,vent,vent_hex,fan,hd_holes,hd_vertleft_holes,hd_vertright_holes,microusb,sphere
|
||||
types for model: uart_strap,fan_cover,hd25,hd35,hc4_oled,feet,button_top,access_cover,net_card,hk35_lcd,hk_boom,boom_speaker,boom_vring,hk_uart
|
||||
types for platter: uart_strap,fan_cover,button_top,boom_vring
|
||||
|
||||
@@ -68,6 +51,13 @@
|
||||
|
||||
accessory_data = [
|
||||
["none"],
|
||||
|
||||
// hk uart group
|
||||
["hk_uart",
|
||||
"add2","uart_holder",-25,0,1.9,"bottom",[0,0,0],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart holder
|
||||
"model","hk_uart",-22.5,23,5,"bottom",[0,0,-90],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart model
|
||||
"model","uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0,
|
||||
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk uart strap
|
||||
|
||||
// Odroid-C1+
|
||||
["c1+_shell_boombox",
|
||||
@@ -395,6 +385,11 @@ accessory_data = [
|
||||
"suball","round",10.5,-2,14.5,"top",[90,0,0],["case",false,false,false],11,0,18,0,0,"",0, // sub power plug hole
|
||||
"suball","rectangle",35,-26,4,"top",[0,0,0],["case",false,false,false],21,10,15.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
|
||||
|
||||
// Odroid-XU4
|
||||
["xu4_keyhole",
|
||||
"add1","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",[7,3.2,6,2], // keyhole
|
||||
"sub","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",[7,3.2,6,2]], // keyhole
|
||||
|
||||
|
||||
// Odroid-HC4
|
||||
["hc4_tray_drivebox2.5",
|
||||
@@ -417,10 +412,10 @@ accessory_data = [
|
||||
"add2","hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],0,0,2,0,0,"",0, // model hc4 holder
|
||||
"add2","hd_holder",10,-21,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,0,"portrait",0, // add hd holder
|
||||
"sub","hd_holes",10,-21,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||
"sub","round",92,-5,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,69.6,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,-5,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,69.6,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screws hole
|
||||
"sub","round",92,-5,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,69.6,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,-5,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,69.6,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screws hole
|
||||
"sub","vent",71.85,88,30,"top",[0,0,0],["case",false,true,false],2,13,4,1,4,"vertical",1, // sub vent
|
||||
"suball","fan",39,-.1,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // sub fan
|
||||
"sub","vent",-3.5,35,34,"top",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
@@ -472,6 +467,15 @@ accessory_data = [
|
||||
["n1_hex",
|
||||
"sub","fan",50,25,24.5,"top",[0,0,45],["case",false,false,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
// Odroid-N2L
|
||||
["n2l_tray",
|
||||
"sub","rectangle",65,36,-2.5,"bottom",[0,0,0],["case",true,true,true],5,13,15.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
|
||||
|
||||
["n2l_gpio",
|
||||
"sub","vent",22,-1.99,16,"top",[0,0,0],["sbc-case_z",true,true,true],2,9,8,1,10,"vertical",1, // vent opening
|
||||
"sub","fan",20,8,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0, // sub fan opening
|
||||
"sub","rectangle",8.5,49,9.9,"top",[0,0,0],["sbc",true,true,true],56,18,20,0,0,"vertical",[1,1,1,1]], // gpio opening
|
||||
|
||||
// Odroid-N2+
|
||||
// internal fan
|
||||
["n2+_tray_vu7_fan",
|
||||
@@ -493,7 +497,7 @@ accessory_data = [
|
||||
"sub","vent",94.5,32,10,"top",[0,0,90],["case",true,false,false],2,15,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-6.5,32,10,"top",[0,0,90],["case",false,false,false],2,15,4,1,17,"vertical",1], // vent opening
|
||||
|
||||
["m1_tray_drive",
|
||||
["m1_tray_ssd",
|
||||
"sub","hd_holes",10,22,33,"top",[0,0,0],["sbc-case_z",true,true,true],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||
"model","hd25",10,122,25.5,"top",[0,0,-90],["sbc-case_z",true,true,true],0,0,0,7.5,0,"",0, // model 2.5 hd
|
||||
"sub","vent",22,32,33,"top",[0,0,0],["sbc-case_z",true,true,true],2,15,8,2,12,"horizontal",1, // top vent opening
|
||||
@@ -516,6 +520,74 @@ accessory_data = [
|
||||
"sub","vent",93,32,10,"right",[0,0,90],["case",true,false,false],2,15,6,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-7,32,10,"left",[0,0,90],["case",false,false,false],2,15,6,1,17,"vertical",1], // vent opening
|
||||
|
||||
["m1_fitted_drivebox2.5",
|
||||
"add2","hd_holder",10,20,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,0,"portrait",0, // add hd holder
|
||||
"sub","hd_holes",10,20,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||
"sub","round",92,34,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,110.6,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,34,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",92,110.6,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screws hole
|
||||
"suball","fan",39,-.1,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // sub fan
|
||||
"sub","vent",-3.75,25,30,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,25,30,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.75,25,9,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,25,9,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"model","hd25",10,120,2,"bottom",[0,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd
|
||||
"model","hd25",10,120,20,"bottom",[0,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd
|
||||
"model","fan_cover",39,-4,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,2,0,"",0, // model fan
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,2,0,"",0], // model fan
|
||||
|
||||
["m1_fitted_drivebox3.5",
|
||||
"add2","hd_holder",-19.4,-27,3,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,0,"portrait",0, // add hd holder
|
||||
"sub","hd_holes",-19.4,-27,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,3,"portrait",0, // sub hd bottom holes
|
||||
"sub","round",91.6,1.5,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",91.6,43.4,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",91.6,103.1,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","vent",-3.75,60,40,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,60,40,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.75,60,20,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,60,20,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"suball","vent",29,126,29,"bottom",[0,0,0],["case",false,true,false],2,13,4,1,4,"vertical",1, // sub vent
|
||||
"suball","fan",5.6,-1.5,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // sub fan
|
||||
"model","hd35",-19.4,120,3,"bottom",[0,0,-90],["case",true,true,false],0,0,0,0,0,"",0, // model 3.5 hd
|
||||
"model","hd35",-19.4,120,35,"bottom",[0,0,-90],["case",true,true,false],0,0,0,0,0,"",0, // model 3.5 hd
|
||||
"model","fan_cover",5.6,-4,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,2,0,"",0, // model fan
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,2,0,"",0], // model fan
|
||||
|
||||
["m1_fitted_pizzabox",
|
||||
"sub","hd_holes",-12,-27,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,3,"portrait",0, // sub hd bottom holes
|
||||
"sub","round",91.6,1.5,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",91.6,43.4,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",91.6,103.1,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","vent",-3.75,60,9,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,60,9,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"suball","vent",-89,126,15,"bottom",[0,0,0],["case",true,true,false],2,13,4,1,4,"vertical",1, // sub vent
|
||||
"suball","fan",-30,60,48,"top",[0,0,0],["case",true,false,false],80,0,3,2,0,"",0, // sub fan
|
||||
"model","hd35",-12,120,2.5,"bottom",[0,0,-90],["case",true,true,false],0,0,0,0,0,"",0, // model 3.5 hd
|
||||
// "model","fan_cover",5.6,-4,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,2,0,"",0, // model fan
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,2,0,"",0], // model fan
|
||||
|
||||
["m1_fitted_drivebox3.5v",
|
||||
// "add2","hd_vertright",45.6,-21,2.49,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,0,"portrait",0, // sub hd bottom holes
|
||||
// "sub","hd_vertright_holes",45.6,-21,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,2.5,"portrait",0, // sub hd bottom holes
|
||||
// "add2","hd_vertleft",0,-27,2.49,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,0,"portrait",0, // add hd holder
|
||||
// "sub","hd_vertleft_holes",0,-27,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,0,"portrait",0, // sub hd bottom holes
|
||||
"add2","hd_vertleft",80,-27,2.49,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,0,"portrait",0, // add hd holder
|
||||
"sub","hd_vertleft_holes",80,-27,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,3.5,0,"portrait",0, // sub hd bottom holes
|
||||
"sub","round",91.6,14.5,6,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",91.6,58.55,6,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",91.6,90.1,6,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole
|
||||
"sub","vent",-3.75,60,40,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,60,40,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.75,60,20,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",92,60,20,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"suball","vent",29,126,29,"bottom",[0,0,0],["case",false,true,false],2,13,4,1,4,"vertical",1, // sub vent
|
||||
"suball","fan",5.6,-1.5,50,"bottom",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // sub fan
|
||||
// "model","hd35",-19.4,120,104.1,"bottom",[-90,0,-90],["case",true,true,false],0,0,0,0,0,"",0, // model 3.5 hd
|
||||
"model","hd35",80,120,2.5,"bottom",[90,0,-90],["case",true,true,false],0,0,0,0,0,"",0, // model 3.5 hd
|
||||
"model","fan_cover",5.6,-4,50,"bottom",[90,0,0],["case",true,false,false],40,0,3,2,0,"",0, // model fan
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,2,0,"",0], // model fan
|
||||
|
||||
|
||||
// Odroid-H2
|
||||
["h2_shell",
|
||||
@@ -582,7 +654,7 @@ accessory_data = [
|
||||
"sub","vent",111.5,30,18,"top",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"add2","batt_holder",98,40,44,"top",[180,0,-18],["case",false,false,true],10,10,0,0,0,"",0, // add uart
|
||||
"add2","batt_holder",98,40,53,"top",[180,0,-18],["case",false,false,true],10,10,0,0,0,"",0, // add uart
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button
|
||||
@@ -701,6 +773,217 @@ accessory_data = [
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,32,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0], // access port cover
|
||||
|
||||
// Odroid-H3
|
||||
["h3_shell",
|
||||
"sub","vent",-3.5,30,18,"top",[0,0,90],["case",false,false,true],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,18,"top",[0,0,90],["case",true,false,true],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,true],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,true],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,79.5,2,0,0,"landscape",0, // access port
|
||||
"add2","batt_holder",98,40,53,"top",[180,0,-18],["sbc-case_z",true,true,true],10,10,0,0,0,"",0, // add battery holder
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button
|
||||
"model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button top
|
||||
"model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button top
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,32,0,0,"recess",0, // button top
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,32,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0], // access port cover
|
||||
|
||||
["h3_lowboy",
|
||||
"sub","rectangle",94.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",68,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",44.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",19.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",9.5,26.5,50,"top",[0,0,0],["sbc-case_z",true,true,true],79.5,74.5,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","vent",-3.5,30,18,"top",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,18,"top",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"add2","-batt_holder",111.6,45,38,"top",[180,90,0],["sbc-case_z",true,true,true],10,10,0,0,0,"",0, // add battery holder
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button
|
||||
"model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button top
|
||||
"model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button top
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0], // access port cover
|
||||
|
||||
["h3_lowboy_router",
|
||||
"sub","rectangle",94.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",68,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",44.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",19.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",9.5,26.5,50,"top",[0,0,0],["sbc-case_z",true,true,true],79.5,74.5,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","vent",-3.5,30,30,"top",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,30,"top",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening
|
||||
"add2","-batt_holder",98,40,44,"top",[180,0,-18],["case",false,false,false],10,10,0,0,0,"",0, // add uart
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button
|
||||
"model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button top
|
||||
"model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button top
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"model","h2_netcard",0,0,19,"bottom",[0,0,0],["sbc",true,true,true],0,0,0,0,0,"portrait",0, // h2 network card
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0], // access port cover
|
||||
|
||||
["h3_tallboy",
|
||||
"sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,28,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,28,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","fan",99,10,48,"top",[0,0,90],["sbc-case_z",true,true,true],90,0,6,2,0,"",0, // fan opening
|
||||
"add2","batt_holder",113.5,45,20,"top",[90,0,270],["sbc-case_z",true,true,true],10,10,0,0,0,"",0, // add battery holder
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
"model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
"model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0], // access port cover
|
||||
|
||||
["h3_tallboy-ssd",
|
||||
"sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,28,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,28,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","fan",99,10,48,"top",[0,0,90],["sbc-case_z",true,true,true],90,0,6,2,0,"",0, // fan opening
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
"model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
"model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"sub","round",111,34,6.07,"bottom",[0,90,0],["case",true,false,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",111,110.6,6.07,"bottom",[0,90,0],["case",true,false,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"add2","hd_vertleft",98,10,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // add hd holder
|
||||
"sub","hd_vertleft_holes",98,10,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||
"model","hd25",98,110,2,"bottom",[90,0,-90],["case",true,true,false],0,0,0,7,0,"",0], // model 2.5 hd
|
||||
|
||||
["h3_ultimate",
|
||||
"sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,19,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,28,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","fan",99,10,48,"top",[0,0,90],["sbc-case_z",true,true,true],90,0,6,2,0,"",0, // fan opening
|
||||
"sub","round",3.81,17.78,29,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,26,0,0,"",0, // sub screw hole
|
||||
"sub","round",3.81,106.19,29,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,26,0,0,"",0, // sub screw hole
|
||||
"sub","round",106.04,24.77,29,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,26,0,0,"",0, // sub screw hole
|
||||
"sub","round",106.04,106.2,29,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,26,0,0,"",0, // sub screw hole
|
||||
"model","h3_port_extender",6,70,18.5,"bottom",[0,0,0],["sbc",true,true,false],0,0,0,0,0,"header",0, // h3 port extender
|
||||
"sub","h3_port_extender",6,70,18.5,"top",[0,0,0],["sbc",true,true,false],0,0,0,0,0,"header",0, // h3 port extender
|
||||
"model","hk_pwr_button",20,110,53,"top",[0,0,0],["sbc-case_z",true,true,true],0,0,0,0,0,0,0, // hk pwr button model
|
||||
"sub","hk_pwr_button",20,110,53,"top",[0,0,0],["sbc-case_z",true,true,true],0,0,0,0,0,0,0, // hk pwr button model
|
||||
// "add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
// "add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
// "model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
// "model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
// "platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
// "platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,true],100,80,2,0,0,"landscape",0, // access port
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"sub","round",111,34,6.07,"bottom",[0,90,0],["case",true,false,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",111,110.6,6.07,"bottom",[0,90,0],["case",true,false,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"add2","hd_vertleft",98,10,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // add hd holder
|
||||
"sub","hd_vertleft_holes",98,10,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||
"model","hd25",98,110,2,"bottom",[90,0,-90],["case",true,true,false],0,0,0,7,0,"",0], // model 2.5 hd
|
||||
|
||||
["h3_ultimate2",
|
||||
"suball","fan",0,25,3,"top",[0,270,0],["case",false,false,false],60,0,6,1,0,"",0, // sub fan opening
|
||||
"model","fan_cover",-4,25,3,"top",[0,270,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover
|
||||
"platter","fan_cover",-100,150,0,"top",[0,0,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover
|
||||
"model","vent_panel_hex",144,11.77,64,"top",[0,90,0],["case",false,false,false],62,107.43,3,5.0,1.6,"y",14, // model vent cover
|
||||
"platter","vent_panel_hex",-200,13.77,0,"top",[0,0,0],["case",false,false,false],62,107.43,3,5.0,1.6,"y",14, // model vent cover
|
||||
"suball","rectangle",111,26.77,62,"top",[0,90,0],["case",true,false,false],58,77.43,4,0,0,"",[2,2,2,2], // vent opening
|
||||
"sub","round",111,16.57,57,"top",[0,90,0],["case",true,false,false],7,0,4,0,0,"",0, // vent cover screw hole
|
||||
"sub","round",111,16.57,9,"bottom",[0,90,0],["case",true,false,false],7,0,4,0,0,"",0, // vent cover screw hole
|
||||
"sub","round",111,114.4,57,"top",[0,90,0],["case",true,false,false],7,0,4,0,0,"",0, // vent cover screw hole
|
||||
"sub","round",111,114.4,9,"bottom",[0,90,0],["case",true,false,false],7,0,4,0,0,"",0, // vent cover screw hole
|
||||
"sub","round",3.81,17.78,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
|
||||
"sub","round",3.81,106.19,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
|
||||
"sub","round",106.04,24.77,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
|
||||
"sub","round",106.04,106.2,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole
|
||||
"add2","nut_holder",144,16.57,57,"top",[0,270,0],["case",false,false,false],8,16,5,"m3","sloped",0,0, // vent cover nut holder
|
||||
"add2","nut_holder",144,16.57,9 ,"bottom",[0,270,0],["case",false,false,false],8,16,5,"m3","sloped",0,0, // vent cover nut holder
|
||||
"add2","nut_holder",144,114.4,57,"top",[0,270,0],["case",false,false,false],8,16,5,"m3","sloped",0,0, // vent cover nut holder
|
||||
"add2","nut_holder",144,114.4,9 ,"bottom",[0,270,0],["case",false,false,false],8,16,5,"m3","sloped",0,0, // vent cover nut holder
|
||||
"sub","rectangle",-4,100.5,3,"top",[0,0,0],["sbc-case_z",true,true,true],14,4,20,0,0,"",[1,1,1,1], // sub rectangle
|
||||
"sub","rectangle",100.5,17,30,"top",[0,0,0],["sbc-case_z",true,true,true],9,4,10,0,0,"",[1,1,1,1], // sub rectangle
|
||||
"add1","round",23,111.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",71,111.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",-31.5,3,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",-31.5,77,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",-10,111.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",101,111.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",91.25,-16.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",66.25,-16.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",42.25,-16.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",16.25,-16.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",-1,-16.5,4,"top",[0,0,0],["case",true,true,true],4,0,47,0,0,"",0, // wall support
|
||||
"add1","round",-29,109,4,"top",[0,0,0],["case",true,true,true],3,0,47,0,0,"",0, // wall support
|
||||
"add1","round",-29,-14,4,"top",[0,0,0],["case",true,true,true],3,0,47,0,0,"",0, // wall support
|
||||
"add1","round",109,109,4,"top",[0,0,0],["case",true,true,true],3,0,47,0,0,"",0, // wall support
|
||||
"add1","rectangle",2,7,49,"top",[0,0,0],["case",true,true,true],4,80,3,0,0,"",[.25,.25,.25,.25], // ceiling support
|
||||
"add1","rectangle",27,-16.5,49,"top",[0,0,0],["case",true,true,true],4,130,3,0,0,"",[.25,.25,.25,.25], // ceiling support
|
||||
"add1","rectangle",52,-16.5,49,"top",[0,0,0],["case",true,true,true],4,130,3,0,0,"",[.25,.25,.25,.25], // ceiling support
|
||||
"add1","rectangle",77,-16.5,49,"top",[0,0,0],["case",true,true,true],4,130,3,0,0,"",[.25,.25,.25,.25], // ceiling support
|
||||
"add1","rectangle",104,7,49,"top",[0,0,0],["case",true,true,true],4,80,3,0,0,"",[.25,.25,.25,.25], // ceiling support
|
||||
"model","h3_port_extender",31,119,4,"top",[0,0,-90],["case",true,false,true],0,0,0,0,0,"remote",0, // port extender model
|
||||
"sub","h3_port_extender",31,119,4,"top",[0,0,-90],["case",true,false,true],0,0,0,0,0,"remote",0, // port extender openings
|
||||
"model","h3_port_extender_holder",31,119,4,"top",[0,0,-90],["case",true,false,true],0,0,0,2.5,0,"both",0, // port extender holder
|
||||
"platter","h3_port_extender_holder",-170,150,0,"top",[0,0,-90],["case",true,false,true],0,0,0,2.5,0,"remote",0, // port extender holder
|
||||
"model","hk_pwr_button",11,114,53,"top",[0,0,180],["case",false,false,true],0,0,0,0,0,0,0, // hk pwr button model
|
||||
"sub","hk_pwr_button",11,114,53,"top",[0,0,0],["case",false,false,true],0,0,0,0,0,0,0, // hk pwr button opening
|
||||
"model","dsub",12,-1,48,"top",[0,90,0],["case",false,false,false],0,0,0,0,0,0,[9,"male",4], // db9 model
|
||||
"sub","dsub",12,-1,48,"top",[0,90,0],["case",false,false,false],0,0,0,0,0,0,[9,"male",4], // db9 model
|
||||
"add1","access_port",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,true], 81,100,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,false],81,100,2,0,0,"portrait",0, // access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],81,100,2,0,0,"portrait",0], // access port cover
|
||||
|
||||
["h3_shell_drivebox2.5v",
|
||||
"sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,28,"top",[0,0,90],["case",false,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,28,"top",[0,0,90],["case",true,false,false],2,12,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],2,6,4,1,17,"vertical",1, // vent opening
|
||||
"sub","fan",99,10,48,"top",[0,0,90],["sbc-case_z",true,true,true],90,0,6,2,0,"",0, // fan opening
|
||||
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port
|
||||
"add2","button",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
"add2","button",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button
|
||||
"model","button_top",12.34,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
"model","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
|
||||
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0, // access port cover
|
||||
"sub","round",111,24,6.07,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"sub","round",111,100.6,6.07,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole
|
||||
"add2","hd_vertleft",100,10,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // add hd holder
|
||||
"add2","hd_vertright",65,10,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,0,"portrait",0, // sub hd bottom holes
|
||||
"sub","hd_vertleft_holes",100,10,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
|
||||
"sub","hd_vertright_holes",65,10,-.01,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,2,"portrait",0, // sub hd bottom holes
|
||||
"model","hd25",65,110,71.85,"bottom",[-90,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd
|
||||
"model","hd25",100,110,2,"bottom",[90,0,-90],["case",true,true,false],0,0,0,15,0,"",0], // model 2.5 hd
|
||||
|
||||
|
||||
// Nvidia
|
||||
["jetsonnano_shell",
|
||||
@@ -801,6 +1084,10 @@ accessory_data = [
|
||||
["quartz64b_stacked_poe_hat",
|
||||
"sub","fan",20,0,24.5,"top",[0,0,0],["case",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["star64_shell",
|
||||
"sub","fan",43,28,36,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0, // sub fan opening
|
||||
"sub","rectangle",43,0,36,"top",[0,0,0],["sbc-case_z",true,true,true],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening
|
||||
|
||||
["show2_shell",
|
||||
"model","hk_wb2",6.25,24.675,16,"top",[0,0,180],["sbc",true,true,true],0,0,0,0,0,"",0, // hk weatherboard2
|
||||
"suball","round",48.75,0,6,"top",[90,0,0],["sbc",true,true,true],4,0,4,0,0,"",0, // sub button access hole
|
||||
@@ -992,100 +1279,240 @@ accessory_data = [
|
||||
["rpi4b_fitted",
|
||||
"sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_shell",
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_panel",
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_stacked",
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_tray",
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_tray_sides",
|
||||
"sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_round",
|
||||
"suball","rectangle",4.5,-26,5.5,"top",[0,0,0],["case",false,false,false],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,4,"top",[0,0,0],["case",false,false,false],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["case",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_hex",
|
||||
"suball","rectangle",4.5,-20,5.5,"top",[0,0,0],["case",false,false,false],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,4,"top",[0,0,0],["case",false,false,false],21,20,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["case",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_snap",
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rpi5_noheatsink_fitted",
|
||||
"sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
// Radxa
|
||||
["rockpi4b+_shell",
|
||||
["rock4b+_shell",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_panel",
|
||||
["rock4b+_panel",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_stacked",
|
||||
["rock4b+_stacked",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_tray",
|
||||
["rock4b+_tray",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_tray_sides",
|
||||
["rock4b+_tray_sides",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_round",
|
||||
["rock4b+_round",
|
||||
"suball","rectangle",4.5,-26,14.5,"top",[0,0,0],["sbc",true,true,true],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,13,"top",[0,0,0],["sbc",true,true,true],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_hex",
|
||||
["rock4b+_hex",
|
||||
"suball","rectangle",4.5,-20,14.5,"top",[0,0,0],["sbc",true,true,true],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,13,"top",[0,0,0],["sbc",true,true,true],21,20,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_snap",
|
||||
["rock4b+_snap",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4b+_fitted",
|
||||
["rock4b+_fitted",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_shell",
|
||||
["rock4c_shell",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_panel",
|
||||
["rock4c_panel",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_stacked",
|
||||
["rock4c_stacked",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_tray",
|
||||
["rock4c_tray",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_tray_sides",
|
||||
["rock4c_tray_sides",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_round",
|
||||
["rock4c_round",
|
||||
"suball","rectangle",4.5,-26,14.5,"top",[0,0,0],["sbc",true,true,true],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,13,"top",[0,0,0],["sbc",true,true,true],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_hex",
|
||||
["rock4c_hex",
|
||||
"suball","rectangle",4.5,-20,14.5,"top",[0,0,0],["sbc",true,true,true],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,13,"top",[0,0,0],["sbc",true,true,true],21,20,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_snap",
|
||||
["rock4c_snap",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c_fitted",
|
||||
["rock4c_fitted",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_shell",
|
||||
["rock4c+_shell",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_panel",
|
||||
["rock4c+_panel",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_stacked",
|
||||
["rock4c+_stacked",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_tray",
|
||||
["rock4c+_tray",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_tray_sides",
|
||||
["rock4c+_tray_sides",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_round",
|
||||
["rock4c+_round",
|
||||
"suball","rectangle",4.5,-26,14.5,"top",[0,0,0],["sbc",true,true,true],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,13,"top",[0,0,0],["sbc",true,true,true],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_hex",
|
||||
["rock4c+_hex",
|
||||
"suball","rectangle",4.5,-20,14.5,"top",[0,0,0],["sbc",true,true,true],11,20,8,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"suball","rectangle",21.5,-26,13,"top",[0,0,0],["sbc",true,true,true],21,20,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_snap",
|
||||
["rock4c+_snap",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rockpi4c+_fitted",
|
||||
["rock4c+_fitted",
|
||||
"sub","fan",10,10,0,"bottom",[0,0,0],["sbc",true,true,false],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["rock5b",
|
||||
"sub","rectangle",-1,66.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment
|
||||
"sub","rectangle",92,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",93,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],2,10,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",78,67,-1,"bottom",[0,0,0],["sbc",true,true,false],14,18,12.5,0,0,"",[.25,.25,.25,.25], // sdcard opening
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,40,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5b_shell",
|
||||
"sub","rectangle",-1,66.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment
|
||||
"sub","rectangle",92,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",93,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],2,10,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",78,67,-1,"bottom",[0,0,0],["sbc",true,true,false],14,18,12.5,0,0,"",[.25,.25,.25,.25], // sdcard opening
|
||||
"add1","round",62.5,-1.5,14,"top",[0,0,0],["case",true,true,true],3,0,18,0,0,"",0, // wall support
|
||||
"add1","round",80.75,-1.5,14,"top",[0,0,0],["case",true,true,true],2,0,18,0,0,"",0, // wall support
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5bq",
|
||||
"sub","rectangle",-1,66.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment
|
||||
"sub","rectangle",92,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",93,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],2,10,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"sub","rectangle",14,23.5,28,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // heatsink opening
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,40,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5bq_shell",
|
||||
"sub","rectangle",-1,66.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment
|
||||
"sub","rectangle",92,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",93,17.5,12.99,"top",[0,0,0],["sbc",true,true,true],2,10,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"sub","rectangle",14,23.5,28,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // heatsink opening
|
||||
"add1","round",62.5,-1.5,14,"top",[0,0,0],["case",true,true,true],3,0,18,0,0,"",0, // wall support
|
||||
"add1","round",80.75,-1.5,14,"top",[0,0,0],["case",true,true,true],2,0,18,0,0,"",0, // wall support
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5bq_tray",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"sub","rectangle",14,23.5,28,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // heatsink opening
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5bq_tray_sides",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"sub","rectangle",14,23.5,30,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // heatsink opening
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5bq_snap",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"sub","rectangle",14,23.5,32,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // heatsink opening
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5bq_fitted",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"sub","rectangle",14,23.5,30,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // heatsink opening
|
||||
"sub","slot",15,0,21.25,"top",[90,90,0],["sbc",true,true,true],3.75,6.125,5,0,0,"",[.25,.25,.25,.25], // usb-c adjustment
|
||||
"sub","rectangle",81.575,-5,13,"top",[0,0,0],["sbc",true,true,true],16.75,4,14.25,0,0,"",[.25,.25,.25,.25], // rj-45 adjustment
|
||||
"sub","rectangle",64.25,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb3 adjustment
|
||||
"sub","rectangle",45.5,-5,13,"top",[0,0,0],["sbc",true,true,true],15,4,17,0,0,"",[.25,.25,.25,.25], // usb2 adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
["rock5b-v1.3",
|
||||
"sub","rectangle",-1,66.5,13,"top",[0,0,0],["sbc",true,true,false],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment
|
||||
"sub","rectangle",92,17.5,13,"top",[0,0,0],["sbc",true,true,false],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover
|
||||
|
||||
|
||||
// Khadas
|
||||
["vim1_shell",
|
||||
@@ -1392,12 +1819,109 @@ accessory_data = [
|
||||
|
||||
["tinkerboard-r2_fitted",
|
||||
"sub","fan",10,10,25.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_shell",
|
||||
"sub","fan",35,13,18,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_panel",
|
||||
"sub","fan",35,13,18,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_stacked",
|
||||
"sub","fan",35,13,18,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_tray",
|
||||
"sub","fan",35,13,18,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_tray-sides",
|
||||
"sub","fan",35,13,19,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_snap",
|
||||
"sub","fan",35,13,21,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["opi5_fitted",
|
||||
"sub","fan",35,13,19,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0], // sub fan opening
|
||||
|
||||
["visonfive2_shell",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"add1","round",11.25,-.5,10,"top",[0,0,0],["case",true,true,true],2,0,17,0,0,"",0, // wall support
|
||||
"add1","round",29.75,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",50,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",60.875,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",81.125,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
// hk uart group
|
||||
["hk_uart",
|
||||
"add2","uart_holder",-25,0,1.9,"bottom",[0,0,0],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart holder
|
||||
"model","hk_uart",-22.5,23,5,"bottom",[0,0,-90],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart model
|
||||
"model","uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0,
|
||||
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0] // hk uart strap
|
||||
["visonfive2_panel",
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2_stacked",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1]], // sub fitting
|
||||
|
||||
["visonfive2_tray",
|
||||
"add1","round",11.25,-.5,9,"bottom",[0,0,0],["case",true,true,true],2,0,17,0,0,"",0, // wall support
|
||||
"add1","round",29.75,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",50,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",60.875,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",81.125,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2_snap",
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2_fitted",
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
["visonfive2q_shell",
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1], // sub fitting
|
||||
"add1","round",11.25,-.5,10,"top",[0,0,0],["case",true,true,true],2,0,17,0,0,"",0, // wall support
|
||||
"add1","round",29.75,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",50,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",60.875,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",81.125,-.5,10,"top",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2q_panel",
|
||||
"sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2q_stacked",
|
||||
"sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle
|
||||
"sub","rectangle",89,9.25,11,"top",[0,0,0],["case",true,true,false],10,10,15,0,0,"vertical",[1,1,1,1]], // sub fitting
|
||||
|
||||
["visonfive2q_tray",
|
||||
"sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle
|
||||
"add1","round",11.25,-.5,9,"bottom",[0,0,0],["case",true,true,true],2,0,17,0,0,"",0, // wall support
|
||||
"add1","round",29.75,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",50,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",60.875,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","round",81.125,-.5,9,"bottom",[0,0,0],["case",true,true,true],3,0,17,0,0,"",0, // wall support
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2q_snap",
|
||||
"sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access port cover
|
||||
|
||||
["visonfive2q_fitted",
|
||||
"sub","rectangle",27,20,25,"top",[0,0,0],["sbc-case_z",true,true,true],43,43,6,0,0,"horizontal",[.25,.25,.25,.25], // sub rectangle
|
||||
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
|
||||
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
|
||||
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0] // platter access port cover
|
||||
];
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
BIN
stl/db9_f.stl
Normal file
BIN
stl/db9_f.stl
Normal file
Binary file not shown.
BIN
stl/db9_m.stl
Normal file
BIN
stl/db9_m.stl
Normal file
Binary file not shown.
BIN
stl/h3_port_extender.stl
Normal file
BIN
stl/h3_port_extender.stl
Normal file
Binary file not shown.
BIN
stl/header_2x2_90.stl
Normal file
BIN
stl/header_2x2_90.stl
Normal file
Binary file not shown.
BIN
stl/header_2x5_90.stl
Normal file
BIN
stl/header_2x5_90.stl
Normal file
Binary file not shown.
BIN
stl/header_encl_2x5_90.stl
Normal file
BIN
stl/header_encl_2x5_90.stl
Normal file
Binary file not shown.
BIN
stl/header_f_2x12_90.stl
Normal file
BIN
stl/header_f_2x12_90.stl
Normal file
Binary file not shown.
Reference in New Issue
Block a user