plumbed new heatsink, gpio, uart mask selection thru sbcmf cmdline

This commit is contained in:
Edward Kisiel
2024-01-29 21:07:08 -05:00
parent adf72494a1
commit d084cab29f
11 changed files with 1075 additions and 1057 deletions

View File

@@ -1,6 +1,6 @@
/* /*
uart_holder() hk_uart_holder()
uart_strap () hk_uart_strap ()
hc4_oled_holder(side,floorthick) hc4_oled_holder(side,floorthick)
hk_wb2() hk_wb2()
hc4_oled() hc4_oled()
@@ -56,7 +56,7 @@ module hk_uart_holder() {
/* odroid uart strap for holder */ /* odroid uart strap for holder */
module uart_strap() { module hk_uart_strap() {
difference () { difference () {
translate ([-4.5,17,9]) cube([27,6,3]); translate ([-4.5,17,9]) cube([27,6,3]);
translate ([-1.5,20,8]) cylinder (r=1.6, h=5, $fn=90); translate ([-1.5,20,8]) cylinder (r=1.6, h=5, $fn=90);

View File

@@ -3,7 +3,7 @@
slab(size, radius) slab(size, radius)
slab_r(size, radius) slab_r(size, radius)
slot(hole,length,depth) slot(hole,length,depth)
punchout(width,depth,gap,thick,fillet,shape) knockout(width,depth,gap,thick,fillet,shape)
hdmi_open(hdmi_style) hdmi_open(hdmi_style)
microusb_open() microusb_open()
@@ -55,8 +55,8 @@ module slot(hole,length,depth) {
} }
} }
// punchout opening // knockout opening
module punchout(width,depth,gap,thick,fillet,shape) { module knockout(width,depth,gap,thick,fillet,shape) {
adjust = .01; adjust = .01;
$fn=90; $fn=90;

View File

@@ -34,11 +34,11 @@ module add(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data
if(type == "batt_holder") { if(type == "batt_holder") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) batt_holder(data_1); translate([loc_x,loc_y,loc_z]) rotate(rotation) batt_holder(data_1);
} }
if(type == "uart_holder") { if(type == "hk_uart_holder") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) uart_holder(); translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_uart_holder();
} }
if(type == "uart_strap") { if(type == "hk_uart_strap") {
color("grey",1) translate([loc_x,loc_y,loc_z]) rotate(rotation) uart_strap(); color("grey",1) translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_uart_strap();
} }
if(type == "standoff") { if(type == "standoff") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) standoff(data_4); translate([loc_x,loc_y,loc_z]) rotate(rotation) standoff(data_4);

View File

@@ -27,7 +27,7 @@ module case_bottom(case_design) {
translate([(width*(1/5))-8-(wallthick+gap),depth-(2*wallthick)-gap-adj,0]) translate([(width*(1/5))-8-(wallthick+gap),depth-(2*wallthick)-gap-adj,0])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj,0]) translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj,0])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([(width*(1/5))-8-(wallthick+gap),-wallthick-gap+adj,0]) translate([(width*(1/5))-8-(wallthick+gap),-wallthick-gap+adj,0])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([width-(width*(1/5))-(wallthick+gap),-wallthick-gap+adj,0]) translate([width-(width*(1/5))-(wallthick+gap),-wallthick-gap+adj,0])
@@ -51,21 +51,23 @@ module case_bottom(case_design) {
vertical=[c_fillet-1,c_fillet-1,c_fillet-1,c_fillet-1], vertical=[c_fillet-1,c_fillet-1,c_fillet-1,c_fillet-1],
top=[0,0,0,0],bottom=[2,2,2,2], $fn=90); top=[0,0,0,0],bottom=[2,2,2,2], $fn=90);
} }
// right side nut // right side nut
translate([width-wallthick-gap-wallthick-4+adj,wallthick+gap+10, translate([width-wallthick-gap-wallthick-4+adj,wallthick+gap+10,
floorthick+3.4]) rotate([90,0,90]) floorthick+3.4]) rotate([90,0,90])
cylinder(d=10, h=4, $fn=6); cylinder(d=10, h=4, $fn=6);
// left side nut // left side nut
translate([-adj-gap,wallthick+gap+10,floorthick+3.4]) translate([-adj-gap,wallthick+gap+10,floorthick+3.4])
rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
if(depth >= 75 && sbc_model != "visionfive2" && sbc_model != "visionfive2q" && sbc_model != "rock5b-v1.42" && sbc_model != "rock5bq-v1.42" && sbc_model != "rock5b-v1.3") { if(depth >= 75 && sbc_model != "visionfive2" && sbc_model != "visionfive2q" &&
sbc_model != "rock5b" && sbc_model != "rock5bq" && sbc_model != "rock5b-v1.3") {
translate([width-wallthick-gap-wallthick-4+adj,depth-wallthick-gap-10, translate([width-wallthick-gap-wallthick-4+adj,depth-wallthick-gap-10,
floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
translate([-adj-gap,depth-wallthick-gap-10,floorthick+3.4]) translate([-adj-gap,depth-wallthick-gap-10,floorthick+3.4])
rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
} }
else { else {
if(sbc_model == "visionfive2" || sbc_model == "visionfive2q" || sbc_model == "rock5b-v1.42" || sbc_model == "rock5bq-v1.42" || sbc_model == "rock5b-v1.3") { if(sbc_model == "visionfive2" || sbc_model == "visionfive2q" || sbc_model == "rock5b" ||
sbc_model == "rock5bq" || sbc_model == "rock5b-v1.3") {
translate([width-wallthick-gap-wallthick-4+adj,wallthick+gap+58, translate([width-wallthick-gap-wallthick-4+adj,wallthick+gap+58,
floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6); floorthick+3.4]) rotate([90,0,90]) cylinder(d=10, h=4, $fn=6);
translate([-adj-gap,wallthick+gap+58,floorthick+3.4]) translate([-adj-gap,wallthick+gap+58,floorthick+3.4])
@@ -93,7 +95,7 @@ module case_bottom(case_design) {
translate([-wallthick-gap,-wallthick-gap,bottom_height-adj]) translate([-wallthick-gap,-wallthick-gap,bottom_height-adj])
cube([width,wallthick,top_height-floorthick]); cube([width,wallthick,top_height-floorthick]);
} }
if(case_design == "round") { if(case_design == "round") {
difference() { difference() {
translate([pcb_width/2,pcb_depth/2,bottom_height/2]) rotate([0,0,30]) translate([pcb_width/2,pcb_depth/2,bottom_height/2]) rotate([0,0,30])
@@ -129,7 +131,7 @@ module case_bottom(case_design) {
cube([width+50,50+adj,top_height-2*floorthick-2]); cube([width+50,50+adj,top_height-2*floorthick-2]);
} }
} }
} }
if(case_design == "hex") { if(case_design == "hex") {
if(width/depth >= 1.4 && sbc_model != "vim1" && sbc_model != "vim2" && if(width/depth >= 1.4 && sbc_model != "vim1" && sbc_model != "vim2" &&
sbc_model != "vim3l" && sbc_model != "vim3" && sbc_model != "vim4" && sbc_model != "vim3l" && sbc_model != "vim3" && sbc_model != "vim4" &&
@@ -183,9 +185,9 @@ module case_bottom(case_design) {
cube([300,depth+100,case_z-2*floorthick-2]); cube([300,depth+100,case_z-2*floorthick-2]);
translate([(-width+50)/2,-50,bottom_height-2*adj]) translate([(-width+50)/2,-50,bottom_height-2*adj])
cube([width+50,50+adj,top_height-2*floorthick-2]); cube([width+50,50+adj,top_height-2*floorthick-2]);
} }
} }
} }
if(case_design == "snap") { if(case_design == "snap") {
difference() { difference() {
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,(floorthick+case_z)/2]) translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,(floorthick+case_z)/2])
@@ -255,10 +257,10 @@ module case_bottom(case_design) {
} }
// side attachment holes // side attachment holes
if(case_design == "tray") { if(case_design == "tray") {
// right side bottom attachment holes // right side bottom attachment holes
translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10, translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
// right side bottom nut inset // right side bottom nut inset
translate([width-3.5-(2*wallthick)-gap-.6,wallthick+gap+10, translate([width-3.5-(2*wallthick)-gap-.6,wallthick+gap+10,
floorthick+3.4]) rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6); floorthick+3.4]) rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
// left side bottom attachment holes // left side bottom attachment holes
@@ -267,7 +269,8 @@ module case_bottom(case_design) {
// left side bottom nut inset // left side bottom nut inset
translate([-gap+.6,wallthick+gap+10,floorthick+3.4]) translate([-gap+.6,wallthick+gap+10,floorthick+3.4])
rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6); rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
if(depth >= 75 && sbc_model != "visionfive2" && sbc_model != "visionfive2q" && sbc_model != "rock5b-v1.42" && sbc_model != "rock5bq-v1.42" && sbc_model != "rock5b-v1.3") { if(depth >= 75 && sbc_model != "visionfive2" && sbc_model != "visionfive2q" &&
sbc_model != "rock5b" && sbc_model != "rock5bq" && sbc_model != "rock5b-v1.3") {
translate([width-2*(wallthick+gap)-sidethick-adj,depth-wallthick-gap-10, translate([width-2*(wallthick+gap)-sidethick-adj,depth-wallthick-gap-10,
floorthick+3.4]) rotate([0,90,0]) floorthick+3.4]) rotate([0,90,0])
cylinder(d=3, h=10+sidethick+(2*adj)); cylinder(d=3, h=10+sidethick+(2*adj));
@@ -280,7 +283,8 @@ module case_bottom(case_design) {
rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6); rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
} }
else { else {
if(sbc_model == "visionfive2" || sbc_model == "visionfive2q" || sbc_model == "rock5b-v1.42" || sbc_model == "rock5bq-v1.42" || sbc_model == "rock5b-v1.3") { if(sbc_model == "visionfive2" || sbc_model == "visionfive2q" || sbc_model == "rock5b" ||
sbc_model == "rock5bq" || sbc_model == "rock5b-v1.3") {
translate([width-3*(wallthick+gap)-adj,wallthick+gap+58, translate([width-3*(wallthick+gap)-adj,wallthick+gap+58,
floorthick+3.4]) rotate([0,90,0]) floorthick+3.4]) rotate([0,90,0])
cylinder(d=3, h=10+sidethick+(2*adj)); cylinder(d=3, h=10+sidethick+(2*adj));
@@ -292,7 +296,7 @@ module case_bottom(case_design) {
translate([-gap+.6,wallthick+gap+58,floorthick+3.4]) translate([-gap+.6,wallthick+gap+58,floorthick+3.4])
rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6); rotate([90,0,90]) cylinder(d=6.6, h=3.5, $fn=6);
} }
else { else {
translate([width-3*(wallthick+gap)-adj,wallthick+gap+40, translate([width-3*(wallthick+gap)-adj,wallthick+gap+40,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
translate([-wallthick-gap-adj-6,wallthick+gap+40, translate([-wallthick-gap-adj-6,wallthick+gap+40,
@@ -313,9 +317,10 @@ module case_bottom(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]; pcb_hole_x = sbc_data[s[0]][i+4];
pcb_hole_y = sbc_data[s[0]][i+5]; pcb_hole_y = sbc_data[s[0]][i+5];
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(class == "pcbhole" && id == pcb_id && (pcb_hole_pos == "left_rear" || pcb_hole_pos == "left_front" || pcb_hole_pos == "right_rear" || pcb_hole_pos == "right_front")) { if(class == "pcbhole" && id == pcb_id && (pcb_hole_pos == "left_rear" || pcb_hole_pos == "left_front" ||
pcb_hole_pos == "right_rear" || pcb_hole_pos == "right_front")) {
translate([pcb_hole_x,pcb_hole_y,-1]) cylinder(d=6.5, h=bottom_height); translate([pcb_hole_x,pcb_hole_y,-1]) cylinder(d=6.5, h=bottom_height);
} }
} }
@@ -353,9 +358,9 @@ module case_bottom(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]; pcb_hole_x = sbc_data[s[0]][i+4];
pcb_hole_y = sbc_data[s[0]][i+5]; pcb_hole_y = sbc_data[s[0]][i+5];
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(pcb_hole_x!=0 && pcb_hole_y!=0) { if(pcb_hole_x!=0 && pcb_hole_y!=0) {
if (pcb_hole_pos == "left_rear") { if (pcb_hole_pos == "left_rear") {
normal_standoff = [bottom_standoff[0], normal_standoff = [bottom_standoff[0],
@@ -430,12 +435,12 @@ module case_bottom(case_design) {
} }
// left-rear standoff // left-rear standoff
if(pcb_loc_x >= 10 || pcb_loc_y >= 10) { if(pcb_loc_x >= 10 || pcb_loc_y >= 10) {
translate([(c_fillet/2),(c_fillet/2),0]) standoff(bottom_ext_standoff); translate([(c_fillet/2),(c_fillet/2),0]) standoff(bottom_ext_standoff);
} }
// left-front standoff // left-front standoff
if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) { if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) {
translate([(c_fillet/2),depth-(c_fillet/2)-(2*(wallthick+gap)),0]) translate([(c_fillet/2),depth-(c_fillet/2)-(2*(wallthick+gap)),0])
standoff(bottom_ext_standoff); standoff(bottom_ext_standoff);
} }
} }
// standoff sidewall support // standoff sidewall support
@@ -445,9 +450,9 @@ module case_bottom(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x; pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y; pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(pcb_hole_x!=0 && pcb_hole_y!=0) { if(pcb_hole_x!=0 && pcb_hole_y!=0) {
if(pcb_hole_pos == "left_rear") { if(pcb_hole_pos == "left_rear") {
translate([pcb_hole_x-1, pcb_hole_y-(bottom_standoff[0]/2)-(gap+adj)-1,0]) translate([pcb_hole_x-1, pcb_hole_y-(bottom_standoff[0]/2)-(gap+adj)-1,0])
@@ -473,7 +478,7 @@ module case_bottom(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x; pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y; pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(pcb_hole_x!=0 && pcb_hole_y!=0) { if(pcb_hole_x!=0 && pcb_hole_y!=0) {
@@ -502,7 +507,7 @@ module case_bottom(case_design) {
cube([gap+1.5,2,bottom_height-pcb_z+pcb_loc_z+bottom_front_right]); cube([gap+1.5,2,bottom_height-pcb_z+pcb_loc_z+bottom_front_right]);
} }
} }
} }
} }
} }
// extended standoff sidewall support // extended standoff sidewall support
@@ -512,7 +517,7 @@ module case_bottom(case_design) {
translate([width-(2*(wallthick+gap))-(c_fillet/2)+(bottom_ext_standoff[0]/2)-.5, translate([width-(2*(wallthick+gap))-(c_fillet/2)+(bottom_ext_standoff[0]/2)-.5,
(c_fillet/2)-1,0]) cube([gap+adj+2,2,bottom_ext_standoff[1]]); (c_fillet/2)-1,0]) cube([gap+adj+2,2,bottom_ext_standoff[1]]);
} }
// right-front standoff // right-front standoff
if((width-pcb_loc_x-pcb_width >= 10 && depth-pcb_loc_y-pcb_depth >= 10) if((width-pcb_loc_x-pcb_width >= 10 && depth-pcb_loc_y-pcb_depth >= 10)
|| width-pcb_loc_x-pcb_width >= 10) { || width-pcb_loc_x-pcb_width >= 10) {
translate([width-(2*(wallthick+gap))-(c_fillet/2)+(bottom_ext_standoff[0]/2)-.5, translate([width-(2*(wallthick+gap))-(c_fillet/2)+(bottom_ext_standoff[0]/2)-.5,
@@ -523,7 +528,7 @@ module case_bottom(case_design) {
if(pcb_loc_x >= 10 || pcb_loc_y >= 10) { if(pcb_loc_x >= 10 || pcb_loc_y >= 10) {
translate([(c_fillet/2)-(wallthick+gap)-(bottom_ext_standoff[0]/2)+.6, translate([(c_fillet/2)-(wallthick+gap)-(bottom_ext_standoff[0]/2)+.6,
(c_fillet/2)-1,0]) cube([gap+adj+2,2,bottom_ext_standoff[1]]); (c_fillet/2)-1,0]) cube([gap+adj+2,2,bottom_ext_standoff[1]]);
} }
// left-front standoff // left-front standoff
if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) { if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) {
translate([(c_fillet/2)-(wallthick+gap)-(bottom_ext_standoff[0]/2)+.6, translate([(c_fillet/2)-(wallthick+gap)-(bottom_ext_standoff[0]/2)+.6,
@@ -550,7 +555,7 @@ module case_bottom(case_design) {
data_2 = accessory_data[a[0]][i+12]; data_2 = accessory_data[a[0]][i+12];
data_3 = accessory_data[a[0]][i+13]; data_3 = accessory_data[a[0]][i+13];
data_4 = accessory_data[a[0]][i+14]; data_4 = accessory_data[a[0]][i+14];
if ((class == "sub" && face == "bottom") || class == "suball") { if ((class == "sub" && face == "bottom") || class == "suball") {
if(accessory_highlight == false) { if(accessory_highlight == false) {
parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation,parametric, parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation,parametric,
@@ -594,7 +599,7 @@ module case_bottom(case_design) {
parametric,size_x-17,size_y-1,floorthick+1,data_1,data_2,data_3,[.1,.1,.1,.1]); parametric,size_x-17,size_y-1,floorthick+1,data_1,data_2,data_3,[.1,.1,.1,.1]);
parametric_move_sub("rectangle",loc_x+size_x-12.5,loc_y+(size_y/2)-6,loc_z-adj,face,rotation, parametric_move_sub("rectangle",loc_x+size_x-12.5,loc_y+(size_y/2)-6,loc_z-adj,face,rotation,
parametric,5.5,10.5,floorthick+.12,data_1,data_2,data_3,[5.5,5.5,5.5,5.5]); parametric,5.5,10.5,floorthick+.12,data_1,data_2,data_3,[5.5,5.5,5.5,5.5]);
} }
} }
else { else {
@@ -635,14 +640,14 @@ module case_bottom(case_design) {
parametric,size_x+2,size_y+1,size_z+2*adj,data_1,data_2,data_3,[.1,.1,.1,.1]); parametric,size_x+2,size_y+1,size_z+2*adj,data_1,data_2,data_3,[.1,.1,.1,.1]);
} }
} }
} }
} }
// sbc openings // sbc openings
if(sbc_highlight == true) { if(sbc_highlight == true) {
#translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model,"default",0,"default","default",true); #translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
} }
else { else {
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model,"default",0,"default","default",true); translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
} }
// clean fillets // clean fillets
if(case_design == "shell") { if(case_design == "shell") {
@@ -670,7 +675,7 @@ module case_bottom(case_design) {
data_2 = accessory_data[a[0]][i+12]; data_2 = accessory_data[a[0]][i+12];
data_3 = accessory_data[a[0]][i+13]; data_3 = accessory_data[a[0]][i+13];
data_4 = accessory_data[a[0]][i+14]; data_4 = accessory_data[a[0]][i+14];
if(class == "add2" && face == "bottom") { if(class == "add2" && face == "bottom") {
parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric, parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric,
size_x,size_y,size_z,data_1,data_2,data_3,data_4); size_x,size_y,size_z,data_1,data_2,data_3,data_4);

View File

@@ -289,10 +289,10 @@ module case_side(case_design,case_style,side) {
} }
// sbc openings // sbc openings
if(sbc_highlight == true) { if(sbc_highlight == true) {
#translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model,"default",0,"default","default",true); #translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
} }
else { else {
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model,"default",0,"default","default",true); translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
} }
} }
if(accessory_name != "none") { if(accessory_name != "none") {

View File

@@ -32,14 +32,14 @@ module case_top(case_design) {
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj, translate([width-(width*(1/5))-(wallthick+gap),depth-(2*wallthick)-gap-adj,
case_z-floorthick]) case_z-floorthick])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([(width*(1/5))-8-(wallthick+gap),-wallthick-gap+adj, translate([(width*(1/5))-8-(wallthick+gap),-wallthick-gap+adj,
case_z-floorthick]) case_z-floorthick])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
translate([width-(width*(1/5))-(wallthick+gap),-wallthick-gap+adj, translate([width-(width*(1/5))-(wallthick+gap),-wallthick-gap+adj,
case_z-floorthick]) case_z-floorthick])
cube([8,wallthick+2*adj,floorthick]); cube([8,wallthick+2*adj,floorthick]);
} }
} }
if(case_design == "stacked") { if(case_design == "stacked") {
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap, translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,
@@ -64,21 +64,23 @@ module case_top(case_design) {
cube_fillet_inside([width+1,depth+(wallthick*2),case_z], cube_fillet_inside([width+1,depth+(wallthick*2),case_z],
vertical=[c_fillet-1,c_fillet-1,c_fillet-1,c_fillet-1], vertical=[c_fillet-1,c_fillet-1,c_fillet-1,c_fillet-1],
top=[0,0,0,0],bottom=[0,0,0,0], $fn=90); top=[0,0,0,0],bottom=[0,0,0,0], $fn=90);
// right side bottom attachment hole // right side bottom attachment hole
translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10, translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
// left side bottom attachment hole // left side bottom attachment hole
translate([-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10, translate([-2*(wallthick+gap)-sidethick-adj,wallthick+gap+10,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
if(depth >= 75 && sbc_model != "visionfive2" && sbc_model != "visionfive2q"&& sbc_model != "rock5b-v1.42" && sbc_model != "rock5bq-v1.42" && sbc_model != "rock5b-v1.3") { if(depth >= 75 && sbc_model != "visionfive2" && sbc_model != "visionfive2q" &&
translate([width-2*(wallthick+gap)-sidethick-adj,depth-wallthick-gap-10, sbc_model != "rock5b" && sbc_model != "rock5bq" && sbc_model != "rock5b-v1.3") {
translate([width-2*(wallthick+gap)-sidethick-adj,depth-wallthick-gap-10,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
translate([-wallthick-gap-adj-6,depth-wallthick-gap-10, translate([-wallthick-gap-adj-6,depth-wallthick-gap-10,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
} }
else { else {
if(sbc_model == "visionfive2" || sbc_model == "visionfive2q" || sbc_model == "rock5b-v1.42" || sbc_model == "rock5bq-v1.42" || sbc_model == "rock5b-v1.3") { if(sbc_model == "visionfive2" || sbc_model == "visionfive2q" || sbc_model == "rock5b" ||
translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+58, sbc_model == "rock5bq" || sbc_model == "rock5b-v1.3") {
translate([width-2*(wallthick+gap)-sidethick-adj,wallthick+gap+58,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
translate([-wallthick-gap-adj-6,wallthick+gap+58, translate([-wallthick-gap-adj-6,wallthick+gap+58,
floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj)); floorthick+3.4]) rotate([0,90,0]) cylinder(d=3, h=10+sidethick+(2*adj));
@@ -244,7 +246,7 @@ module case_top(case_design) {
parametric,size_x,size_y,size_z,data_1,data_2,data_3,data_4); parametric,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
} }
} }
} }
} }
// pcb standoff holes // pcb standoff holes
if(sbc_top_standoffs == true && top_standoff[5] != 4) { if(sbc_top_standoffs == true && top_standoff[5] != 4) {
@@ -255,10 +257,11 @@ module case_top(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x; pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y; pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if (class == "pcbhole" && id == pcb_id && (pcb_hole_pos == "left_rear" || pcb_hole_pos == "left_front" || pcb_hole_pos == "right_rear" || pcb_hole_pos == "right_front")) { if (class == "pcbhole" && id == pcb_id &&
(pcb_hole_pos == "left_rear" || pcb_hole_pos == "left_front" || pcb_hole_pos == "right_rear" || pcb_hole_pos == "right_front")) {
#translate([pcb_hole_x,pcb_hole_y,top_height+1]) cylinder(d=6.5, h=top_height); #translate([pcb_hole_x,pcb_hole_y,top_height+1]) cylinder(d=6.5, h=top_height);
} }
} }
@@ -270,7 +273,7 @@ module case_top(case_design) {
translate([width-(2*(wallthick+gap))-(c_fillet/2),(c_fillet/2),top_height+1]) translate([width-(2*(wallthick+gap))-(c_fillet/2),(c_fillet/2),top_height+1])
cylinder(d=6.5, h=top_height); cylinder(d=6.5, h=top_height);
} }
// right-front standoff // right-front standoff
if((width-pcb_loc_x-pcb_width >= 10 && depth-pcb_loc_y-pcb_depth >= 10) || width-pcb_loc_x-pcb_width >= 10) { if((width-pcb_loc_x-pcb_width >= 10 && depth-pcb_loc_y-pcb_depth >= 10) || width-pcb_loc_x-pcb_width >= 10) {
translate([width-(c_fillet/2)-(2*(wallthick+gap)), translate([width-(c_fillet/2)-(2*(wallthick+gap)),
depth-(c_fillet/2)-(2*(wallthick+gap)),top_height+1]) cylinder(d=6.5, h=top_height); depth-(c_fillet/2)-(2*(wallthick+gap)),top_height+1]) cylinder(d=6.5, h=top_height);
@@ -278,14 +281,14 @@ module case_top(case_design) {
// left-rear standoff // left-rear standoff
if(pcb_loc_x >= 10 || pcb_loc_y >= 10) { if(pcb_loc_x >= 10 || pcb_loc_y >= 10) {
translate([(c_fillet/2),(c_fillet/2),top_height+1]) cylinder(d=6.5, h=top_height); translate([(c_fillet/2),(c_fillet/2),top_height+1]) cylinder(d=6.5, h=top_height);
} }
// left-front standoff // left-front standoff
if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) { if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) {
translate([+(c_fillet/2),depth-(c_fillet/2)-(2*(wallthick+gap)), translate([+(c_fillet/2),depth-(c_fillet/2)-(2*(wallthick+gap)),
top_height+1]) cylinder(d=6.5, h=top_height+1); top_height+1]) cylinder(d=6.5, h=top_height+1);
} }
} }
} }
// pcb standoffs // pcb standoffs
if(sbc_top_standoffs == true) { if(sbc_top_standoffs == true) {
@@ -296,9 +299,10 @@ module case_top(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x; pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y; pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(class == "pcbhole" && id == pcb_id && (pcb_hole_pos == "left_rear" || pcb_hole_pos == "left_front" || pcb_hole_pos == "right_rear" || pcb_hole_pos == "right_front")) { if(class == "pcbhole" && id == pcb_id &&
(pcb_hole_pos == "left_rear" || pcb_hole_pos == "left_front" || pcb_hole_pos == "right_rear" || pcb_hole_pos == "right_front")) {
if (pcb_hole_pos == "left_rear") { if (pcb_hole_pos == "left_rear") {
normal_standoff = [top_standoff[0], normal_standoff = [top_standoff[0],
top_height+pcb_loc_z+top_rear_left, top_height+pcb_loc_z+top_rear_left,
@@ -355,7 +359,7 @@ module case_top(case_design) {
top_standoff[10]]; top_standoff[10]];
translate([pcb_hole_x,pcb_hole_y,case_z]) standoff(normal_standoff); translate([pcb_hole_x,pcb_hole_y,case_z]) standoff(normal_standoff);
} }
} }
} }
} }
// extended standoffs // extended standoffs
@@ -374,11 +378,11 @@ module case_top(case_design) {
// left-rear standoff // left-rear standoff
if(pcb_loc_x >= 10 || pcb_loc_y >= 10) { if(pcb_loc_x >= 10 || pcb_loc_y >= 10) {
translate([(c_fillet/2),(c_fillet/2),case_z]) standoff(top_ext_standoff); translate([(c_fillet/2),(c_fillet/2),case_z]) standoff(top_ext_standoff);
} }
// left-front standoff // left-front standoff
if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) { if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) {
translate([(c_fillet/2),depth-(c_fillet/2)-(2*(wallthick+gap)), translate([(c_fillet/2),depth-(c_fillet/2)-(2*(wallthick+gap)),
case_z]) standoff(top_ext_standoff); case_z]) standoff(top_ext_standoff);
} }
} }
// standoff sidewall support // standoff sidewall support
@@ -391,7 +395,7 @@ module case_top(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x; pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y; pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(pcb_hole_x!=0 && pcb_hole_y!=0) { if(pcb_hole_x!=0 && pcb_hole_y!=0) {
@@ -422,7 +426,7 @@ module case_top(case_design) {
pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x; pcb_hole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y; pcb_hole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcb_hole_z = sbc_data[s[0]][i+6]; pcb_hole_z = sbc_data[s[0]][i+6];
pcb_hole_size = sbc_data[s[0]][i+9][0]; pcb_hole_size = sbc_data[s[0]][i+9][0];
pcb_hole_pos = sbc_data[s[0]][i+10][4]; pcb_hole_pos = sbc_data[s[0]][i+10][4];
if(pcb_hole_x!=0 && pcb_hole_y!=0) { if(pcb_hole_x!=0 && pcb_hole_y!=0) {
@@ -433,7 +437,7 @@ module case_top(case_design) {
if (pcb_hole_pos == "left_rear" && sbc_model == "n2l") { if (pcb_hole_pos == "left_rear" && sbc_model == "n2l") {
translate([pcb_hole_x-1, pcb_hole_y-(top_standoff[0]/2)-(gap-adj)-1.4, translate([pcb_hole_x-1, pcb_hole_y-(top_standoff[0]/2)-(gap-adj)-1.4,
case_z-top_height-top_rear_left]) cube([2,gap+1.6,top_height+top_rear_left]); case_z-top_height-top_rear_left]) cube([2,gap+1.6,top_height+top_rear_left]);
} }
if (pcb_hole_pos == "left_front" && sbc_model != "n2l") { if (pcb_hole_pos == "left_front" && sbc_model != "n2l") {
translate([pcb_hole_x-(top_standoff[0]/2)-gap-adj-1,pcb_hole_y-1, translate([pcb_hole_x-(top_standoff[0]/2)-gap-adj-1,pcb_hole_y-1,
@@ -474,7 +478,7 @@ module case_top(case_design) {
if(pcb_loc_x >= 10 || pcb_loc_y >= 10) { if(pcb_loc_x >= 10 || pcb_loc_y >= 10) {
translate([(c_fillet/2)-(wallthick+gap)-(top_ext_standoff[0]/2)+.6,(c_fillet/2)-1, translate([(c_fillet/2)-(wallthick+gap)-(top_ext_standoff[0]/2)+.6,(c_fillet/2)-1,
bottom_height]) cube([gap+adj+2,2,top_height]); bottom_height]) cube([gap+adj+2,2,top_height]);
} }
// left-front standoff // left-front standoff
if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) { if(pcb_loc_x >= 10 || depth-pcb_loc_y-pcb_depth >= 10) {
translate([(c_fillet/2)-(wallthick+gap)-(top_ext_standoff[0]/2)+.6, translate([(c_fillet/2)-(wallthick+gap)-(top_ext_standoff[0]/2)+.6,
@@ -501,7 +505,7 @@ module case_top(case_design) {
data_2 = accessory_data[a[0]][i+12]; data_2 = accessory_data[a[0]][i+12];
data_3 = accessory_data[a[0]][i+13]; data_3 = accessory_data[a[0]][i+13];
data_4 = accessory_data[a[0]][i+14]; data_4 = accessory_data[a[0]][i+14];
if ((class == "sub" && face == "top") || class == "suball") { if ((class == "sub" && face == "top") || class == "suball") {
if(accessory_highlight == false) { if(accessory_highlight == false) {
parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation, parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation,
@@ -549,13 +553,13 @@ module case_top(case_design) {
parametric,6,14,80,data_1,data_2,data_3,data_4); parametric,6,14,80,data_1,data_2,data_3,data_4);
} }
} }
} }
// sbc openings // sbc openings
if(sbc_highlight == true) { if(sbc_highlight == true) {
#translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model,"default",0,"default","default",true); #translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
} }
else { else {
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model,"default",0,"default","default",true); translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z-adj]) sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
} }
// clean fillets // clean fillets
if(case_design == "shell") { if(case_design == "shell") {

View File

@@ -107,35 +107,35 @@ module indent(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthic
rotate([90,0,0]) slot(6,8,wallthick); rotate([90,0,0]) slot(6,8,wallthick);
} }
// power plug indent // power plug indent
if(type == "pwr5.5_7.5x11.5" && rotation == 0 && side == "top") { if(class == "power" && type == "pwr5.5_7.5x11.5" && rotation == 0 && side == "top") {
place(loc_x+3.75,-(wallthick+gap)+wallthick/2,loc_z+6.25,10,10,rotation,side) place(loc_x+3.75,-(wallthick+gap)+wallthick/2,loc_z+6.25,10,10,rotation,side)
rotate([90,0,0]) cylinder(d=10, h=wallthick); rotate([90,0,0]) cylinder(d=10, h=wallthick);
} }
if(type == "pwr5.5_7.5x11.5" && rotation == 90 && side == "top") { if(class == "power" && type == "pwr5.5_7.5x11.5" && rotation == 90 && side == "top") {
place(-gap-wallthick/2,loc_y-6.25,loc_z+6.25,10,10,rotation,side) place(-gap-wallthick/2,loc_y-6.25,loc_z+6.25,10,10,rotation,side)
rotate([90,0,0]) cylinder(d=10, h=wallthick); rotate([90,0,0]) cylinder(d=10, h=wallthick);
} }
if(type == "pwr5.5_7.5x11.5" && rotation == 180 && side == "top") { if(class == "power" && type == "pwr5.5_7.5x11.5" && rotation == 180 && side == "top") {
place(loc_x-6.5,depth-10-(wallthick+gap)-wallthick/2,loc_z+6.25,10,10,rotation,side) place(loc_x-6.5,depth-10-(wallthick+gap)-wallthick/2,loc_z+6.25,10,10,rotation,side)
rotate([90,0,0]) cylinder(d=10, h=wallthick); rotate([90,0,0]) cylinder(d=10, h=wallthick);
} }
if(type == "pwr5.5_7.5x11.5" && rotation == 270 && side == "top") { if(class == "power" && type == "pwr5.5_7.5x11.5" && rotation == 270 && side == "top") {
place(width-(wallthick+gap)-10-wallthick/2,loc_y+3.75,loc_z+6.25,10,10,rotation,side) place(width-(wallthick+gap)-10-wallthick/2,loc_y+3.75,loc_z+6.25,10,10,rotation,side)
rotate([90,0,0]) cylinder(d=10, h=wallthick); rotate([90,0,0]) cylinder(d=10, h=wallthick);
} }
if(type == "pwr2.5_5x7.5" && rotation == 0 && side == "top") { if(class == "power" && type == "pwr2.5_5x7.5" && rotation == 0 && side == "top") {
place(loc_x+2.75,-(wallthick+gap)+wallthick/2,loc_z+2.1,7,7,rotation,side) place(loc_x+2.75,-(wallthick+gap)+wallthick/2,loc_z+2.1,7,7,rotation,side)
rotate([90,0,0]) cylinder(d=7, h=wallthick); rotate([90,0,0]) cylinder(d=7, h=wallthick);
} }
if(type == "pwr2.5_5x7.5" && rotation == 90 && side == "top") { if(class == "power" && type == "pwr2.5_5x7.5" && rotation == 90 && side == "top") {
place(-(wallthick+gap)+wallthick/2,loc_y-4.5,loc_z+2,7,7,rotation,side) place(-(wallthick+gap)+wallthick/2,loc_y-4.5,loc_z+2,7,7,rotation,side)
rotate([90,0,0]) cylinder(d=7, h=wallthick); rotate([90,0,0]) cylinder(d=7, h=wallthick);
} }
if(type == "pwr2.5_5x7.5" && rotation == 180 && side == "top") { if(class == "power" && type == "pwr2.5_5x7.5" && rotation == 180 && side == "top") {
place(loc_x-4.5,depth-(wallthick+gap)-7-wallthick/2,loc_z+2,7,7,rotation,side) place(loc_x-4.5,depth-(wallthick+gap)-7-wallthick/2,loc_z+2,7,7,rotation,side)
rotate([90,0,0]) cylinder(d=7, h=wallthick); rotate([90,0,0]) cylinder(d=7, h=wallthick);
} }
if(type == "pwr2.5_5x7.5" && rotation == 270 && side == "top") { if(class == "power" && type == "pwr2.5_5x7.5" && rotation == 270 && side == "top") {
place(width-(wallthick+gap)-7-wallthick/2,loc_y+2.5,loc_z+2,7,7,rotation,side) place(width-(wallthick+gap)-7-wallthick/2,loc_y+2.5,loc_z+2,7,7,rotation,side)
rotate([90,0,0]) cylinder(d=7, h=wallthick); rotate([90,0,0]) cylinder(d=7, h=wallthick);
} }

View File

@@ -37,8 +37,8 @@ module sub(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data
if(type == "hk_fan_top") { if(type == "hk_fan_top") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_fan_top(); translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_fan_top();
} }
if(type == "punchout") { if(type == "knockout") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) punchout(size_x,size_y,data_1,size_z,data_2,data_3); translate([loc_x,loc_y,loc_z]) rotate(rotation) knockout(size_x,size_y,data_1,size_z,data_2,data_3);
} }
if(type == "fan") { if(type == "fan") {
translate([loc_x,loc_y,loc_z]) rotate(rotation) fan_mask(size_x, size_z, data_1); translate([loc_x,loc_y,loc_z]) rotate(rotation) fan_mask(size_x, size_z, data_1);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -32,8 +32,8 @@
types for additive: circle,rectangle,slot,text,art,button,standoff,batt_holder,uart_holder,hd_holder,hd_vertleft_holder, types for additive: circle,rectangle,slot,text,art,button,standoff,batt_holder,uart_holder,hd_holder,hd_vertleft_holder,
hd_vertright_holder,hc4_oled_holder,access_port,button,pcb_holder,boom_grill,boom_speaker_holder hd_vertright_holder,hc4_oled_holder,access_port,button,pcb_holder,boom_grill,boom_speaker_holder
types for subtractive: circle,rectangle,slot,text,art,punchout,vent,vent_hex,fan,hd_holes,hd_vertleft_holes,hd_vertright_holes,microusb,sphere types for subtractive: circle,rectangle,slot,text,art,punchout,vent,vent_hex,fan,hd_holes,hd_vertleft_holes,hd_vertright_holes,microusb,sphere
types for model: uart_strap,fan_cover,hd25,hd35,hc4_oled,feet,button_top,access_cover,net_card,hk35_lcd,hk_boom,boom_speaker,boom_vring,hk_uart types for model: hk_uart_strap,fan_cover,hd25,hd35,hc4_oled,feet,button_top,access_cover,net_card,hk35_lcd,hk_boom,boom_speaker,boom_vring,hk_uart
types for platter: uart_strap,fan_cover,button_top,boom_vring types for platter: hk_uart_strap,fan_cover,button_top,boom_vring
standoff[ 6.75, // diameter standoff[ 6.75, // diameter
0, // height (not used) 0, // height (not used)
@@ -54,42 +54,42 @@ accessory_data = [
// hk uart group // hk uart group
["hk_uart", ["hk_uart",
"add2","uart_holder",-25,0,1.9,"bottom",[0,0,0],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart holder "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
"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",-22.5,23,5,"bottom",[0,0,-90],["sbc",true,false,false],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0, "model","hk_uart_strap",-25,0,2,"bottom",[0,0,0],["sbc",true,false,false],0,0,0,0,0,"",0,
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],["case",false,false,false],0,0,0,0,0,"",0], // hk uart strap "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+ // Odroid-C1+
["c1+_shell_boombox", ["c1+_shell_boombox",
"add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",16.5,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill
"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","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","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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","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",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","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,61,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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 "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","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 "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_boombox", ["c1+_panel_boombox",
"add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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",16.5,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "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","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 "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,true],2,10,5,1,8,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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 "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","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 "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", ["c1+_panel_lcd3.5",
@@ -119,14 +119,14 @@ accessory_data = [
["c1+_deskboom_lcd3.5", ["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",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 "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,39,"top",[0,0,180],["case",false,false,false],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,26,"top",[0,0,180],["case",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,39,"top",[0,0,180],["case",false,false,false],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,26,"top",[0,0,180],["case",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,39,"top",[0,0,180],["case",false,false,false],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,26,"top",[0,0,180],["case",false,false,true],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,39,"top",[0,0,180],["case",false,false,false],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,26,"top",[0,0,180],["case",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","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",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 "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
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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",-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 "sub","round",126.4,54,-32,"right",[0,90,0],["case",false,false,false],60,0,3,0,0,"vertical",0, // sub round
"sub","rectangle",5.5,2.75,39,"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,39,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
@@ -136,11 +136,11 @@ accessory_data = [
"sub","round",108,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 "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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","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 "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","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 "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", ["c1+_tray_boombox",
@@ -173,32 +173,32 @@ accessory_data = [
"add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",16.5,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill
"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","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","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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","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,48,39,"top",[0,0,0],["case",false,true,false],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","slot",70.5,48,39,"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",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","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 "sub","vent",44,60,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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 "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","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 "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_boombox", ["c2_panel_boombox",
"add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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",16.5,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "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","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 "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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,51,4,"bottom",[90,0,0],["case",false,true,false],0,0,0,true,0,"front",0, // hk boom bonnet "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
"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 "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","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 "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", ["c2_panel_lcd3.5",
@@ -235,7 +235,7 @@ accessory_data = [
"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","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",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 "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
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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",-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 "sub","round",126.4,54,-32,"right",[0,90,0],["case",false,false,false],60,0,3,0,0,"vertical",0, // sub round
"sub","rectangle",5.5,2.75,39,"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,39,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
@@ -245,11 +245,11 @@ accessory_data = [
"sub","round",108,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 "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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","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 "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","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 "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_tray_boombox", ["c2_tray_boombox",
@@ -282,17 +282,17 @@ accessory_data = [
"add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",16.5,60,21.5,"top",[90,0,180],["case",false,true,false],0,0,0,0,0,"dome",0, // add boom grill
"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","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","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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","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,48,39,"top",[0,0,0],["case",false,true,false],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","slot",70.5,48,39,"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",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","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 "sub","vent",44,60,17,"top",[0,0,0],["case",false,true,false],2,10,4,1,10,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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 "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","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 "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", ["c4_panel_lcd3.5",
@@ -329,7 +329,7 @@ accessory_data = [
"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","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",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 "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
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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",-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 "sub","round",126.4,54,-32,"right",[0,90,0],["case",false,false,false],60,0,3,0,0,"vertical",0, // sub round
"sub","rectangle",5.5,2.75,39,"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,39,"top",[0,0,0],["case",false,false,false],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
@@ -339,26 +339,26 @@ accessory_data = [
"sub","round",108,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 "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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","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 "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","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 "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", ["c4_panel_boombox",
"add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,51.1,1.99,"bottom",[0,0,0],["case",false,true,false],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,57.5,21.5,"front",[90,0,180],["case",false,true,false],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],["case",false,false,false],10,10,0,0,0,"",0, // add uart holder "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",16.5,60,21.5,"front",[90,0,0],["case",false,true,false],24,0,5,0,0,"vertical",0, // sub cylinder "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","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 "sub","vent",-3,22,13,"left",[0,0,90],["case",false,false,false],2,10,5,1,8,"vertical",1, // vent opening
"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",12.5,23,5,"bottom",[0,0,-90],["case",false,false,false],10,10,0,0,0,"",0, // add uart model
"model","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","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 "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","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 "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", ["c4_tray_boombox",
@@ -504,9 +504,9 @@ accessory_data = [
"sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim "sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc-case_z",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim
["m1s_shell_ups", ["m1s_shell_ups",
"sub","vent_hex",0,5,17,"top",[0,0,0],["case",false,false,true],9,21,8,5,1.5,"horizontal",1, // vent opening "sub","vent_hex",0,5,17,"top",[0,0,0],["case",false,false,true],9,21,8,5,1.5,"horizontal",1, // vent opening
"model","hk_m1s_ups",-1,122.5,5,"bottom",[0,0,270],["sbc",false,false,false],0,0,0,0,0,"",0, // hk m1s ups "model","hk_m1s_ups",-1,122.5,5,"bottom",[0,0,270],["sbc",false,false,false],0,0,0,0,0,"",0, // hk m1s ups
"sub","slot",-45,17.5,8.5,"bottom",[90,0,90],["sbc",true,true,true],4.25,6.125,12,0,0,"",[.25,.25,.25,.25], // usb-c opening "sub","slot",-45,17.5,8.5,"bottom",[90,0,90],["sbc",true,true,true],4.25,6.125,12,0,0,"",[.25,.25,.25,.25], // usb-c opening
"add2","standoff",2.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff "add2","standoff",2.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff
"add2","standoff",27.5,11,0,"bottom",[0,0,0],["sbc",false,false,false],0,0,0,0,0,0,[5.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // standoff "add2","standoff",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",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
@@ -538,10 +538,10 @@ accessory_data = [
"sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim "sub","rectangle",17.5,12,3.5,"top",[0,0,0],["sbc",true,true,true],11,3,15,0,0,"vertical",[1,1,1,1]], // standoff trim
["m1s_snap", ["m1s_snap",
"sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening "sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening
["m1s_fitted", ["m1s_fitted",
"sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening "sub","vent_hex",10,29,-1,"bottom",[0,0,0],["sbc",true,true,false],21,5,8,5,1.5,"horizontal",1], // vent opening
// Odroid-M1 // Odroid-M1
["m1_panel", ["m1_panel",
@@ -952,12 +952,12 @@ accessory_data = [
"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 "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 "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 "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",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 // "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",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","button_top",23.77,106.43,53,"top",[0,0,0],["sbc-case_z",true,true,true],10,0,58,0,0,"recess",0, // button top
// "platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top // "platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top
// "platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],10,0,58,0,0,"recess",0, // button top // "platter","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 "add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,true],100,80,2,0,0,"landscape",0, // access port
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],100,80,2,0,0,"landscape",0, // access port cover "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","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],100,80,2,0,0,"landscape",0, // access port cover
@@ -1569,7 +1569,7 @@ accessory_data = [
["rock5b-v1.3", ["rock5b-v1.3",
"sub","rectangle",-1,66.5,13,"top",[0,0,0],["sbc",true,true,false],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment "sub","rectangle",-1,66.5,13,"top",[0,0,0],["sbc",true,true,false],10,2,8,0,0,"",[.25,.25,.25,.25], // UL standoff adjustment
"sub","rectangle",92,17.5,13,"top",[0,0,0],["sbc",true,true,false],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment "sub","rectangle",92,17.5,13,"top",[0,0,0],["sbc",true,true,false],10,2,15,0,0,"",[.25,.25,.25,.25], // LR standoff adjustment
"add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port "add1","access_port",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // access port
"model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover "model","access_cover",10,0,-0.01,"bottom",[0,0,0],["sbc",true,true,false],80,75,2,0,0,"portrait",0, // model access port cover
"platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],80,75,2,0,0,"portrait",0], // platter access cover