finished reformatting remaining cases to json

This commit is contained in:
Edward Kisiel
2022-08-03 21:08:17 -04:00
parent 51b6e7d141
commit 82c1d908b6
3 changed files with 3083 additions and 399 deletions

View File

@@ -69,60 +69,60 @@ accessory_data = [
// Odroid-C1+ // Odroid-C1+
["c1+_shell_boombox", ["c1+_shell_boombox",
"add2","pcb_holder",.75,68.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,68.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",16.5,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill
"add2","boom_grill",108,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",108,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder "add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder
"sub","round",43.75,66,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder "sub","round",43.75,66,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder
"sub","slot",70.5,65,39,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","slot",70.5,65,39,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","round",16.5,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",16.5,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","round",108,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","vent",44,77,17,"top",[0,0,0],2,10,4,1,10,"vertical",1, // vent opening "sub","vent",44,77,17,"top",[0,0,0],2,10,4,1,10,"vertical",1, // vent opening
"model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"model","hk_boom",32.25,70,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet "model","hk_boom",32.25,70,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet
"model","boom_vring",76.75,66.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","boom_vring",76.75,66.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring "platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring
["c1+_panel_boombox", ["c1+_panel_boombox",
"add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],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],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder "add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder
"sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet "model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet
"model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring "platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring
["c1+_panel_lcd3.5", ["c1+_panel_lcd3.5",
"add2","button",89.875,45,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"sub","rectangle",5.5,2.75,27,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","rectangle",5.5,2.75,27,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd "model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
["c1+_desktop_lcd3.5", ["c1+_desktop_lcd3.5",
"add2","button",89.875,45,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,28,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
// 20 degrees // 20 degrees
"add1","rectangle",-3.5,2.65,-24.5,"left",[20,0,0],2,62.9,24,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",-3.5,2.65,-24.5,"left",[20,0,0],2,62.9,24,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
"sub","round",-3.75,40,-34,"left",[0,90,0],65,0,3,0,0,"vertical",0, // sub round "sub","round",-3.75,40,-34,"left",[0,90,0],65,0,3,0,0,"vertical",0, // sub round
"add1","rectangle",116.5,2.65,-24.5,"right",[20,0,0],2,62.9,24,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",116.5,2.65,-24.5,"right",[20,0,0],2,62.9,24,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
"sub","round",116.4,40,-34,"right",[0,90,0],65,0,3,0,0,"vertical",0, // sub round "sub","round",116.4,40,-34,"right",[0,90,0],65,0,3,0,0,"vertical",0, // sub round
// //
"sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"sub","rectangle",5.5,2.75,27,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","rectangle",5.5,2.75,27,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd "model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
["c1+_deskboom_lcd3.5", ["c1+_deskboom_lcd3.5",
"add1","rectangle",126.5,14.75,-37.5,"right",[30,0,0],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],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
@@ -234,31 +234,31 @@ accessory_data = [
"model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd "model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
["c2_deskboom_lcd3.5", ["c2_deskboom_lcd3.5",
"add1","rectangle",126.5,14.75,-37.5,"right",[30,0,0],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],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],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],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
"add2","button",89.875,45,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,39,"top",[0,0,180],12,8,2,2,0,"cutout",[2,2,2,2], // cutout button
"add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],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],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder "add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder
"sub","round",-3.75,54,-32,"left",[0,90,0],60,0,3,0,0,"vertical",0, // sub round "sub","round",-3.75,54,-32,"left",[0,90,0],60,0,3,0,0,"vertical",0, // sub round
"sub","round",126.4,54,-32,"right",[0,90,0],60,0,3,0,0,"vertical",0, // sub round "sub","round",126.4,54,-32,"right",[0,90,0],60,0,3,0,0,"vertical",0, // sub round
"sub","rectangle",5.5,2.75,39,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","rectangle",5.5,2.75,39,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","round",43.75,64,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder "sub","round",43.75,64,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder
"sub","slot",70.5,63,38,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","slot",70.5,63,38,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet "model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet
"model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring
"model","hk_lcd35",95,56,31,"bottom",[0,0,180],0,0,0,0,0,"",0, // model hk 3.5 lcd "model","hk_lcd35",95,56,31,"bottom",[0,0,180],0,0,0,0,0,"",0, // model hk 3.5 lcd
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring "platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring
["c2_tray_boombox", ["c2_tray_boombox",
"add2","boom_speaker_holder",16.75,69.6,17.5,"bottom",[90,0,180],0,0,0,0,0,"none",0, // add boom grill "add2","boom_speaker_holder",16.75,69.6,17.5,"bottom",[90,0,180],0,0,0,0,0,"none",0, // add boom grill
@@ -287,97 +287,87 @@ accessory_data = [
// Odroid-C4 // Odroid-C4
["c4_shell_boombox", ["c4_shell_boombox",
"add2","pcb_holder",.75,68.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,68.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder
"add2","boom_grill",16.5,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",16.5,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill
"add2","boom_grill",108,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill "add2","boom_grill",108,77,21.5,"top",[90,0,180],0,0,0,0,0,"dome",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder "add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder
"sub","round",43.75,66,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder "sub","round",43.75,66,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder
"sub","slot",70.5,65,39,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","slot",70.5,65,39,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","round",16.5,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",16.5,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","round",108,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,78,21.5,"top",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","vent",44,77,17,"top",[0,0,0],2,10,4,1,10,"vertical",1, // vent opening "sub","vent",44,77,17,"top",[0,0,0],2,10,4,1,10,"vertical",1, // vent opening
"model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"model","hk_boom",32.25,70,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet "model","hk_boom",32.25,70,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet
"model","boom_vring",76.75,66.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","boom_vring",76.75,66.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring "platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring
["c4_shell_vu7",
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
true,true,true,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
false,"none","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
"model","hk_vu7c",-32.5,-30.5,26,"bottom",[0,0,0],0,0,0,false,true,"",0], // hk vu7c lcd
["c4_panel_lcd3.5", ["c4_panel_lcd3.5",
"add2","button",89.875,45,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"sub","rectangle",5.5,2.75,28,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","rectangle",5.5,2.75,28,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"model","hk_lcd35",95,56,20,"top",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd "model","hk_lcd35",95,56,20,"top",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
["c4_desktop_lcd3.5", ["c4_desktop_lcd3.5",
"add2","button",89.875,45,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,29,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
// 30 degrees // 30 degrees
"add1","rectangle",-3.5,11.25,-31,"left",[30,0,0],2,58.15,33.5,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",-3.5,11.25,-31,"left",[30,0,0],2,58.15,33.5,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
"sub","round",-3.75,46,-34,"left",[0,90,0],60,0,3,0,0,"vertical",0, // sub round "sub","round",-3.75,46,-34,"left",[0,90,0],60,0,3,0,0,"vertical",0, // sub round
"add1","rectangle",116.5,11.25,-31,"right",[30,0,0],2,58.15,33.5,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle "add1","rectangle",116.5,11.25,-31,"right",[30,0,0],2,58.15,33.5,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
"sub","round",116.4,46,-34,"right",[0,90,0],60,0,3,0,0,"vertical",0, // sub round "sub","round",116.4,46,-34,"right",[0,90,0],60,0,3,0,0,"vertical",0, // sub round
// //
"sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,13,10,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"sub","rectangle",5.5,2.75,28,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","rectangle",5.5,2.75,28,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd "model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
["c4_deskboom_lcd3.5", ["c4_deskboom_lcd3.5",
"add1","rectangle",126.5,14.75,-37.5,"right",[30,0,0],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],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],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],2,71.15,41,0,0,"vertical",[.1,.1,.1,.1], // sub rectangle
"add2","button",89.875,45,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,45,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,34,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,34,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,23,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,23,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","button",89.875,12,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button "add2","button",89.875,12,40,"top",[0,0,180],12,8,2,3,0,"cutout",[2,2,2,2], // cutout button
"add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],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],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder "add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder
"sub","round",-3.75,54,-32,"left",[0,90,0],60,0,3,0,0,"vertical",0, // sub round "sub","round",-3.75,54,-32,"left",[0,90,0],60,0,3,0,0,"vertical",0, // sub round
"sub","round",126.4,54,-32,"right",[0,90,0],60,0,3,0,0,"vertical",0, // sub round "sub","round",126.4,54,-32,"right",[0,90,0],60,0,3,0,0,"vertical",0, // sub round
"sub","rectangle",5.5,2.75,39,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","rectangle",5.5,2.75,39,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","round",43.75,64,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder "sub","round",43.75,64,39,"top",[0,0,0],5,0,5,0,0,"vertical",0, // sub cylinder
"sub","slot",70.5,63,38,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle "sub","slot",70.5,63,38,"top",[0,0,0],6,14,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet "model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet
"model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring
"model","hk_lcd35",95,56,31,"bottom",[0,0,180],0,0,0,0,0,"",0, // model hk 3.5 lcd "model","hk_lcd35",95,56,31,"bottom",[0,0,180],0,0,0,0,0,"",0, // model hk 3.5 lcd
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom "platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom
["c4_panel_boombox", ["c4_panel_boombox",
"add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],123.5,35,1.6,2,0,"none",0, // add pcb holder "add2","pcb_holder",.75,66.1,1.99,"bottom",[0,0,0],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],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",16.5,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill "add2","boom_grill",108,72.5,21.5,"front",[90,0,180],0,0,2,0,0,"flat",0, // add boom grill
"add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder "add2","uart_holder",10,0,1.9,"bottom",[0,0,0],10,10,0,0,0,"",0, // add uart holder
"sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",16.5,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder "sub","round",108,75,21.5,"front",[90,0,0],24,0,5,0,0,"vertical",0, // sub cylinder
"sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening "sub","vent",-3,22,13,"left",[0,0,90],2,10,5,1,8,"vertical",1, // vent opening
"model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model "model","hk_uart",12.5,23,5,"bottom",[0,0,-90],10,10,0,0,0,"",0, // add uart model
"model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "model","uart_strap",10,0,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet "model","hk_boom",32.25,68,4,"bottom",[90,0,0],0,0,0,true,0,"front",0, // hk boom bonnet
"model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring "model","boom_vring",76.75,64.5,31,"bottom",[90,0,0],0,0,0,0,0,"",0, // hk boom bonnet volume ring
"platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap "platter","uart_strap",-35,75,-9,"bottom",[0,0,0],0,0,0,0,0,"",0, // hk uart strap
"platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring "platter","boom_vring",-60,100,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring
["c4_tray_boombox", ["c4_tray_boombox",
"add2","boom_speaker_holder",16.75,69.6,17.5,"bottom",[90,0,180],0,0,0,0,0,"none",0, // add boom grill "add2","boom_speaker_holder",16.75,69.6,17.5,"bottom",[90,0,180],0,0,0,0,0,"none",0, // add boom grill
@@ -396,232 +386,291 @@ accessory_data = [
"platter","boom_vring",-50,0,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring "platter","boom_vring",-50,0,0,"bottom",[0,0,0],0,0,0,0,0,"",0], // hk boom bonnet volume ring
["c4_round", ["c4_round",
"suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole "suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole
"suball","rectangle",34.5,-26,4,"top",[0,0,0],21,10,15.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening "suball","rectangle",34.5,-26,4,"top",[0,0,0],21,10,15.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
["c4_hex", ["c4_hex",
"suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole "suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole
"suball","rectangle",34.5,-26,4,"top",[0,0,0],21,10,15.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening "suball","rectangle",34.5,-26,4,"top",[0,0,0],21,10,15.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
// Odroid-N2+
// internal fan
["n2+_tray_vu7_fan",
"sub","vent",25,25,44,"top",[0,0,0],10,2,4,6,6,"horizontal",1, // sub vent
"sub","vent",25,50,44,"top",[0,0,0],10,2,4,6,6,"horizontal",1], // sub vent
// Odroid-M1
["m1_panel",
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",100,32,10,"right",[0,0,90],2,15,8,1,17,"vertical",1, // vent opening
"sub","vent",-5.5,32,10,"left",[0,0,90],2,15,8,1,17,"vertical",1], // vent opening
["m1_tray",
"add2","button",60,118.5,35,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"model","button_top",60,118.5,35,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"sub","vent",29,32,34,"top",[0,0,0],2,15,8,2,12,"horizontal",1, // top vent opening
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // bottom vent opening
"sub","vent",108.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-6.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
["m1_tray_drive",
"sub","hd_holes",17,22,41,"top",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
"model","hd25",17,122,33.5,"top",[0,0,-90],0,0,0,7.5,0,"",0, // model 2.5 hd
"sub","vent",29,32,41,"top",[0,0,0],2,15,8,2,12,"horizontal",1, // top vent opening
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",108.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-6.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
["m1_tray_sides",
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",104,32,10,"right",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-5.5,32,10,"left",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
["m1_tray_vu5",
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",105,32,10,"right",[0,0,90],2,15,8,1,17,"vertical",1, // vent opening
"sub","vent",-7,32,10,"left",[0,0,90],2,15,8,1,17,"vertical",1], // vent opening
["m1_tray_vu7",
"sub","vent",36,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",123,32,10,"right",[0,0,90],2,15,6,1,17,"vertical",1, // vent opening
"sub","vent",-7,32,10,"left",[0,0,90],2,15,6,1,17,"vertical",1], // vent opening
// Odroid-H2
["h2_tray_router",
"sub","vent",-6.5,30,45,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,45,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",-6.5,30,6,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",111.5,30,6,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
// "add2","hd_vertright",5,120,1.99,"bottom",[0,0,0],0,0,0,2.5,3,"landscape",0, // sub hd bottom holes
// "sub","hd_vertright_holes",5,120,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"landscape",0, // sub hd bottom holes
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
// "model","hd25",5,120,71.85,"bottom",[-90,0,00],0,0,0,7,0,"",0, // model 2.5 hd
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0], // h2 network card
["h2_router_station",
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"sub","vent",-6.5,30,45,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"sub","vent",121.5,30,45,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",-6.5,30,6,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",121.5,30,6,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_lowboy",
"sub","rectangle",94.5,-4,13,"top",[0,0,0],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",68,-4,13,"top",[0,0,0],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",44.5,-4,13,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",19.5,-4,13,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",10.5,28.5,28,"top",[0,0,0],75,71,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","vent",-3.5,30,18,"top",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,18,"top",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"add2","button",23.77,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"model","button_top",12.34,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_lowboy_router",
"sub","rectangle",94.5,-4,25,"top",[0,0,0],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",68,-4,25,"top",[0,0,0],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",44.5,-4,25,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",19.5,-4,25,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",10.5,28.5,41,"top",[0,0,0],75,71,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","vent",-3.5,30,30,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,30,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"add2","batt_holder",98,40,44,"top",[180,0,-18],10,10,0,0,0,"",0, // add uart
"add2","button",12.34,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"add2","button",23.77,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"model","button_top",12.34,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0], // h2 network card
["h2_shell_router",
"sub","vent",-3.5,30,40,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,40,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","button",23.77,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","batt_holder",98,40,65,"top",[180,0,-18],10,10,0,0,0,"",0, // add battery holder
"model","button_top",12.34,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_shell_router-ssd",
"sub","vent",131.5,30,40,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",131.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","round",131,44,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",131,120.6,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button
"add2","button",23.77,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button
"add2","batt_holder",98,40,65,"top",[180,0,-18],10,10,0,0,0,"",0, // add battery holder
"add2","hd_vertleft",122,30,1.99,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // add hd holder
"sub","hd_vertleft_holes",122,30,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
"model","button_top",12.34,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"model","hd25",122,130,2,"bottom",[90,0,-90],0,0,0,7,0,"",0, // model 2.5 hd
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
// Odroid-HC4 // Odroid-HC4
["hc4_tray_drivebox2.5", ["hc4_tray_drivebox2.5",
"add1","hc4_oled_holder",20,137,1.99,"bottom",[0,0,0],0,0,2,0,0,"",0, // model hc4 holder "add1","hc4_oled_holder",20,137,1.99,"bottom",[0,0,0],0,0,2,0,0,"",0, // model hc4 holder
"add2","hd_holder",98,31,2,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // add hd holder "add2","hd_holder",98,31,2,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // add hd holder
"sub","hd_holes",98,31,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes "sub","hd_holes",98,31,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
"sub","round",180,45,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",180,45,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",180,121.6,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",180,121.6,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",180,45,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",180,45,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",180,121.6,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",180,121.6,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"suball","fan",125,-.1,7,"bottom",[90,0,0],40,0,3,1,0,"",0, // sub fan "suball","fan",125,-.1,7,"bottom",[90,0,0],40,0,3,1,0,"",0, // sub fan
"suball","vent",72,142,27,"bottom",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent "suball","vent",72,142,27,"bottom",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent
"model","hc4_oled",20,137,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled "model","hc4_oled",20,137,2,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled
"model","fan_cover",125,-4,7,"bottom",[90,0,0],40,0,3,2,0,"",0, // model fan "model","fan_cover",125,-4,7,"bottom",[90,0,0],40,0,3,2,0,"",0, // model fan
"model","hd25",98,131,2,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",98,131,2,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd
"model","hd25",98,131,20,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",98,131,20,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd
"model","fan_cover",125,-4,7,"bottom",[90,0,0],40,0,3,2,0,"",0, // model fan "model","fan_cover",125,-4,7,"bottom",[90,0,0],40,0,3,2,0,"",0, // model fan
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan "platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan
["hc4_shell_drivebox2.5", ["hc4_shell_drivebox2.5",
"add2","hc4_oled_holder",20,136,1.99,"bottom",[0,0,0],0,0,2,0,0,"",0, // model hc4 holder "add2","hc4_oled_holder",20,136,1.99,"bottom",[0,0,0],0,0,2,0,0,"",0, // model hc4 holder
"add2","hd_holder",96,33,1.99,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // add hd holder "add2","hd_holder",96,33,1.99,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // add hd holder
"sub","hd_holes",96,33,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes "sub","hd_holes",96,33,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
"sub","round",178,47,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",178,47,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",178,123.6,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",178,123.6,5,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",178,47,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",178,47,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",178,123.6,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",178,123.6,23,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","vent",71.85,142,30,"top",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent "sub","vent",71.85,142,30,"top",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent
"suball","fan",125,-.1,7,"bottom",[90,0,0],40,0,3,1,0,"",0, // sub fan "suball","fan",125,-.1,7,"bottom",[90,0,0],40,0,3,1,0,"",0, // sub fan
"sub","vent",-3.5,35,34,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening "sub","vent",-3.5,35,34,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",178,35,34,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening "sub","vent",178,35,34,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,35,9,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening "sub","vent",-3.5,35,9,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",178,35,9,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening "sub","vent",178,35,9,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"model","hc4_oled",20,136,1.99,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled "model","hc4_oled",20,136,1.99,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled
"model","hd25",96,133,2,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",96,133,2,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd
"model","hd25",96,133,20,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",96,133,20,"bottom",[0,0,-90],0,0,0,15,0,"",0, // model 2.5 hd
"model","fan_cover",125,-4,7,"top",[90,0,0],40,0,3,2,0,"",0, // model fan "model","fan_cover",125,-4,7,"top",[90,0,0],40,0,3,2,0,"",0, // model fan
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan "platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan
["hc4_shell_drivebox2.5v", ["hc4_shell_drivebox2.5v",
"add2","hd_vertright",93,33,1.99,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // sub hd bottom holes "add2","hd_vertright",93,33,1.99,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // sub hd bottom holes
"add2","hd_vertleft",127,33,1.99,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // add hd holder "add2","hd_vertleft",127,33,1.99,"bottom",[0,0,0],0,0,0,2.5,0,"portrait",0, // add hd holder
"sub","hd_vertright_holes",93,33,-.01,"bottom",[0,0,0],0,0,0,2.5,2,"portrait",0, // sub hd bottom holes "sub","hd_vertright_holes",93,33,-.01,"bottom",[0,0,0],0,0,0,2.5,2,"portrait",0, // sub hd bottom holes
"sub","hd_vertleft_holes",127,33,-.01,"bottom",[0,0,0],0,0,0,2.5,2,"portrait",0, // sub hd bottom holes "sub","hd_vertleft_holes",127,33,-.01,"bottom",[0,0,0],0,0,0,2.5,2,"portrait",0, // sub hd bottom holes
"sub","round",139,49,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",139,49,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",139,125.6,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole "sub","round",139,125.6,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","vent",71.85,142,30,"top",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent "sub","vent",71.85,142,30,"top",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent
"sub","fan",93,-.1,30,"top",[90,0,0],40,0,3,1,0,"",0, // sub fan "sub","fan",93,-.1,30,"top",[90,0,0],40,0,3,1,0,"",0, // sub fan
"add1","hc4_oled_holder",20,136,1.99,"bottom",[0,0,0],0,0,2,0,0,"",0, // model hc4 holder "add1","hc4_oled_holder",20,136,1.99,"bottom",[0,0,0],0,0,2,0,0,"",0, // model hc4 holder
"model","hc4_oled",20,136,1.99,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled "model","hc4_oled",20,136,1.99,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled
"model","fan_cover",94,-3,30,"top",[90,0,0],40,0,3,2,0,"",0, // model fan "model","fan_cover",94,-3,30,"top",[90,0,0],40,0,3,2,0,"",0, // model fan
"model","hd25",93,133,71.85,"bottom",[-90,0,-90],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",93,133,71.85,"bottom",[-90,0,-90],0,0,0,15,0,"",0, // model 2.5 hd
"model","hd25",127,133,2,"bottom",[90,0,-90],0,0,0,15,0,"",0, // model 2.5 hd "model","hd25",127,133,2,"bottom",[90,0,-90],0,0,0,15,0,"",0, // model 2.5 hd
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan "platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan
["hc4_shell_drivebox3.5", ["hc4_shell_drivebox3.5",
"add1","hc4_oled_holder",20,177,3,"bottom",[0,0,0],0,0,3,0,0,"",0, // model hc4 holder "add1","hc4_oled_holder",20,177,3,"bottom",[0,0,0],0,0,3,0,0,"",0, // model hc4 holder
"add2","hd_holder",100,28,3,"bottom",[0,0,0],0,0,0,3.5,0,"portrait",0, // add hd holder "add2","hd_holder",100,28,3,"bottom",[0,0,0],0,0,0,3.5,0,"portrait",0, // add hd holder
"sub","hd_holes",100,28,-.01,"bottom",[0,0,0],0,0,0,3.5,3,"portrait",0, // sub hd bottom holes "sub","hd_holes",100,28,-.01,"bottom",[0,0,0],0,0,0,3.5,3,"portrait",0, // sub hd bottom holes
"sub","round",211,56.5,9.35,"bottom",[0,90,0],3,0,4,0,0,"",0, // sub hd side screw access hole "sub","round",211,56.5,9.35,"bottom",[0,90,0],3,0,4,0,0,"",0, // sub hd side screw access hole
"sub","round",211,98.4,9.35,"bottom",[0,90,0],3,0,4,0,0,"",0, // sub hd side screw access hole "sub","round",211,98.4,9.35,"bottom",[0,90,0],3,0,4,0,0,"",0, // sub hd side screw access hole
"sub","round",211,158.1,9.35,"bottom",[0,90,0],3,0,4,0,0,"",0, // sub hd side screw access hole "sub","round",211,158.1,9.35,"bottom",[0,90,0],3,0,4,0,0,"",0, // sub hd side screw access hole
"suball","vent",72,183,29,"bottom",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent "suball","vent",72,183,29,"bottom",[0,0,0],2,13,4,1,4,"vertical",1, // sub vent
"suball","fan",125,-1.5,7,"bottom",[90,0,0],40,0,3,1,0,"",0, // sub fan "suball","fan",125,-1.5,7,"bottom",[90,0,0],40,0,3,1,0,"",0, // sub fan
"model","hc4_oled",20,177,1.99,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled "model","hc4_oled",20,177,1.99,"bottom",[0,0,0],0,0,0,0,0,"",0, // model hc4 oled
"model","hd35",100,175,3,"bottom",[0,0,-90],0,0,0,0,0,"",0, // model 3.5 hd "model","hd35",100,175,3,"bottom",[0,0,-90],0,0,0,0,0,"",0, // model 3.5 hd
"model","hd35",100,175,35,"bottom",[0,0,-90],0,0,0,0,0,"",0, // model 3.5 hd "model","hd35",100,175,35,"bottom",[0,0,-90],0,0,0,0,0,"",0, // model 3.5 hd
"model","fan_cover",125,-4,7,"top",[90,0,0],40,0,3,2,0,"",0, // model fan "model","fan_cover",125,-4,7,"top",[90,0,0],40,0,3,2,0,"",0, // model fan
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan "platter","fan_cover",-50,50,0,"bottom",[0,0,0],40,0,3,2,0,"",0], // model fan
// Odroid-N2+
// internal fan
["n2+_tray_vu7_fan",
"sub","vent",25,25,44,"top",[0,0,0],10,2,4,6,6,"horizontal",1, // sub vent
"sub","vent",25,50,44,"top",[0,0,0],10,2,4,6,6,"horizontal",1], // sub vent
// Odroid-M1
["m1_panel",
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",100,32,10,"right",[0,0,90],2,15,8,1,17,"vertical",1, // vent opening
"sub","vent",-5.5,32,10,"left",[0,0,90],2,15,8,1,17,"vertical",1], // vent opening
["m1_tray",
"add2","button",60,118.5,35,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"model","button_top",60,118.5,35,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"sub","vent",29,32,34,"top",[0,0,0],2,15,8,2,12,"horizontal",1, // top vent opening
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // bottom vent opening
"sub","vent",108.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-6.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
["m1_tray_drive",
"sub","hd_holes",17,22,41,"top",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
"model","hd25",17,122,33.5,"top",[0,0,-90],0,0,0,7.5,0,"",0, // model 2.5 hd
"sub","vent",29,32,41,"top",[0,0,0],2,15,8,2,12,"horizontal",1, // top vent opening
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",108.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-6.5,32,10,"top",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
["m1_tray_sides",
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",104,32,10,"right",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-5.5,32,10,"left",[0,0,90],2,15,4,1,17,"vertical",1], // vent opening
["m1_tray_vu5",
"sub","vent",29,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",105,32,10,"right",[0,0,90],2,15,8,1,17,"vertical",1, // vent opening
"sub","vent",-7,32,10,"left",[0,0,90],2,15,8,1,17,"vertical",1], // vent opening
["m1_tray_vu7",
"sub","vent",36,20,-1,"bottom",[0,0,0],2,15,8,5,12,"horizontal",1, // vent opening
"sub","vent",123,32,10,"right",[0,0,90],2,15,6,1,17,"vertical",1, // vent opening
"sub","vent",-7,32,10,"left",[0,0,90],2,15,6,1,17,"vertical",1], // vent opening
// Odroid-H2
["h2_shell",
"sub","rectangle",94.5,-4,13,"top",[0,0,0],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",68,-4,13,"top",[0,0,0],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",44.5,-4,13,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",19.5,-4,13,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",10.5,28.5,28,"top",[0,0,0],75,71,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","vent",-3.5,30,18,"top",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,18,"top",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,79.5,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","button",23.77,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"model","button_top",12.34,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_shell_router",
"sub","vent",-3.5,30,40,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,40,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","button",23.77,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","batt_holder",98,40,65,"top",[180,0,-18],10,10,0,0,0,"",0, // add battery holder
"model","button_top",12.34,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,65.01,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_shell_router-ssd",
"sub","vent",131.5,30,40,"top",[0,0,90],2,15,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",131.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","round",131,44,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"sub","round",131,120.6,6.07,"bottom",[0,90,0],3,0,3,0,0,"",0, // sub hd side screw access hole
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button
"add2","button",23.77,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button
"add2","batt_holder",98,40,65,"top",[180,0,-18],10,10,0,0,0,"",0, // add battery holder
"add2","hd_vertleft",122,30,1.99,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // add hd holder
"sub","hd_vertleft_holes",122,30,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"portrait",0, // sub hd bottom holes
"model","button_top",12.34,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,75.01,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"model","hd25",122,130,2,"bottom",[90,0,-90],0,0,0,7,0,"",0, // model 2.5 hd
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,42,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_lowboy",
"sub","rectangle",94.5,-4,13,"top",[0,0,0],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",68,-4,13,"top",[0,0,0],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",44.5,-4,13,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",19.5,-4,13,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",10.5,28.5,28,"top",[0,0,0],75,71,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","vent",-3.5,30,18,"top",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,18,"top",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,6,4,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"add2","button",12.34,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"add2","button",23.77,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"model","button_top",12.34,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,32,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["h2_lowboy_router",
"sub","rectangle",94.5,-4,25,"top",[0,0,0],14,24.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",68,-4,25,"top",[0,0,0],19.5,21.5,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",44.5,-4,25,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",19.5,-4,25,"top",[0,0,0],20.5,31,22,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","rectangle",10.5,28.5,41,"top",[0,0,0],75,71,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
"sub","vent",-3.5,30,30,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,30,"top",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",-3.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,4,"bottom",[0,0,90],2,10,4,1,17,"vertical",1, // vent opening
"add2","batt_holder",98,40,44,"top",[180,0,-18],10,10,0,0,0,"",0, // add uart
"add2","button",12.34,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"add2","button",23.77,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button
"model","button_top",12.34,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,44,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,11,0,0,"recess",0, // button top
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0], // h2 network card
["h2_tray",
"sub","vent",-6.5,30,30,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,30,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",-6.5,30,6,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",111.5,30,6,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"add2","button",12.34,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","button",23.77,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"model","button_top",12.34,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,53,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,32,0,0,"recess",0], // button top
["h2_tray_sides",
"sub","vent",-6.5,30,30,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,30,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"sub","vent",-6.5,30,6,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"sub","vent",111.5,30,6,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"add2","button",12.34,106.43,55,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","button",23.77,106.43,55,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"model","button_top",12.34,106.43,55,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,55,"top",[0,0,0],10,0,32,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,34,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,34,0,0,"recess",0], // button top
["h2_tray_router",
"suball","vent",-6.5,30,45,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",111.5,30,45,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",-6.5,30,6,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",111.5,30,6,"top",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
// "add2","hd_vertright",5,120,1.99,"bottom",[0,0,0],0,0,0,2.5,3,"landscape",0, // sub hd bottom holes
// "sub","hd_vertright_holes",5,120,-.01,"bottom",[0,0,0],0,0,0,2.5,3,"landscape",0, // sub hd bottom holes
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
// "model","hd25",5,120,71.85,"bottom",[-90,0,00],0,0,0,7,0,"",0, // model 2.5 hd
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"add2","button",12.34,106.43,65,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"add2","button",23.77,106.43,65,"top",[0,0,0],10,0,32,0,0,"recess",0, // button
"model","button_top",12.34,106.43,65,"top",[0,0,0],10,0,44,0,0,"recess",0, // button top
"model","button_top",23.77,106.43,65,"top",[0,0,0],10,0,44,0,0,"recess",0, // button top
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"platter","button_top",-20,0,0,"top",[0,0,0],10,0,44,0,0,"recess",0, // button top
"platter","button_top",-30,0,0,"top",[0,0,0],10,0,44,0,0,"recess",0], // button top
["h2_router_station",
"add1","access_port",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port
"suball","vent",-6.5,30,45,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",112,30,45,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",-6.5,30,6,"left",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"suball","vent",112,30,6,"right",[0,0,90],2,10,7,1,17,"vertical",1, // vent opening
"model","access_cover",10,30,-0.01,"bottom",[0,0,0],100,80,2,0,0,"landscape",0, // access port cover
"model","h2_netcard",0,0,19,"bottom",[0,0,0],0,0,0,0,0,"portrait",0, // h2 network card
"platter","access_cover",-110,30,0,"bottom",[0,0,0],100,80,2,0,0,"landscape",0], // access port cover
["jetsonnano_shell", ["jetsonnano_shell",
"sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening "sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening
@@ -639,35 +688,74 @@ accessory_data = [
"sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening "sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening
["rockpro64_shell", ["rockpro64_shell",
"sub","fan",20,0,25,"top",[0,0,0],80,0,6,2,0,"",0, // sub fan opening "sub","fan",43,28,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,25,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening "sub","rectangle",43,0,25,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening
["rockpro64_panel", ["rockpro64_panel",
"sub","fan",43,26,24,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening "sub","fan",43,26,24,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening
["rockpro64_stacked", ["rockpro64_stacked",
"sub","fan",43,26,24,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening "sub","fan",43,26,24,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening
["rockpro64_tray", ["rockpro64_tray",
"sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening "sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening
["rockpro64_tray_sides", ["rockpro64_tray_sides",
"sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening "sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening
["rockpro64_snap",
"sub","fan",43,28,28,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,28,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening
["rockpro64_fitted",
"sub","fan",43,28,28,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening
"sub","rectangle",43,0,28,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening
["show2_shell", ["show2_shell",
"model","hk_wb2",6.25,24.675,16,"top",[0,0,180],0,0,0,0,0,"",0, // hk weatherboard2 "model","hk_wb2",6.25,24.675,16,"top",[0,0,180],0,0,0,0,0,"",0, // hk weatherboard2
"suball","round",48.75,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole "suball","round",48.75,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole
"suball","round",57.25,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole "suball","round",57.25,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole
"suball","round",65.75,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole "suball","round",65.75,0,6,"top",[90,0,0],4,0,4,0,0,"",0, // sub button access hole
"sub","rectangle",.5,8,8.5,"top",[0,0,0],6,16.5,8,0,0,"",[.5,.5,.5,.5], // sub gpio opening "sub","rectangle",.5,8,8.5,"top",[0,0,0],6,16.5,8,0,0,"",[.5,.5,.5,.5], // sub gpio opening
"add1","rectangle",22.5,9,8.85,"top",[0,0,0],47,36,3.25,0,0,"",[.5,.5,.5,.5], // add screen trim "add1","rectangle",22.5,9,8.85,"top",[0,0,0],47,36,3.25,0,0,"",[.5,.5,.5,.5], // add screen trim
"sub","rectangle",23.5,10,8.5,"top",[0,0,0],45,34,8,0,0,"",[.5,.5,.5,.5]], // sub screen opening "sub","rectangle",23.5,10,8.5,"top",[0,0,0],45,34,8,0,0,"",[.5,.5,.5,.5]], // sub screen opening
["rpi3b+_shell",
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_panel",
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_stacked",
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_tray",
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_tray_sides",
"sub","fan",10,10,25.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_round",
"suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole
"suball","rectangle",34.5,-26,4,"top",[0,0,0],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_hex",
"suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole
"suball","rectangle",34.5,-26,4,"top",[0,0,0],21,10,15.5,0,0,"vertical",[1,1,1,1], // sub hdmi opening
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_snap",
"sub","fan",10,10,24.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["rpi3b+_fitted",
"sub","fan",10,10,25.5,"top",[0,0,0],40,0,6,2,0,"",0], // sub fan opening
["test", ["test",
"sub","vent",60,120,10,"bottom",[0,0,0],2,15,4,1,4,"vertical",1] // sub vent "sub","vent",60,120,10,"bottom",[0,0,0],2,15,4,1,4,"vertical",1] // sub vent
]; ];

File diff suppressed because it is too large Load Diff

View File

@@ -14,28 +14,29 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
Code released under GPLv3: http://www.gnu.org/licenses/gpl.html Code released under GPLv3: http://www.gnu.org/licenses/gpl.html
20220202 Version 1.0.0 sbc case builder using sbc model framework 20220202 Version 1.0.0 sbc case builder using sbc model framework.
20220206 Version 1.0.1 added tray-vu7 case style, other fixes 20220206 Version 1.0.1 added tray-vu7 case style, other fixes.
20220212 Version 1.1.0 implemented sbc_case_builder.cfg config file, 20220212 Version 1.1.0 implemented sbc_case_builder.cfg config file,
sbc_case_builder_library.scad and basic accessory framework. sbc_case_builder_library.scad and basic accessory framework.
adjusted tray-vu7 tabs, adjusted tray-vu7 model alignment adjusted tray-vu7 tabs, adjusted tray-vu7 model alignment
minor fixes and other maintenance. minor fixes and other maintenance.
20220220 Version 1.1.1 added .cfg commands add1,add2,model,platter 20220220 Version 1.1.1 added .cfg commands add1,add2,model,platter
schema changes, extended standoff fixes, hd mounting acc. schema changes, extended standoff fixes, hd mounting acc.
acc. placement and other minor fixes, added raise_top setting acc. placement and other minor fixes, added raise_top setting.
20220227 Version 1.1.2 added sbc_off setting, fixed hdmi bottom placement 20220227 Version 1.1.2 added sbc_off setting, fixed hdmi bottom placement
schema change, extended standoff detection, hd vertical mount, oled holder schema change, extended standoff detection, hd vertical mount, oled holder
access port, access cover, case feet and other fixes access port, access cover, case feet and other fixes.
20220306 Version 1.1.3 added netcard, buttons, parametric access_port, other fixes and maintenance 20220306 Version 1.1.3 added netcard, buttons, parametric access_port, other fixes and maintenance
20220312 Version 1.2.0 added fillet array, button cutout style, hk_lcd35, other fixes and maintenance 20220312 Version 1.2.0 added fillet array, button cutout style, hk_lcd35, other fixes and maintenance
20220320 Version 1.2.1 added hk_boom bonnet model and accessories, hk_uart model, fixed uart opening, 20220320 Version 1.2.1 added hk_boom bonnet model and accessories, hk_uart model, fixed uart opening,
enabled pcb_z, added tabs and fixed tray case top, other fixes and maintenance enabled pcb_z, added tabs and fixed tray case top, other fixes and maintenance
20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions, 20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions,
fixes and maintenance fixes and maintenance.
20220515 Version 1.2.3 added odroid-m1, jetson nano, rockpro64, completed mask(), improved docs 20220515 Version 1.2.3 added odroid-m1, jetson nano, rockpro64, completed mask(), improved docs
changed tray top design changed tray top design.
2022xxxx Version 2.0.x added round, hexagon, snap and fitted cases, full customizer user interface, 2022xxxx Version 2.0.x full customizer user interface,case configuration file changed to json,
case configuration file changed to json, accessories kept in sbc_case_builder.cfg accessories kept in sbc_case_builder.cfg,
added round, hexagon, snap and fitted cases.
see https://github.com/hominoids/SBC_Case_Builder see https://github.com/hominoids/SBC_Case_Builder
*/ */
@@ -72,7 +73,7 @@ case_design = "shell"; // [shell,panel,stacked,tray,round,hex,snap,fitted]
// base case style // base case style
case_style = "none"; // ["none","vu5","vu7","sides"] case_style = "none"; // ["none","vu5","vu7","sides"]
// single board computer model // single board computer model
sbc_model = "c4"; // [c1+,c2,c4,xu4,xu4q,mc1,hc1,hc4,m1,n1,n2,n2+,h2,rpi3b+,a64,rock64,rockpro64,atomicpi,jetsonnano,show2] sbc_model = "c4"; // [c1+,c2,c4,xu4,xu4q,mc1,hc1,hc4,m1,n1,n2,n2+,h2,jetsonnano,show2,rockpro64,rpi3b+]
// sbc location x axis // sbc location x axis
pcb_loc_x = 0; //[0:.5:200] pcb_loc_x = 0; //[0:.5:200]
// sbc location y axis // sbc location y axis
@@ -1131,8 +1132,7 @@ module case_top(case_design) {
vertical=[c_fillet,c_fillet,c_fillet,c_fillet], vertical=[c_fillet,c_fillet,c_fillet,c_fillet],
top=[fillet,fillet,fillet,fillet,fillet], top=[fillet,fillet,fillet,fillet,fillet],
bottom=[0,0,0,0], $fn=90); bottom=[0,0,0,0], $fn=90);
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap, translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,case_z-floorthick-1])
case_z-floorthick])
cube_fillet_inside([width-wallthick+tol,depth-wallthick+tol,lip+floorthick], cube_fillet_inside([width-wallthick+tol,depth-wallthick+tol,lip+floorthick],
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=[fillet,fillet,fillet,fillet,fillet], top=[fillet,fillet,fillet,fillet,fillet],
@@ -1767,7 +1767,7 @@ module open_io() {
} }
if(side == "top" && cooling == "fan" && class == "heatsink" && type == "h2_oem") { if(side == "top" && cooling == "fan" && class == "heatsink" && type == "h2_oem") {
translate([loc_x-28,loc_y-28,case_z-(floorthick+adjust)]) translate([loc_x-28,loc_y-28,case_z-(floorthick+adjust)])
fan_mask(90,floorthick+3,2); fan_mask(90,floorthick+6,2);
} }
if(side == "top" && cooling == "vents" && class == "heatsink") { if(side == "top" && cooling == "vents" && class == "heatsink") {
for(r=[loc_x+7:4:48]) { for(r=[loc_x+7:4:48]) {
@@ -1855,7 +1855,7 @@ module open_io() {
// sata openings // sata openings
if(side == "top" && type == "sata_power_vrec" && sata_punchout == true) { if(side == "top" && type == "sata_power_vrec" && sata_punchout == true) {
translate([loc_x-3,loc_y+1.75,case_z-adjust-floorthick]) translate([loc_x-3,loc_y+1.75,case_z-adjust-floorthick])
punchout(42,7.5,2,floorthick+(2*adjust)+2,3,"slot"); punchout(42,7.5,2,floorthick+(2*adjust)+6,3,"slot");
} }
} }
} }