From 66aeb943c68e370dbb0b9dac2bee4bf857a0218d Mon Sep 17 00:00:00 2001 From: Edward Kisiel Date: Thu, 8 Feb 2024 17:17:08 -0500 Subject: [PATCH] fixed front section cut, added 45 heatsink mask, fixed vu5 and vu7 holder, adjusted accessory entries for all stored cases due to bottom calc change, other fixes and adjustments --- README.md | 473 ++++++++++++++++--------------- SBC_Model_Framework | 2 +- lib/fan.scad | 7 +- lib/holder.scad | 12 +- mod/add.scad | 2 +- sbc_case_builder.json | 150 +++++----- sbc_case_builder.scad | 18 +- sbc_case_builder_accessories.cfg | 466 +++++++++++++++--------------- 8 files changed, 575 insertions(+), 555 deletions(-) diff --git a/README.md b/README.md index 1c8d589..485e838 100644 --- a/README.md +++ b/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 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. +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 84 current devices 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. @@ -46,8 +46,10 @@ License: GPLv3. - Fitted - complete - Sliding - Cylinder +- NAS - Rack - Folded +- Adapters(itx, matx) - 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. @@ -76,7 +78,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 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: +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 @@ -97,9 +99,6 @@ Due to the number of possibilities, no pre-compiled case stl’s are included. “tol”, located at the bottom of the Adjustments Tab, is a tolerance fitment adjustment for the snap, fitted, round and hex tops. Adjust accordingly if the tops are too tight or loose. -Template creation and i/o panel layouts in a dxf format can be easily created and integrated into other designs or for hand fabrication by sectioning a case panel for the desired SBC. The case design “panel” will most likely work best. - - ### 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. @@ -231,6 +230,23 @@ c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boo **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 +##### Libre Computer - 0 +**lepotato** - 0: + +**sweetpotato** - 0: + +**tirtium-h2+** - 0: + +**tritium-h3** - 0: + +**tritium-h5** - 0: + +**solitude** - 0: + +**alta** - 0: + + + ##### Sipeed - 1 **licheerv+dock** - 0 : @@ -310,404 +326,403 @@ uart_strap, fan_cover, access_cover, button_top, boom_vring **circle** +``` +DESCRIPTION: circlular geometry. -description: circlular geometry. - -*uses:* size_x=dia, size_z=height - +USES: size_x=dia, size_z=height +``` **rectangle** +``` +DESCRIPTION: rectangular geometry with individual defined corner fillets. Radius1 is lower left corner then moves clockwise. -*description:* rectangular geometry with individual defined corner fillets. Radius1 is lower left corner then moves clockwise. - -*uses:* size_x, size_y, size_z, data_4=[radius1, radius2, radius3, radius4] - +USES: size_x, size_y, size_z, data_4=[radius1, radius2, radius3, radius4] +``` **slot** +``` +DESCRIPTION: slot geometry. -*description:* slot geometry. - -*uses:* size_x=diameter, size_y=length, size_z=height - +USES: size_x=diameter, size_y=length, size_z=height +``` **text** +``` +DESCRIPTION: raised or sunk text -*description:* raised or sunk text - -*uses:* data_1=size, data_3="text" - +USES: data_1=size, data_3="text" +``` **art** +``` +DESCRIPTION: art work in dxf or svg format -*description:* art work in dxf or svg format - -*uses:* data_1=scale, data_2=height, data_3=file - +USES: data_1=scale, data_2=height, data_3=file +``` **keyhole** +``` +DESCRIPTION: enclosed keyhole -*description:* enclosed keyhole - -*uses:* data4=[head_dia, slot_width, slot_length, floor_thick] - +USES: data4=[head_dia, slot_width, slot_length, floor_thick] +``` #### Add class only “types” **uart_holder** +``` +DESCRIPTION: console uart holder -*description:* console uart holder - -*uses:* none - +USES: none +``` **batt_holder** +``` +DESCRIPTION: rtc battery holder -*description:* rtc battery holder - -*uses:* none - +USES: none +``` **standoff** - -*description:* user defined standoff - -*uses:* data_4= - ``` - [ 6.75, // radius - 5, // height - 3.6, // holesize - 10, // supportsize - 4, // supportheight - 1, // 0=none, 1=countersink, 2=recessed hole, 3=nut holder, 4=blind hole - 0, // standoff style 0=hex, 1=cylinder - 0, // enable reverse standoff - 0, // enable insert at top of standoff - 4.5, // insert hole dia. mm - 5.1] // insert depth mm +DESCRIPTION: user defined standoff + +USES: data_4= + + [ 6.75, // radius + 5, // height + 3.6, // holesize + 10, // supportsize + 4, // supportheight + 1, // 0=none, 1=countersink, 2=recessed hole, 3=nut holder, 4=blind hole + 0, // standoff style 0=hex, 1=cylinder + 0, // enable reverse standoff + 0, // enable insert at top of standoff + 4.5, // insert hole dia. mm + 5.1] // insert depth mm ``` **hd_holder** +``` +DESCRIPTION: double stacked holder for 2.5 and 3.5 drives -*description:* double stacked holder for 2.5 and 3.5 drives - -*uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape” - +USES: data_1=2.5 or 3.5, data_3=”portrait” or “landscape” +``` **hd_vertleft_holder** +``` +DESCRIPTION: vertical left side holder for 2.5 and 3.5 drives -*description:* vertical left side holder for 2.5 and 3.5 drives - -*uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape” - +USES: data_1=2.5 or 3.5, data_3=”portrait” or “landscape” +``` **hd_vertright_holder** +``` +DESCRIPTION: vertical right side holder for 2.5 and 3.5 drives -*description:* vertical right side holder for 2.5 and 3.5 drives - -*uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape” - +USES: data_1=2.5 or 3.5, data_3=”portrait” or “landscape” +``` **hc4_oled_holder** +``` +DESCRIPTION: hc4 oled holder -*description:* hc4 oled holder - -*uses:* size_z=floorthick - +USES: size_z=floorthick +``` **access_port** +``` +DESCRIPTION: bottom access for sd and emmc -*description:* bottom access for sd and emmc - -*uses:* size_z=floorthick, data_3=”portrait” or “landscape” - +USES: size_z=floorthick, data_3=”portrait” or “landscape” +``` **button** +``` +DESCRIPTION: button top and plunger -*description:* button top and plunger - -*uses:* size_x=diameter,size_z=height, data_3=”reccess” - +USES: size_x=diameter,size_z=height, data_3=”reccess” +``` **pcb_holder** +``` +DESCRIPTION: pcb bottom edge holder -*description:* pcb bottom edge holder - -*uses:* size_x=pcb_x,size_y=pcb_y,size_z=pcb_z, data_1=wall_thick - +USES: size_x=pcb_x,size_y=pcb_y,size_z=pcb_z, data_1=wall_thick +``` **boom_grill** +``` +DESCRIPTION: hk boom bonnet grill covers -*description:* hk boom bonnet grill covers - -*uses:* data_3="flat", "dome", "frame" - +USES: data_3="flat", "dome", "frame" +``` **boom_speaker_holder** +``` +DESCRIPTION: hk boom bonnet speaker friction holder -*description:* hk boom bonnet speaker friction holder - -*uses:* data_1=tolorence - +USES: data_1=tolorence +``` **nut_holder** +``` +DESCRIPTION: 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" - +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” **punchout** +``` +DESCRIPTION: punchout in rectangle, round or slot shape -*description:* punchout in rectangle, round or slot shape - -*uses:* size_x=width, size_y=depth, data_1=gap, size_z=thick, data_2=fillet, data_3="rectangle","round" or "slot" - +USES: size_x=width, size_y=depth, data_1=gap, size_z=thick, data_2=fillet, data_3="rectangle","round" or "slot" +``` **vent** +``` +DESCRIPTION: horizontal or vertical vent openings -*description:* horizontal or vertical vent openings - -*uses:* size_x=open_width, size_y=open_length, size_z=thick, data_1=rows, data_2=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 -*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, +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") - +``` **fan** +``` +DESCRIPTION: fan opening -*description:* fan opening - -*uses:* size_x=size, size_z=thick, date_1=style(1=open,2=fan) - +USES: size_x=size, size_z=thick, date_1=style(0=open, 1=fan_1, 2=fan_2, 3=fan_hex) +``` **hd_holes** +``` +DESCRIPTION: bottom hole pattern for 2.5 or 3.5 drives -*description:* bottom hole pattern for 2.5 or 3.5 drives - -*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape” - +USES: data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape” +``` **hd_vertleft_holes** +``` +DESCRIPTION: bottom hole pattern for 2.5 or 3.5 drives -*description:* bottom hole pattern for 2.5 or 3.5 drives - -*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape” - +USES: data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape” +``` **hd_vertright_holes** +``` +DESCRIPTION: bottom hole pattern for 2.5 or 3.5 drives -*description:* bottom hole pattern for 2.5 or 3.5 drives - -*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”-component mask(incomplete) - +USES: data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”-component mask(incomplete) +``` **microusb** +``` +DESCRIPTION: micro usb opening -*description:* micro usb opening - -*uses:* none - +USES: none +``` **sphere** +``` +DESCRIPTION: sphere subtraction -*description:* sphere subtraction - -*uses:* size_x=diameter - +USES: size_x=diameter +``` #### Model class “types” **uart_strap** +``` +DESCRIPTION: console uart holder strap -*description:* console uart holder strap - -*uses:* none - +USES: none +``` **fan_cover** +``` +DESCRIPTION: cover for fan hole opening -*description:* cover for fan hole opening - -*uses:* size_x=40 or 80, size_z=thick - +USES: size_x=fan size, size_z=thick, data_1=style (0=open, 1=fan_1, 2=fan_2, 3=fan_hex) +``` **hd25** +``` +DESCRIPTION: 2.5 hard drive -*description:* 2.5 hard drive - -*uses:* data_1=height - +USES: data_1=height +``` **hd35** +``` +DESCRIPTION: 3.5 hard drive -*description:* 3.5 hard drive - -*uses:* none - +USES: none +``` **hc4_oled** +``` +DESCRIPTION: hc4_oled model -*description:* hc4_oled model - -*uses:* none - +USES: none +``` **feet** +``` +DESCRIPTION: case feet -*description:* case feet - -*uses:* size_x=diameter, size_z=height - +USES: size_x=diameter, size_z=height +``` **access_cover** +``` +DESCRIPTION: bottom access cover for sd and emmc -*description:* bottom access cover for sd and emmc - -*uses:* size_z=floorthick, data_3=”portrait” or “landscape” - +USES: size_z=floorthick, data_3=”portrait” or “landscape” +``` **button_top** +``` +DESCRIPTION: button top and plunger -*description:* button top and plunger - -*uses:* size_x=diameter,size_z=height, data_3=”reccess” - +USES: size_x=diameter,size_z=height, data_3=”reccess” +``` **h2_netcard** +``` +DESCRIPTION: h2 network card model -*description:* h2 network card model - -*uses:* none - +USES: none +``` **hk_lcd35** +``` +DESCRIPTION: hk 3.5 inch lcd model -*description:* hk 3.5 inch lcd model - -*uses:* none - +USES: none +``` **hk_boom** +``` +DESCRIPTION: hk stereo boom bonnet model -*description:* hk stereo boom bonnet model - -*uses:* data_1=speakers(true or false), data_3=”front” or "rear" - +USES: data_1=speakers(true or false), data_3=”front” or "rear" +``` **boom_speaker** +``` +DESCRIPTION: hk stereo boom bonnet speaker -*description:* hk stereo boom bonnet speaker - -*uses:* data_1=pcb(true or false), data_3=”left” or "right" - +USES: data_1=pcb(true or false), data_3=”left” or "right" +``` **hk_speaker** +``` +DESCRIPTION: hk speaker model -*description:* hk speaker model - -*uses:* none - +USES: none +``` **boom_vring** +``` +DESCRIPTION: hk stereo boom bonnet volume wheel extention -*description:* hk stereo boom bonnet volume wheel extention - -*uses:* data_1=tolerence - +USES: data_1=tolerence +``` **hk_uart** +``` +DESCRIPTION: hk console uart model -*description:* hk console uart model - -*uses:* none - +USES: none +``` **h3_port_extender** +``` +DESCRIPTION: h3 usb port extender model -*description:* h3 usb port extender model - -*uses:* data_3="header" or "remote" - +USES: data_3="header" or "remote" +``` **hk_pwr_button** +``` +DESCRIPTION: hk power button model -*description:* hk power button model - -*uses:* none - +USES: none +``` **dsub** +``` +DESCRIPTION: d-sub connectors -*description:* d-sub connectors - -*uses:* data4=[pin, type("male" or "female"), floor_thick] - +USES: data4=[pin, type("male" or "female"), floor_thick] +``` **vent_panel_hex** +``` +DESCRIPTION: cover for vent opening, honeycomb pattern -*description:* cover for vent opening, honeycomb pattern - -*uses:* size_x=x, size_y=y, size_z=thick, +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” **uart_strap** +``` +DESCRIPTION: console uart holder strap -*description:* console uart holder strap - -*uses:* none - +USES: none +``` **fan_cover** +``` +DESCRIPTION: cover for fan hole opening -*description:* cover for fan hole opening - -*uses:* size_x=40 or 80, size_z=thick - +USES: size_x=40 or 80, size_z=thick +``` **access_cover** +``` +DESCRIPTION:bottom access cover for sd and emmc -*description:*bottom access cover for sd and emmc - -*uses:* size_z=floorthick, data_3=”portrait” or “landscape” - +USES: size_z=floorthick, data_3=”portrait” or “landscape” +``` **button_top** +``` +DESCRIPTION: button top and plunger -*description:* button top and plunger - -*uses:* size_x=diameter,size_z=height, data_3=”reccess” - +USES: size_x=diameter,size_z=height, data_3=”reccess” +``` **boom_vring** +``` +DESCRIPTION: hk stereo boom bonnet volume wheel extention -*description:* hk stereo boom bonnet volume wheel extention - -*uses:* data_1=tolerence - +USES: data_1=tolerence +``` **vent_panel_hex** +``` +DESCRIPTION: cover for vent opening, honeycomb pattern -*description:* cover for vent opening, honeycomb pattern - -*uses:* size_x=x, size_y=y, size_z=thick, +USES: size_x=x, size_y=y, size_z=thick, data1=cell_size, data2=cell_spacing, data3="x", "y", "none", or "default", data4=border - +``` diff --git a/SBC_Model_Framework b/SBC_Model_Framework index 3c15252..66b0806 160000 --- a/SBC_Model_Framework +++ b/SBC_Model_Framework @@ -1 +1 @@ -Subproject commit 3c1525299ba19afe777e58cd8c881941d43cae01 +Subproject commit 66b08061aee354c63938b4ffcef8a6d7631ee947 diff --git a/lib/fan.scad b/lib/fan.scad index 9ca6aa5..d33e3cb 100644 --- a/lib/fan.scad +++ b/lib/fan.scad @@ -25,16 +25,17 @@ DESCRIPTION: creates fan covers for fan openings TODO: none - USAGE: fan_cover(size, thick) + USAGE: fan_cover(size, thick, style) size = size of fan thick = thickness of cover + style = fan mask style */ -module fan_cover(size, thick) { +module fan_cover(size, thick, style) { difference() { color("grey", 1) slab([size, size, thick], 3); - color("grey", 1) fan_mask(size, thick, 2); + color("grey", 1) fan_mask(size, thick, style); } } diff --git a/lib/holder.scad b/lib/holder.scad index 9657554..2d858ab 100644 --- a/lib/holder.scad +++ b/lib/holder.scad @@ -307,9 +307,9 @@ vu7_height = vu7_pcb_height + 9.75; if(side == "right") { // vu5 shape and back cut if(case_style == "vu5") { - translate([width+sidethick-2,-.6,case_z+sidethick+2.5]) + translate([width+adj,-.6,case_z+sidethick+2.5]) rotate([0,-90,0]) - linear_extrude(height = 2*sidethick) + linear_extrude(height = 3*sidethick) polygon(points = [ [-sidethick,-sidethick-wallthick-5], [cheight-bottom_height-top_height-3,-sidethick-wallthick-5], [cheight-bottom_height-top_height-3,depth-53], @@ -327,7 +327,7 @@ vu7_height = vu7_pcb_height + 9.75; } // vu7 shape and back cut if(case_style == "vu7") { - translate([width+sidethick-2,-.6,case_z+sidethick+2.5]) + translate([width+adj,-.6,case_z+sidethick+2.5]) rotate([0,-90,0]) linear_extrude(height = 2*sidethick) polygon(points = [ [-sidethick,-sidethick-wallthick-5], @@ -355,9 +355,9 @@ vu7_height = vu7_pcb_height + 9.75; if(side == "left") { // vu5 shape and back cut if(case_style == "vu5") { - translate([-sidethick-adj,-.6,case_z+sidethick+2.5]) + translate([-sidethick+adj,-.6,case_z+sidethick+2.5]) rotate([0,-90,0]) - linear_extrude(height = 2*sidethick) + linear_extrude(height = 3*sidethick) polygon(points = [ [-sidethick,-sidethick-wallthick-5], [cheight-bottom_height-top_height-3,-sidethick-wallthick-5], [cheight-bottom_height-top_height-3,depth-53], @@ -375,7 +375,7 @@ vu7_height = vu7_pcb_height + 9.75; } // vu7 shape and back cut if(case_style == "vu7") { - translate([-sidethick-adj,-.6,case_z+sidethick+2.5]) + translate([-sidethick+adj,-.6,case_z+sidethick+2.5]) rotate([0,-90,0]) linear_extrude(height = 2*sidethick) polygon(points = [ [-sidethick,-sidethick-wallthick-5], diff --git a/mod/add.scad b/mod/add.scad index 7b1c0bc..f29a8f5 100644 --- a/mod/add.scad +++ b/mod/add.scad @@ -130,7 +130,7 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size_x, size_y, size_z, da translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_speaker(); } if(type == "fan_cover") { - translate([loc_x,loc_y,loc_z]) rotate(rotation) fan_cover(size_x, size_z); + translate([loc_x,loc_y,loc_z]) rotate(rotation) fan_cover(size_x, size_z, data_1); } if(type == "vent_panel_hex") { translate([loc_x,loc_y,loc_z]) rotate(rotation) vent_panel_hex(x=size_x, y=size_y, thick=size_z, diff --git a/sbc_case_builder.json b/sbc_case_builder.json index bb9d4aa..9bb3cce 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -74,7 +74,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "14", + "case_offset_tz": "13", "case_offset_x": "40", "case_offset_y": "17", "case_style": "none", @@ -188,7 +188,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "3", + "case_offset_tz": "1.5", "case_offset_x": "30", "case_offset_y": "0", "case_style": "none", @@ -245,7 +245,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "14", + "case_offset_tz": "12", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -302,7 +302,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "3", + "case_offset_tz": "1.5", "case_offset_x": "30", "case_offset_y": "0", "case_style": "none", @@ -359,7 +359,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "11", - "case_offset_tz": "3", + "case_offset_tz": "1.5", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -586,7 +586,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "4", + "case_offset_bz": "3", "case_offset_tz": "3", "case_offset_x": "40", "case_offset_y": "15", @@ -1157,7 +1157,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "3", + "case_offset_tz": "2.5", "case_offset_x": "30", "case_offset_y": "0", "case_style": "none", @@ -1271,7 +1271,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "3", + "case_offset_tz": "2.5", "case_offset_x": "30", "case_offset_y": "0", "case_style": "none", @@ -1328,7 +1328,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "11", - "case_offset_tz": "3", + "case_offset_tz": "2.5", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -1555,8 +1555,8 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "4", - "case_offset_tz": "3", + "case_offset_bz": "3", + "case_offset_tz": "4", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -2012,7 +2012,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "14", + "case_offset_tz": "13", "case_offset_x": "40", "case_offset_y": "17", "case_style": "none", @@ -2126,7 +2126,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "3", + "case_offset_tz": "1.5", "case_offset_x": "30", "case_offset_y": "0", "case_style": "none", @@ -2183,7 +2183,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "14", + "case_offset_tz": "13", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -2240,7 +2240,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "0", - "case_offset_tz": "3", + "case_offset_tz": "1.5", "case_offset_x": "30", "case_offset_y": "0", "case_style": "none", @@ -2297,7 +2297,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "11", - "case_offset_tz": "3", + "case_offset_tz": "1.5", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -2524,8 +2524,8 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "4", - "case_offset_tz": "0", + "case_offset_bz": "3", + "case_offset_tz": "3", "case_offset_x": "40", "case_offset_y": "15", "case_style": "none", @@ -5099,7 +5099,7 @@ "fillet": "0", "floorthick": "1.5", "gap": "2.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -5156,7 +5156,7 @@ "fillet": "0", "floorthick": "1.5", "gap": "2.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -5270,7 +5270,7 @@ "fillet": "0", "floorthick": "2", "gap": "2.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -5327,7 +5327,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "false", "lip": "5", "lower_bottom": "0", @@ -5384,7 +5384,7 @@ "fillet": "2", "floorthick": "2", "gap": "2.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -5441,7 +5441,7 @@ "fillet": "2", "floorthick": "2", "gap": "2.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -5498,7 +5498,7 @@ "fillet": "2", "floorthick": "2", "gap": "2.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -7549,12 +7549,12 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", "gap": "1", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "individual_part": "bottom", "lip": "5", @@ -8576,7 +8576,7 @@ "case_offset_x": "10", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "default", "exhaust_vents": "none", "fillet": "3", "floorthick": "2", @@ -9037,7 +9037,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -9084,7 +9084,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "0", @@ -9094,7 +9094,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -9141,7 +9141,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "10", "case_offset_x": "20", "case_offset_y": "20", @@ -9151,7 +9151,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -9203,12 +9203,12 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "open", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -9255,17 +9255,17 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "-21.02", "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "open", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -9654,7 +9654,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "10", @@ -9664,7 +9664,7 @@ "fillet": "3", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -9711,7 +9711,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "10", @@ -9721,7 +9721,7 @@ "fillet": "3", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10006,7 +10006,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10054,7 +10054,7 @@ "case_ffn": "90", "case_fn": "360", "case_offset_bz": "3", - "case_offset_tz": "26", + "case_offset_tz": "16", "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", @@ -10063,7 +10063,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10120,7 +10120,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10177,7 +10177,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "individual_part": "bottom", "lip": "5", @@ -10230,12 +10230,12 @@ "case_offset_x": "30", "case_offset_y": "15", "case_style": "none", - "cooling": "default", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10292,7 +10292,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10339,7 +10339,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "0", @@ -10349,7 +10349,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10396,7 +10396,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "10", "case_offset_x": "20", "case_offset_y": "20", @@ -10406,7 +10406,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10458,12 +10458,12 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "open", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10510,17 +10510,17 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "-21.02", "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "open", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10634,7 +10634,7 @@ "fillet": "0", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "false", "lip": "5", "lower_bottom": "0", @@ -10691,7 +10691,7 @@ "fillet": "2", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10748,7 +10748,7 @@ "fillet": "3", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10909,7 +10909,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "10", @@ -10919,7 +10919,7 @@ "fillet": "3", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -10966,7 +10966,7 @@ "case_ext_standoffs": "false", "case_ffn": "90", "case_fn": "360", - "case_offset_bz": "12", + "case_offset_bz": "10", "case_offset_tz": "0", "case_offset_x": "0", "case_offset_y": "10", @@ -10976,7 +10976,7 @@ "fillet": "3", "floorthick": "2", "gap": "1.5", - "gpio_opening": "default", + "gpio_opening": "none", "indents": "true", "lip": "5", "lower_bottom": "0", @@ -11313,7 +11313,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11370,7 +11370,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11427,7 +11427,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11484,7 +11484,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "2", "floorthick": "2", @@ -11541,7 +11541,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "sides", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11598,7 +11598,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11655,7 +11655,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "default", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11712,7 +11712,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", @@ -11769,7 +11769,7 @@ "case_offset_x": "0", "case_offset_y": "0", "case_style": "none", - "cooling": "fan_1", + "cooling": "none", "exhaust_vents": "none", "fillet": "0", "floorthick": "2", diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index 13523b5..fe5fe9d 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -53,7 +53,7 @@ case_design = "shell"; // [shell,panel,stacked,tray,round,hex,snap,fitted] // base case style case_style = "none"; // ["none","vu5","vu7","sides"] // single board computer model -sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "licheerv+dock", "rak19007"] +sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007"] // sbc location x axis pcb_loc_x = 0; //[0:.5:300] // sbc location y axis @@ -124,20 +124,22 @@ bottom_ext_standoff = [5.75,5,3.6,10,4,1,0,0,0,4.5,5.1]; /* [Features and Accessories] */ // enable indentations around io openings indents = true; -// enable sata knockout -sata_knockout = false; -// gpio opening -gpio_opening = "default"; // [default,none,open,block,knockout,vent] // heatsink opening cooling = "default"; // [default,none,open,fan_open,fan_1,fan_2,fan_hex,vent,vent_hex_5mm,vent_hex_8mm,custom] fan_size = 0; // [0,30,40,50,60,70,80,92] // exhaust vent exhaust_vents = "vent"; // [none,vent] +// gpio opening +gpio_opening = "default"; // [default,none,open,block,knockout,vent] // uart opening uart_opening = "default"; // [default,none,open,knockout] +// enable sata knockout +sata_knockout = false; + + // case accessory group to load -accessory_name = "none"; // ["none", "hk_uart", "c1+_shell_boombox", "c1+_panel_boombox", "c1+_panel_lcd3.5", "c1+_desktop_lcd3.5", "c1+_deskboom_lcd3.5", "c1+_tray_boombox", "c1+_round", "c1+_hex", "c2_shell_boombox", "c2_panel_boombox", "c2_panel_lcd3.5", "c2_desktop_lcd3.5", "c2_deskboom_lcd3.5", "c2_tray_boombox", "c2_round", "c2_hex", "c4_shell_boombox", "c4_panel_lcd3.5", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_tray_drivebox2.5", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "n2l_tray", "n2l_gpio", "n2+_tray_vu7_fan", "m1s_shell", "m1s_shell_nvme", "m1s_shell_ups", "m1s_panel", "m1s_tray_nvme", "m1s_snap", "m1s_fitted", "m1_panel", "m1_tray", "m1_tray_ssd", "m1_tray_sides", "m1_tray_vu5", "m1_tray_vu7", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h2_shell", "h2_shell_router", "h2_shell_router-ssd", "h2_lowboy", "h2_lowboy_router", "h2_tray", "h2_tray_sides", "h2_tray_router", "h2_router_station", "h2_round", "h2_hex", "h3_shell", "h3_lowboy", "h3_lowboy_router", "h3_tallboy", "h3_tallboy-ssd", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "jetsonnano_round", "jetsonnano_hex", "jetsonnano_snap", "jetsonnano_fitted", "rock64_round", "rock64_hex", "rockpro64_shell", "rockpro64_panel", "rockpro64_stacked", "rockpro64_tray", "rockpro64_tray_sides", "rockpro64_round", "rockpro64_hex", "rockpro64_snap", "rockpro64_fitted", "star64_shell", "show2_shell", "rpi1b+_round", "rpi1b+_hex", "rpi3b_round", "rpi3b_hex", "rpi3b+_round", "rpi3b+_hex", "rpi4b_round", "rpi4b_hex", "rpi4b_shell_geeekpi_poe_hat", "rpi5_round", "rpi5_hex", "rock4b+_round", "rock4b+_hex", "rock4c_round", "rock4c_hex", "rock4c+_round", "rock4c+_hex", "rock5b", "rock5b_shell", "rock5bq", "rock5bq_shell", "rock5bq_tray", "rock5bq_tray_sides", "rock5bq_snap", "rock5bq_fitted", "rock5b-v1.3", "tinkerboard_round", "tinkerboard_hex", "tinkerboard-s_round", "tinkerboard-s_hex", "tinkerboard-2_round", "tinkerboard-2_hex", "tinkerboard-r2_round", "tinkerboard-r2_hex", "visonfive2_shell", "visonfive2_panel", "visonfive2_stacked", "visonfive2_tray", "visonfive2_snap", "visonfive2_fitted", "visonfive2q_shell", "visonfive2q_panel", "visonfive2q_stacked", "visonfive2q_tray", "visonfive2q_snap", "visonfive2q_fitted"] +accessory_name = "none"; // ["none", "hk_uart", "c1+_shell_boombox", "c1+_panel_boombox", "c1+_panel_lcd3.5", "c1+_desktop_lcd3.5", "c1+_deskboom_lcd3.5", "c1+_tray_boombox", "c1+_round", "c1+_hex", "c2_shell_boombox", "c2_panel_boombox", "c2_panel_lcd3.5", "c2_desktop_lcd3.5", "c2_deskboom_lcd3.5", "c2_tray_boombox", "c2_round", "c2_hex", "c4_shell_boombox", "c4_panel_lcd3.5", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_tray_drivebox2.5", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "n2l_tray", "n2l_gpio", "n2+_tray_vu7_fan", "m1s_shell", "m1s_shell_nvme", "m1s_shell_ups", "m1s_panel", "m1s_tray_nvme", "m1s_snap", "m1s_fitted", "m1_panel", "m1_tray", "m1_tray_ssd", "m1_tray_sides", "m1_tray_vu5", "m1_tray_vu7", "m1_fitted_drivebox2.5", "m1_fitted_drivebox3.5", "m1_fitted_pizzabox", "m1_fitted_drivebox3.5v", "h2_shell", "h2_shell_router", "h2_shell_router-ssd", "h2_lowboy", "h2_lowboy_router", "h2_tray", "h2_tray_sides", "h2_tray_router", "h2_router_station", "h2_round", "h2_hex", "h3_shell", "h3_lowboy", "h3_lowboy_router", "h3_tallboy", "h3_tallboy-ssd", "h3_ultimate", "h3_ultimate2", "h3_shell_drivebox2.5v", "show2_shell", "jetsonnano_shell", "jetsonnano_panel", "jetsonnano_stacked", "jetsonnano_tray", "jetsonnano_tray_sides", "jetsonnano_round", "jetsonnano_hex", "jetsonnano_snap", "jetsonnano_fitted", "rock64_round", "rock64_hex", "rockpro64_shell", "rockpro64_panel", "rockpro64_stacked", "rockpro64_tray", "rockpro64_tray_sides", "rockpro64_round", "rockpro64_hex", "rockpro64_snap", "rockpro64_fitted", "star64_shell", "rpi1b+_round", "rpi1b+_hex", "rpi3b_round", "rpi3b_hex", "rpi3b+_round", "rpi3b+_hex", "rpi4b_round", "rpi4b_hex", "rpi4b_shell_geeekpi_poe_hat", "rpi5_round", "rpi5_hex", "rock4b+_round", "rock4b+_hex", "rock4c_round", "rock4c_hex", "rock4c+_round", "rock4c+_hex", "rock5b", "rock5b_shell", "rock5bq", "rock5bq_shell", "rock5bq_tray", "rock5bq_tray_sides", "rock5bq_snap", "rock5bq_fitted", "rock5b-v1.3", "tinkerboard_round", "tinkerboard_hex", "tinkerboard-s_round", "tinkerboard-s_hex", "tinkerboard-2_round", "tinkerboard-2_hex", "tinkerboard-r2_round", "tinkerboard-r2_hex", "visonfive2_shell", "visonfive2_panel", "visonfive2_stacked", "visonfive2_tray", "visonfive2_snap", "visonfive2_fitted", "visonfive2q_shell", "visonfive2q_panel", "visonfive2q_stacked", "visonfive2q_tray", "visonfive2q_snap", "visonfive2q_fitted"] a = search([accessory_name],accessory_data); s = search([sbc_model],sbc_data); @@ -268,7 +270,7 @@ if (view == "model") { cube([width+2,gap+wallthick+1.01,case_z+2]); } if(move_front < 0) { - translate([-gap-wallthick-1,depth-gap-wallthick-2.01,-lower_bottom]) + translate([-gap-wallthick-1,depth-2*(gap+wallthick),-lower_bottom]) cube([width+2,gap+wallthick+1.01,case_z+2]); } if(move_leftside < 0) { @@ -293,7 +295,7 @@ if (view == "model") { cube([width+2,gap+wallthick+1.01,case_z+2]); } if(move_front < 0) { - translate([-gap-wallthick-1,depth-gap-wallthick-2.01,raise_top]) + translate([-gap-wallthick-1,depth-2*(gap+wallthick),raise_top]) cube([width+2,gap+wallthick+1.01,case_z+2]); } if(move_leftside < 0) { diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 410e789..9d08d5d 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -69,9 +69,10 @@ accessory_data = [ // hk uart group ["hk_uart", "add2","hk_uart_holder",-25,0,1.9,"bottom",[0,0,0],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart holder + "suball","slot",-18.25,0,8.25,"top",[90,0,0],["sbc",true,false,false],4,4,15,0,0,"vertical",[0], // sub rectangle "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","hk_uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0, - "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk uart strap + "platter","hk_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", @@ -80,10 +81,11 @@ accessory_data = [ "add2","boom_grill",108,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","hk_uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "sub","round",43.75,49,39,"top",[0,0,0],["case",false,true,false],5,0,5,0,0,"vertical",0, // sub cylinder - "sub","slot",70.5,65,48,"top",[0,0,0],["case",false,true,false],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle + "-sub","slot",70.5,65,48,"top",[0,0,0],["case",false,true,false],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","round",16.5,61,21.5,"top",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,61,21.5,"top",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder - "sub","vent",44,61,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening + "sub","vent",44,60,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,53,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet @@ -99,6 +101,7 @@ accessory_data = [ "sub","round",16.5,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,true],2,10,5,1,8,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,53,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet @@ -107,19 +110,19 @@ accessory_data = [ "platter","boom_vring",-60,100,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk boom bonnet volume ring ["c1+_panel_lcd3.5", - "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "sub","vent",-3,13,10,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening - "sub","rectangle",5.5,2.75,27,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle + "sub","rectangle",5.5,2.75,27,"top",[0,0,0],["case",false,false,false],74.5,51,6,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "model","hk_lcd35",95,56,20,"bottom",[0,0,180],["case",false,false,false],0,0,0,0,0,"",0], // model hk 3.5 lcd ["c1+_desktop_lcd3.5", - "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button // 20 degrees "add1","rectangle",-3.5,2.65,-24.5,"left",[20,0,0],["case",false,false,false],2,62.9,24,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "sub","round",-3.75,40,-34,"left",[0,90,0],["case",false,false,false],65,0,3,0,0,"vertical",0, // sub round @@ -127,16 +130,16 @@ accessory_data = [ "sub","round",116.4,40,-34,"right",[0,90,0],["case",false,false,false],65,0,3,0,0,"vertical",0, // sub round // "sub","vent",-3,13,10,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening - "sub","rectangle",5.5,2.75,27,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle + "sub","rectangle",5.5,2.75,27,"top",[0,0,0],["case",false,false,false],74.5,51,6,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "model","hk_lcd35",95,56,20,"bottom",[0,0,180],["case",false,false,false],0,0,0,0,0,"",0], // model hk 3.5 lcd ["c1+_deskboom_lcd3.5", "add1","rectangle",126.5,14.75,-37.5,"right",[30,0,0],["case",false,false,false],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",-3.5,14.75,-37.5,"left",[30,0,0],["case",false,false,false],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle - "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],["case",false,false,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],["case",false,false,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],["case",false,false,false],0,0,2,0,0,"flat",0, // add boom grill @@ -149,12 +152,13 @@ accessory_data = [ "sub","round",16.5,75,21.5,"front",[90,0,0],["case",false,false,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],["case",false,false,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model - "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap + "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,68,4,"bottom",[90,0,0],["case",false,false,false],0,0,0,true,0,"front",0, // hk boom bonnet "model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","hk_lcd35",95,56,31,"bottom",[0,0,180],["case",false,false,false],0,0,0,0,0,"",0, // model hk 3.5 lcd - "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap + "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "platter","boom_vring",-60,100,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk boom bonnet volume ring ["c1+_tray_boombox", @@ -162,7 +166,7 @@ accessory_data = [ "add2","boom_speaker_holder",108.25,54.6,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"none",0, // add boom grill "add2","boom_grill",16.75,59,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",108.25,59,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill - "sub","vent",44,75,12,"bottom",[0,0,0],["case",false,false,false],2,10,4,1,10,"vertical",1, // vent opening + "sub","vent",44,74,12,"bottom",[0,0,0],["case",false,false,false],2,10,4,1,10,"vertical",1, // vent opening "sub","round",-2,11,15.75,"top",[0,-90,0],["case",false,false,false],5,0,8,0,0,"vertical",0, // sub cylinder "sub","slot",-9,37.5,17,"top",[90,0,90],["case",false,false,false],7,14,6,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","round",16.75,60,17.5,"bottom",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder @@ -193,6 +197,7 @@ accessory_data = [ "sub","round",16.5,61,21.5,"top",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,61,21.5,"top",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",44,60,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,53,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet @@ -208,6 +213,7 @@ accessory_data = [ "sub","round",16.5,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,51,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet @@ -216,19 +222,19 @@ accessory_data = [ "platter","boom_vring",-60,100,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk boom bonnet volume ring ["c2_panel_lcd3.5", - "add2","button",89.875,45,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "sub","vent",-3,13,10,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening "sub","rectangle",5.5,2.75,27,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "model","hk_lcd35",95,56,20,"bottom",[0,0,180],["case",false,false,false],0,0,0,0,0,"",0], // model hk 3.5 lcd ["c2_desktop_lcd3.5", - "add2","button",89.875,45,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button // 20 degrees "add1","rectangle",-3.5,2.65,-24.5,"left",[20,0,0],["case",false,false,false],2,62.9,24,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "sub","round",-3.75,40,-34,"left",[0,90,0],["case",false,false,false],65,0,3,0,0,"vertical",0, // sub round @@ -242,10 +248,10 @@ accessory_data = [ ["c2_deskboom_lcd3.5", "add1","rectangle",126.5,14.75,-37.5,"right",[30,0,0],["case",false,false,false],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",-3.5,14.75,-37.5,"left",[30,0,0],["case",false,false,false],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle - "add2","button",89.875,45,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,25,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],["case",false,false,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],["case",false,false,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],["case",false,false,false],0,0,2,0,0,"flat",0, // add boom grill @@ -258,6 +264,7 @@ accessory_data = [ "sub","round",16.5,75,21.5,"front",[90,0,0],["case",false,false,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],["case",false,false,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,68,4,"bottom",[90,0,0],["case",false,false,false],0,0,0,true,0,"front",0, // hk boom bonnet @@ -271,7 +278,7 @@ accessory_data = [ "add2","boom_speaker_holder",108.25,54.6,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"none",0, // add boom grill "add2","boom_grill",16.75,59,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",108.25,59,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill - "sub","vent",44,60,12,"bottom",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening + "sub","vent",44,59,12,"bottom",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening "sub","round",-2,11,15.75,"top",[0,-90,0],["case",false,false,false],5,0,8,0,0,"vertical",0, // sub cylinder "sub","slot",-9,37.5,17,"top",[90,0,90],["case",false,false,false],7,14,6,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","round",16.75,60,17.5,"bottom",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder @@ -302,6 +309,7 @@ accessory_data = [ "sub","round",16.5,61,21.5,"top",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,61,21.5,"top",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",44,60,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,53,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet @@ -310,19 +318,19 @@ accessory_data = [ "platter","boom_vring",-60,100,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk boom bonnet volume ring ["c4_panel_lcd3.5", - "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button "sub","vent",-3,13,10,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening "sub","rectangle",5.5,2.75,28,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "model","hk_lcd35",95,56,20,"top",[0,0,180],["case",false,false,false],0,0,0,0,0,"",0], // model hk 3.5 lcd ["c4_desktop_lcd3.5", - "add2","button",89.875,45,29,"top",[0,0,180],["case",false,false,false],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,29,"top",[0,0,180],["case",false,false,false],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,29,"top",[0,0,180],["case",false,false,false],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,29,"top",[0,0,180],["case",false,false,false],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button // 30 degrees "add1","rectangle",-3.5,11.25,-31,"left",[30,0,0],["case",false,false,false],2,58.15,33.5,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "sub","round",-3.75,46,-34,"left",[0,90,0],["case",false,false,false],60,0,3,0,0,"vertical",0, // sub round @@ -336,13 +344,14 @@ accessory_data = [ ["c4_deskboom_lcd3.5", "add1","rectangle",126.5,14.75,-37.5,"right",[30,0,0],["case",false,false,false],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",-3.5,14.75,-37.5,"left",[30,0,0],["case",false,false,false],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle - "add2","button",89.875,45,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,34,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,23,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button - "add2","button",89.875,12,26,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,45,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,34,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,23,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button + "add2","button",89.875,12,27,"top",[0,0,180],["sbc-case_z",false,false,true],12,8,2,2.25,0,"cutout",[2,2,2,2], // cutout button "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],["case",false,false,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],["case",false,false,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],["case",false,false,false],0,0,2,0,0,"flat",0, // add boom grill + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "add2","hk_uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "sub","round",-3.75,54,-32,"left",[0,90,0],["case",false,false,false],60,0,3,0,0,"vertical",0, // sub round "sub","round",126.4,54,-32,"right",[0,90,0],["case",false,false,false],60,0,3,0,0,"vertical",0, // sub round @@ -352,12 +361,13 @@ accessory_data = [ "sub","round",16.5,75,21.5,"front",[90,0,0],["case",false,false,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],["case",false,false,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model - "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap + "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,68,4,"bottom",[90,0,0],["case",false,false,false],0,0,0,true,0,"front",0, // hk boom bonnet "model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","hk_lcd35",95,56,31,"bottom",[0,0,180],["case",false,false,false],0,0,0,0,0,"",0, // model hk 3.5 lcd - "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap + "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "platter","boom_vring",-60,100,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk boom ["c4_panel_boombox", @@ -368,11 +378,12 @@ accessory_data = [ "sub","round",16.5,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening + "suball","slot",16.25,0,8,"top",[90,0,0],["case",false,false,false],4,5,15,0,0,"vertical",[0], // sub rectangle "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model - "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap + "model","hk_uart_strap",10,0,2,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "model","hk_boom",32.25,53,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet "model","boom_vring",76.75,49.5,31,"bottom",[90,0,0],["case",false,true,false],0,0,0,0,0,"",0, // hk boom bonnet volume ring - "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap + "platter","hk_uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0, // hk uart strap "platter","boom_vring",-60,100,0,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk boom bonnet volume ring ["c4_tray_boombox", @@ -380,7 +391,7 @@ accessory_data = [ "add2","boom_speaker_holder",108.25,54.6,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"none",0, // add boom grill "add2","boom_grill",16.75,59,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",108.25,59,17.5,"bottom",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill - "sub","vent",44,60,12,"bottom",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening + "sub","vent",44,59,12,"bottom",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening "sub","round",-2,11,15.75,"top",[0,-90,0],["case",false,false,false],5,0,8,0,0,"vertical",0, // sub cylinder "sub","slot",-9,37.5,17,"top",[90,0,90],["case",false,false,false],7,14,6,0,0,"vertical",[.25,.25,.25,.25], // sub slot "sub","round",16.75,60,17.5,"bottom",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder @@ -401,8 +412,8 @@ accessory_data = [ // 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 + "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 @@ -414,13 +425,13 @@ accessory_data = [ "sub","round",92,66.6,5,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole "sub","round",92,-10,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole "sub","round",92,66.6,23,"bottom",[0,90,0],["case",true,true,false],3,0,3,0,0,"",0, // sub hd side screw hole - "suball","fan",37,-.1,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // sub fan + "suball","fan",37,-.1,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,0,0,"",0, // sub fan "suball","vent",72,87,27,"bottom",[0,0,0],["case",false,true,false],2,13,4,1,4,"vertical",1, // sub vent "model","hc4_oled",20,81,2,"bottom",[0,0,0],["case",false,true,false],0,0,0,0,0,"",0, // model hc4 oled "model","hd25",10,76,2,"bottom",[0,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",10,76,20,"bottom",[0,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd - "model","fan_cover",37,-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 + "model","fan_cover",37,-4,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // model fan + "platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,1,0,"",0], // model fan ["hc4_shell_drivebox2.5", "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 @@ -431,7 +442,7 @@ accessory_data = [ "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 + "suball","fan",39,-.1,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,0,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 "sub","vent",92,35,34,"top",[0,0,90],["case",true,false,false],2,10,4,1,17,"vertical",1, // vent opening "sub","vent",-3.5,35,9,"bottom",[0,0,90],["case",false,false,false],2,10,4,1,17,"vertical",1, // vent opening @@ -439,8 +450,8 @@ accessory_data = [ "model","hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],0,0,0,0,0,"",0, // model hc4 oled "model","hd25",10,79,2,"bottom",[0,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",10,79,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,"top",[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 + "model","fan_cover",39,-4,7,"top",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // model fan + "platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,1,0,"",0], // model fan ["hc4_shell_drivebox2.5v", "add2","hd_vertright",45.6,-21,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,0,"portrait",0, // sub hd bottom holes @@ -450,13 +461,13 @@ accessory_data = [ "sub","round",91.3,-5,6.07,"bottom",[0,90,0],["case",true,true,false],3,0,6,0,0,"",0, // sub hd side screw hole "sub","round",91.3,71.6,6.07,"bottom",[0,90,0],["case",true,true,false],3,0,6,0,0,"",0, // sub hd side screw hole "sub","vent",71.85,88,30,"top",[0,0,0],["case",false,true,false],2,13,4,1,4,"vertical",1, // sub vent - "sub","fan",45.6,-.1,30,"top",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // sub fan + "sub","fan",45.6,-.1,30,"top",[90,0,0],["case",true,false,false],40,0,3,0,0,"",0, // sub fan "add1","hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],0,0,2,0,0,"",0, // model hc4 holder "model","hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],0,0,0,0,0,"",0, // model hc4 oled - "model","fan_cover",46.6,-3,30,"top",[90,0,0],["case",true,false,false],40,0,3,2,0,"",0, // model fan + "model","fan_cover",46.6,-3,30,"top",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // model fan "model","hd25",45.6,79,71.85,"bottom",[-90,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",79.3,79,2,"bottom",[90,0,-90],["case",true,true,false],0,0,0,15,0,"",0, // model 2.5 hd - "platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,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,1,0,"",0], // model fan ["hc4_shell_drivebox3.5", "add1","hc4_oled_holder",20,82,3,"bottom",[0,0,0],["case",false,true,false],0,0,3,0,0,"",0, // model hc4 holder @@ -466,14 +477,12 @@ accessory_data = [ "sub","round",91.6,3.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,63.1,9.35,"bottom",[0,90,0],["case",true,true,false],3,0,4,0,0,"",0, // sub hd side screw hole "suball","vent",72,88,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 + "suball","fan",5.6,-1.5,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,0,0,"",0, // sub fan "model","hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],0,0,0,0,0,"",0, // model hc4 oled "model","hd35",-19.4,80,3,"bottom",[0,0,-90],["case",true,true,false],0,0,0,0,0,"",0, // model 3.5 hd "model","hd35",-19.4,80,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,"top",[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-N1 + "model","fan_cover",5.6,-4,7,"top",[90,0,0],["case",true,false,false],40,0,3,1,0,"",0, // model fan + "platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,1,0,"",0], // model fan // Odroid-N2L ["n2l_tray", @@ -481,7 +490,7 @@ accessory_data = [ ["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","fan",20,8,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,3,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+ @@ -519,11 +528,11 @@ accessory_data = [ "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 + "add1","access_port",-5.5,28,-0.01,"bottom",[0,0,0],["sbc",true,true,false],105,30,2,0,0,"landscape",0, // access port + "model","access_cover",-5.5,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,20,"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,20,"top",[0,0,0],["sbc-case_z",false,false,true],10,0,23.5,0,0,"recess",0, // button top + "add2","button",2,33.5,21.2,"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.2,"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,2.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,2.5,"top",[0,0,0],["sbc",true,true,true],3,11,15,0,0,"vertical",[1,1,1,1], // standoff trim @@ -531,7 +540,7 @@ accessory_data = [ "sub","rectangle",17.5,12,2.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 + "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 @@ -553,39 +562,33 @@ accessory_data = [ // 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 "sub","vent",90,32,10,"right",[0,0,90],["case",true,false,false],2,15,8,1,17,"vertical",1, // vent opening "sub","vent",-5.5,32,10,"left",[0,0,90],["case",false,false,false],2,15,8,1,17,"vertical",1], // vent opening ["m1_tray", - "add2","button",60,118.5,35,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button - "model","button_top",60,118.5,35,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top + "add2","button",60,118.5,33.7,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button + "model","button_top",60,118.5,33.7,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top "platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,11,0,0,"recess",0, // button top - "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 - "sub","vent",29,20,-1,"bottom",[0,0,0],["case",false,false,false],2,15,8,5,12,"horizontal",1, // bottom vent opening + "sub","vent",22,32,32,"top",[0,0,0],["sbc-case_z",true,true,true],2,15,8,2,12,"horizontal",1, // top vent opening "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_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 - "sub","vent",29,20,-1,"bottom",[0,0,0],["case",false,false,false],2,15,8,5,12,"horizontal",1, // vent opening + "sub","vent",22,32,31,"top",[0,0,0],["sbc-case_z",true,true,true],2,15,8,2,12,"horizontal",1, // top vent opening "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_sides", - "sub","vent",24,20,-1,"bottom",[0,0,0],["sbc",true,true,false],2,15,8,5,12,"horizontal",1, // vent opening "sub","vent",94,32,10,"right",[0,0,90],["case",true,false,false],2,15,4,1,17,"vertical",1, // vent opening "sub","vent",-5.5,32,10,"left",[0,0,90],["case",false,false,false],2,15,4,1,17,"vertical",1], // vent opening ["m1_tray_vu5", - "sub","vent",22,20,-1,"bottom",[0,0,0],["sbc",true,true,false],2,15,8,5,12,"horizontal",1, // vent opening "sub","vent",92,32,10,"right",[0,0,90],["case",true,false,false],2,15,8,1,17,"vertical",1, // vent opening "sub","vent",-7,32,10,"left",[0,0,90],["case",false,false,false],2,15,8,1,17,"vertical",1], // vent opening ["m1_tray_vu7", - "sub","vent",21,20,-1,"bottom",[0,0,0],["sbc",true,true,false],2,15,8,5,12,"horizontal",1, // vent opening "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 @@ -596,14 +599,14 @@ accessory_data = [ "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 + "suball","fan",39,-1,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,0,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 + "model","fan_cover",39,-4,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,3,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", @@ -617,10 +620,10 @@ accessory_data = [ "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 + "suball","fan",5.6,-1.5,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,0,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 + "model","fan_cover",5.6,-4,7,"bottom",[90,0,0],["case",true,false,false],40,0,3,3,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", @@ -631,7 +634,7 @@ accessory_data = [ "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 + "suball","fan",-30,60,48,"top",[0,0,0],["case",true,false,false],80,0,3,0,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 @@ -651,11 +654,11 @@ accessory_data = [ "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 + "suball","fan",5.6,-1.5,50,"bottom",[90,0,0],["case",true,false,false],40,0,3,0,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 + "model","fan_cover",5.6,-4,50,"bottom",[90,0,0],["case",true,false,false],40,0,3,3,0,"",0, // model fan + "platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],40,0,3,3,0,"",0], // model fan // Odroid-H2 @@ -665,11 +668,11 @@ accessory_data = [ "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 + "add2","batt_holder",98,40,55.25,"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,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -681,11 +684,11 @@ accessory_data = [ "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 "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","batt_holder",98,40,65,"top",[180,0,-18],["sbc",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 + "add2","batt_holder",98,40,65.25,"top",[180,0,-18],["sbc",true,true,true],10,10,0,0,0,"",0, // add battery holder + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 "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,32,0,0,"recess",0, // button top @@ -695,15 +698,16 @@ accessory_data = [ ["h2_shell_router-ssd", "sub","vent",111.5,30,40,"top",[0,0,90],["case",true,false,false],2,15,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",-3.5,30,40,"top",[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 "sub","round",111,44,6.07,"bottom",[0,90,0],["case",true,false,false],3,0,3,0,0,"",0, // sub hd side screw hole "sub","round",111,120.6,6.07,"bottom",[0,90,0],["case",true,false,false],3,0,3,0,0,"",0, // sub hd side screw hole "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","batt_holder",98,40,65,"top",[180,0,-18],["sbc",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 + "add2","batt_holder",98,40,75.25,"top",[180,0,-18],["sbc",true,true,true],10,10,0,0,0,"",0, // add battery holder + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,42,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,42,0,0,"recess",0, // button + "model","button_top",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,42,0,0,"recess",0, // button top + "model","button_top",23.77,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,42,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 "add2","hd_vertleft",102,10,1.99,"bottom",[0,0,0],["case",true,true,false],0,0,0,2.5,3,"portrait",0, // add hd holder @@ -714,21 +718,20 @@ accessory_data = [ "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0], // access port cover ["h2_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",10.5,28.5,50,"top",[0,0,0],["sbc-case_z",true,true,true],75,71,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle + "sub","rectangle",94.5,-4,32,"top",[0,0,0],["sbc-case_z",true,true,true],14,24.5,25,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,25,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,25,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,25,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",98,40,53,"top",[180,0,-18],["case",false,false,true],10,10,0,0,0,"",0, // add uart + "add2","batt_holder",98,40,55.25,"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 - "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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -746,10 +749,10 @@ accessory_data = [ "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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -762,10 +765,10 @@ accessory_data = [ "suball","vent",-6.5,30,6,"top",[0,0,90],["case",false,false,false],2,10,7,1,17,"vertical",1, // vent opening "suball","vent",111.5,30,6,"top",[0,0,90],["case",true,false,false],2,10,7,1,17,"vertical",1, // vent 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,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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,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 @@ -777,10 +780,10 @@ accessory_data = [ "sub","vent",-6.5,30,6,"left",[0,0,90],["case",false,false,false],2,10,7,1,17,"vertical",1, // vent opening "sub","vent",111.5,30,6,"right",[0,0,90],["case",true,false,false],2,10,7,1,17,"vertical",1, // vent 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,55,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button - "add2","button",23.77,106.43,55,"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,55,"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,55,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button top + "add2","button",12.34,106.43,57.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,34,0,0,"recess",0, // button + "add2","button",23.77,106.43,57.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,34,0,0,"recess",0, // button + "model","button_top",12.34,106.43,57.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,34,0,0,"recess",0, // button top + "model","button_top",23.77,106.43,57.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,34,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","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,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,34,0,0,"recess",0, // button top @@ -792,10 +795,10 @@ accessory_data = [ "suball","vent",-6.5,30,6,"top",[0,0,90],["case",false,false,false],2,10,7,1,17,"vertical",1, // vent opening "suball","vent",111.5,30,6,"top",[0,0,90],["case",true,false,false],2,10,7,1,17,"vertical",1, // vent 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,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,44,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,44,0,0,"recess",0, // button top + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 "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","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0, // access port cover @@ -818,10 +821,10 @@ accessory_data = [ "sub","vent",-25,30,18,"top",[0,0,90],["case",false,false,false],2,6,15,1,17,"vertical",1, // vent opening "sub","vent",122,30,18,"top",[0,0,90],["case",false,false,false],2,6,15,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","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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -833,10 +836,10 @@ accessory_data = [ "sub","vent",-25,30,18,"top",[0,0,90],["case",false,false,false],2,6,15,1,17,"vertical",1, // vent opening "sub","vent",122,30,18,"top",[0,0,90],["case",false,false,false],2,6,15,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","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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -849,11 +852,11 @@ accessory_data = [ "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 + "add2","batt_holder",98,40,55.25,"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,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,32,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -869,12 +872,11 @@ 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",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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -890,12 +892,11 @@ accessory_data = [ "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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,11,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -912,10 +913,10 @@ accessory_data = [ "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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -930,10 +931,10 @@ accessory_data = [ "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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -958,12 +959,12 @@ accessory_data = [ "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 + "model","hk_pwr_button",20,110,55.25,"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,55.25,"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,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button +// "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -976,9 +977,9 @@ accessory_data = [ "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 + "suball","fan",0,25,3,"top",[0,270,0],["case",false,false,false],60,0,6,0,0,"",0, // sub fan opening + "model","fan_cover",-4,25,3,"top",[0,270,0],["case",false,false,false],60,0,2,3,0,"",0, // model fan cover + "platter","fan_cover",-100,150,0,"top",[0,0,0],["case",false,false,false],60,0,2,0,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 @@ -996,20 +997,20 @@ accessory_data = [ "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","round",23,111.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",71,111.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",-31.5,3,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",-31.5,77,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",-10,111.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",101,111.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",91.25,-16.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",66.25,-16.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",42.25,-16.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",16.25,-16.5,10,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",-1,-16.5,9,"top",[0,0,0],["case",true,true,true],4,0,44,0,0,"",0, // wall support + "add1","round",-29,109,9,"top",[0,0,0],["case",true,true,true],3,0,44,0,0,"",0, // wall support + "add1","round",-29,-14,9,"top",[0,0,0],["case",true,true,true],3,0,44,0,0,"",0, // wall support + "add1","round",109,109,9,"top",[0,0,0],["case",true,true,true],3,0,44,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 @@ -1019,8 +1020,8 @@ accessory_data = [ "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","hk_pwr_button",11,114,55.25,"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,55.25,"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 @@ -1036,10 +1037,10 @@ accessory_data = [ "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 + "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,53,0,0,"recess",0, // button + "add2","button",23.77,106.43,55.25,"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,55.25,"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,55.25,"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 @@ -1053,34 +1054,43 @@ accessory_data = [ "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 + ["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 + "suball","round",57.25,0,6,"top",[90,0,0],["sbc",true,true,true],4,0,4,0,0,"",0, // sub button access hole + "suball","round",65.75,0,6,"top",[90,0,0],["sbc",true,true,true],4,0,4,0,0,"",0, // sub button access hole + "sub","rectangle",.5,8,8.5,"top",[0,0,0],["case",false,false,false],6,16.5,8,0,0,"",[.5,.5,.5,.5], // sub gpio opening + "add1","rectangle",22.5,9,8.85,"top",[0,0,0],["case",false,false,false],47,36,3.25,0,0,"",[.5,.5,.5,.5], // add screen trim + "sub","rectangle",23.5,10,8.5,"top",[0,0,0],["case",false,false,false],45,34,8,0,0,"",[.5,.5,.5,.5]], // sub screen opening + // Nvidia ["jetsonnano_shell", - "sub","rectangle",17.5,36.375,31,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + "sub","rectangle",17.5,36.375,33,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening ["jetsonnano_panel", - "sub","rectangle",17.5,36.375,31,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + "sub","rectangle",17.5,36.375,33,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening ["jetsonnano_stacked", - "sub","rectangle",17.5,36.375,31,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + "sub","rectangle",17.5,36.375,33,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening ["jetsonnano_tray", - "sub","rectangle",17.5,36.375,31,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening + "sub","rectangle",17.5,36.375,33,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening ["jetsonnano_tray_sides", - "sub","rectangle",17.5,36.375,31,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening + "sub","rectangle",17.5,36.375,33,"top",[0,0,0],["sbc-case_z",true,true,true],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening ["jetsonnano_round", - "sub","vent",17.5,36.375,32,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // sub vent opening + "sub","vent",17.5,36.375,34,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // sub vent opening ["jetsonnano_hex", - "sub","vent",17.5,36.375,32,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // sub vent opening + "sub","vent",17.5,36.375,34,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // sub vent opening ["jetsonnano_snap", - "sub","vent",17.5,36.375,36,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // sub vent opening + "sub","vent",17.5,36.375,38,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // sub vent opening ["jetsonnano_fitted", - "sub","vent",17.5,36.375,35,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], + "sub","vent",17.5,36.375,37,"top",[0,0,0],["sbc-case_z",true,true,true],2,43,4,1,16,"horizontal",1], // Pine64 ["rock64_round", @@ -1122,43 +1132,35 @@ accessory_data = [ "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 - "suball","round",57.25,0,6,"top",[90,0,0],["sbc",true,true,true],4,0,4,0,0,"",0, // sub button access hole - "suball","round",65.75,0,6,"top",[90,0,0],["sbc",true,true,true],4,0,4,0,0,"",0, // sub button access hole - "sub","rectangle",.5,8,8.5,"top",[0,0,0],["case",false,false,false],6,16.5,8,0,0,"",[.5,.5,.5,.5], // sub gpio opening - "add1","rectangle",22.5,9,8.85,"top",[0,0,0],["case",false,false,false],47,36,3.25,0,0,"",[.5,.5,.5,.5], // add screen trim - "sub","rectangle",23.5,10,8.5,"top",[0,0,0],["case",false,false,false],45,34,8,0,0,"",[.5,.5,.5,.5]], // sub screen opening - + // Raspberry Pi ["rpi1b+_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 + "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 ["rpi1b+_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 + "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 ["rpi3b_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 + "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 ["rpi3b_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 + "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 ["rpi3b+_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 + "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 ["rpi3b+_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 + "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 ["rpi4b_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 + "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 ["rpi4b_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 @@ -1169,35 +1171,35 @@ accessory_data = [ ["rpi5_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 + "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 ["rpi5_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 + "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 ["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 + "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 ["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 + "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 ["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 + "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 ["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 + "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 ["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 + "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 ["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 + "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 ["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 @@ -1314,35 +1316,35 @@ accessory_data = [ // Asus ["tinkerboard_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 + "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 ["tinkerboard_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 + "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 ["tinkerboard-s_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 + "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 ["tinkerboard-s_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 + "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 ["tinkerboard-2_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 + "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 ["tinkerboard-2_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 + "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 ["tinkerboard-r2_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 + "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 ["tinkerboard-r2_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 + "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 ["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