Compare commits
60 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
390df175b3 | ||
|
|
0c96b1247a | ||
|
|
7cec418b69 | ||
|
|
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 |
103
README.md
103
README.md
@@ -3,7 +3,7 @@
|
||||
|
||||
## 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 of the 53 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.
|
||||
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 62 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.
|
||||
|
||||
@@ -76,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
|
||||
@@ -103,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 423
|
||||
#### Current Case Count 457
|
||||
|
||||
##### Hardkernel - 182
|
||||
##### Hardkernel - 194
|
||||
|
||||
**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
|
||||
@@ -129,6 +129,8 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
|
||||
**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-M1S cases** - 12 : m1s_shell, m1s_shell_nvme, m1s_shell_ups, m1s_panel, m1s_stacked, m1s_tray, m1s_tray_ups, m1s_tray_vu5, m1s_tray_vu7, m1s_tray_sides, m1s_snap, m1s_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
|
||||
@@ -154,6 +156,9 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
|
||||
**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
|
||||
@@ -178,15 +183,15 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo
|
||||
**Jetson Nano** - 9 : jetsonnano_shell, jetsonnano_panel, jetsonnano_stacked, jetsonnano_tray, jetsonnano_tray_sides, jetsonnano_round, jetsonnano_hex, jetsonnano_snap, jetsonnano_fitted
|
||||
|
||||
|
||||
##### Radxa - 36
|
||||
##### 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 - 45
|
||||
@@ -213,15 +218,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 - 27
|
||||
##### 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.
|
||||
```
|
||||
@@ -323,6 +344,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”
|
||||
|
||||
@@ -424,6 +452,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”
|
||||
|
||||
|
||||
@@ -438,7 +473,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")
|
||||
|
||||
|
||||
@@ -593,6 +636,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”
|
||||
|
||||
@@ -630,3 +701,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
|
||||
|
||||
|
||||
Submodule SBC_Model_Framework updated: 710fba6d20...29da2bfb8d
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -31,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
|
||||
|
||||
@@ -51,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",
|
||||
@@ -378,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",
|
||||
@@ -459,12 +471,78 @@ accessory_data = [
|
||||
["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",
|
||||
"sub","vent",25,25,44,"top",[0,0,0],["case",false,false,false],10,2,4,6,6,"horizontal",1, // sub vent
|
||||
"sub","vent",25,50,44,"top",[0,0,0],["case",false,false,false],10,2,4,6,6,"horizontal",1], // sub vent
|
||||
|
||||
// Odroid-M1S
|
||||
["m1s_shell",
|
||||
"sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","rectangle",73.5,5.5,3.5,"top",[0,0,45],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",5.5,56,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",81.5,56,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim
|
||||
|
||||
["m1s_shell_nvme",
|
||||
"add1","access_port",-7.5,28,-0.01,"bottom",[0,0,0],["sbc",true,true,false],105,30,1.5,0,0,"landscape",0, // access port
|
||||
"model","access_cover",-7.5,28,-0.01,"bottom",[0,0,0],["sbc",true,true,false],105,30,1.5,0,0,"landscape",0, // access port cover
|
||||
"platter","access_cover",-20,0,0,"bottom",[0,0,90],["case",false,false,false],105,30,1.5,0,0,"landscape",0, // access port cover
|
||||
"sub","vent_hex",37,5,-1,"bottom",[0,0,0],["sbc",false,false,false],11,3,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","vent_hex",0,5,-1,"bottom",[0,0,0],["sbc",false,false,false],7,3,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","vent_hex",87,5,-1,"bottom",[0,0,0],["sbc",false,false,false],3,3,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","vent_hex",21,60,-1,"bottom",[0,0,0],["sbc",false,false,false],20,1,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","rectangle",73.5,5.5,3.5,"top",[0,0,45],["sbc-case_z",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",5.5,56,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",81.5,56,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim
|
||||
|
||||
["m1s_shell_ups",
|
||||
"sub","vent_hex",0,5,17,"top",[0,0,0],["case",false,false,true],9,21,8,5,1.5,"horizontal",1, // vent opening
|
||||
"model","hk_m1s_ups",-1,122.5,5,"bottom",[0,0,270],["sbc",false,false,false],0,0,0,0,0,"",0, // hk m1s ups
|
||||
"sub","slot",-45,17.5,8.5,"bottom",[90,0,90],["sbc",true,true,true],4.25,6.125,12,0,0,"",[.25,.25,.25,.25], // usb-c opening
|
||||
"add2","standoff",2.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff
|
||||
"add2","standoff",27.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff
|
||||
"add2","standoff",2.5,119,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff
|
||||
"add2","standoff",27.5,119,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff
|
||||
"add1","access_port",-4,28,-0.01,"bottom",[0,0,0],["sbc",true,true,false],105,30,2,0,0,"landscape",0, // access port
|
||||
"model","access_cover",-4,28,-0.01,"bottom",[0,0,0],["sbc",true,true,false],105,30,2,0,0,"landscape",0, // access port cover
|
||||
"platter","access_cover",-10,16.25,0,"bottom",[0,0,90],["case",false,false,false],105,30,2,0,0,"landscape",0, // access port cover
|
||||
"add2","button",2,33.5,21,"top",[0,0,0],["sbc-case_z",false,false,true],10,0,23.5,0,0,"recess",0, // button
|
||||
"model","button_top",2,33.5,21,"top",[0,0,0],["sbc-case_z",false,false,true],10,0,23.5,0,0,"recess",0, // button top
|
||||
"platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,23.5,0,0,"recess",0, // button top
|
||||
"sub","rectangle",73.5,5.5,3.5,"top",[0,0,45],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",5.5,56,3.5,"top",[0,0,0],["sbc",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",81.5,56,3.5,"top",[0,0,0],["sbc",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim
|
||||
|
||||
["m1s_panel",
|
||||
"sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening
|
||||
|
||||
["m1s_tray_nvme",
|
||||
"add1","access_port",-12,26.25,-0.01,"bottom",[0,0,180],["sbc",true,true,false],102,30,2,0,0,"landscape",0, // access port
|
||||
"model","access_cover",-12,26.25,-0.01,"bottom",[0,0,180],["sbc",true,true,false],102,30,2,0,0,"landscape",0, // access port cover
|
||||
"platter","access_cover",-88,26.25,0,"bottom",[0,0,0],["case",false,false,false],102,30,2,0,0,"landscape",0, // access port cover
|
||||
"sub","vent_hex",30,5,-1,"bottom",[0,0,0],["sbc",true,true,false],11,3,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","vent_hex",-10,5,-1,"bottom",[0,0,0],["sbc",true,true,false],7,3,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","vent_hex",79,5,-1,"bottom",[0,0,0],["sbc",true,true,false],3,3,5,5,1.5,"horizontal",1, // vent opening
|
||||
"sub","rectangle",73.5,5.5,3.5,"top",[0,0,45],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",5.5,56,3.5,"top",[0,0,0],["sbc",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",81.5,56,3.5,"top",[0,0,0],["sbc",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim
|
||||
"sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim
|
||||
|
||||
["m1s_snap",
|
||||
"sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening
|
||||
|
||||
["m1s_fitted",
|
||||
"sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening
|
||||
|
||||
// Odroid-M1
|
||||
["m1_panel",
|
||||
"sub","vent",29,20,-1,"bottom",[0,0,0],["sbc",true,true,false],2,15,8,5,12,"horizontal",1, // vent opening
|
||||
@@ -823,7 +901,7 @@ accessory_data = [
|
||||
"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","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
|
||||
@@ -835,14 +913,14 @@ accessory_data = [
|
||||
"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",
|
||||
["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
|
||||
"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
|
||||
@@ -851,13 +929,96 @@ accessory_data = [
|
||||
"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
|
||||
"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
|
||||
"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
|
||||
@@ -865,7 +1026,7 @@ accessory_data = [
|
||||
"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","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
|
||||
@@ -874,15 +1035,15 @@ accessory_data = [
|
||||
"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
|
||||
"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
|
||||
"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
|
||||
"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
|
||||
@@ -984,6 +1145,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
|
||||
@@ -1175,107 +1340,239 @@ 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
|
||||
|
||||
["rockpi5b",
|
||||
["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
|
||||
"sub","rectangle",77,67,-1,"bottom",[0,0,0],["sbc",true,true,false],15,18,12.5,0,0,"",[.25,.25,.25,.25], // sdcard opening
|
||||
"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
|
||||
"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
|
||||
@@ -1583,12 +1880,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_encl_2x5_90.stl
Normal file
BIN
stl/header_encl_2x5_90.stl
Normal file
Binary file not shown.
Reference in New Issue
Block a user