diff --git a/lib/custom.scad b/lib/custom.scad index 5a9efad..0098b3d 100644 --- a/lib/custom.scad +++ b/lib/custom.scad @@ -25,56 +25,81 @@ DESCRIPTION: @mctom's odroid-h3 gpio port extender TODO: none - USAGE: h3_port_extender(style, mask = false) + USAGE: h3_port_extender(style, mask) style = "header", "remote" - mask = true or false, mask for openings + mask[0] = true enables component mask + mask[1] = mask length + mask[2] = mask setback + mask[3] = mstyle "default" */ -module h3_port_extender(style, mask = false) { +module h3_port_extender(style, mask) { + + enablemask = mask[0]; + mlength = mask[1]; + msetback = mask[2]; + mstyle = mask[3]; adj=.01; $fn = 90; if(style == "header") { - if(mask == true) { - translate([-20, 6.25, 15]) cube([12, 7.5, 14.75]); - translate([-20, 15.875, 15]) cube([12, 7.5, 14.75]); - translate([-20, 25.375, 15]) cube([12, 7.5, 14.75]); - translate([-20, 17, 32.2]) rotate([0, 90, 0]) cylinder(d=3.5, h=12); + if(enablemask == true && mstyle == "default") { + translate([0, 14.5, 12-msetback]) cube([7.75, 15.75, mlength]); + translate([9.5, 14.5, 12-msetback]) cube([7.75, 15.75, mlength]); + translate([19, 14.5, 12-msetback]) cube([7.75, 15.75, mlength]); + translate([16, 32.2, 12-msetback]) cylinder(d=3, h=12); } - else { + if(enablemask == false) { // gpio 24 pin front position - color("silver") translate([1.6, 188.5, 84]) rotate([90, 0, 270]) import("stl/h3_port_extender.stl"); -// color("dimgrey") translate([-3, 15.75, 0.25]) rotate([90, 180, 180]) import("stl/header_f_2x12_90.stl"); - translate([0, 2, 8.25]) rotate([0, 180, 0]) header_f(12,8); - translate([-2.54, 2, 8.25]) rotate([0, 180, 0]) header_f(12,8); - color("dimgrey") translate([-2.5, 0, 29.5]) rotate([270, 0, 90]) import("stl/header_2x2_90.stl"); + header("angled", -1.75, .1, 0, "top", 0, [12,2,8], ["thruhole","black","female",2.54,"silver"], + 1.6, false, [true,10,2,"default"]); + difference() { + color("#008066") slab([33,35.25,1.6], .25); + color("#008066") translate([15.95,4.6,-1]) cylinder(d=3, h=6); + color("#008066") translate([15.95,32.15,-1]) cylinder(d=3, h=6); + } + header("angled", 27.65, 29.6, 0, "bottom", 90, [2,2,6], ["thruhole","black","male",2.54,"silver"], + 1.6, false, [true,10,2,"default"]); + header("angled", 30.5, 16.5, 0, "bottom", 90, [5,2,6], ["thruhole","black","male",2.54,"silver"], + 1.6, false, [true,10,2,"default"]); + usb2("single_up_a", .925, 15.375, 0, "top", 180, [0,10.5,0], [0], 1.6, false, [true,10,2,"default"]); + usb2("single_up_a", 10.395, 15.375, 0, "top", 180, [0,10.5,0], [0], 1.6, false, [true,10,2,"default"]); + usb2("single_up_a", 19.925, 15.375, 0, "top", 180, [0,10.5,0], [0], 1.6, false, [true,10,2,"default"]); } } if(style == "remote") { - if(mask == true) { - translate([-19, 6.25, 15]) cube([12,7.5,14.75]); - translate([-19, 15.875, 15]) cube([12,7.5,14.75]); - translate([-19, 25.375, 15]) cube([12,7.5,14.75]); - translate([-19, 17, 32.2]) rotate([0,90,0]) cylinder(d=2.5, h=12); - translate([-19, 17, 4.6]) rotate([0,90,0]) cylinder(d=2.5, h=12); + if(enablemask == true && mstyle == "default") { + translate([0, 14.5, 12-msetback]) cube([7.75, 15.75, mlength]); + translate([9.5, 14.5, 12-msetback]) cube([7.75, 15.75, mlength]); + translate([19, 14.5, 12-msetback]) cube([7.75, 15.75, mlength]); + translate([16, 32.2, 12-msetback]) cylinder(d=3, h=12); + translate([16, 4.6, 12-msetback]) cylinder(d=3, h=mlength); } - else { + if(enablemask == false) { + difference() { + color("#008066") slab([33,35.25,1.6], .25); + color("#008066") translate([15.95,4.6,-1]) cylinder(d=3, h=6); + color("#008066") translate([15.95,32.15,-1]) cylinder(d=3, h=6); + } // gpio 24 pin front position - color("silver") translate([1.6, 188.5, 84]) rotate([90, 0, 270]) import("stl/h3_port_extender.stl"); - color("dimgrey") translate([-2.5, 0, 29.5]) rotate([270, 0, 90]) import("stl/header_2x2_90.stl"); - color("dimgrey")translate([9,-.5,12.75]) rotate([0,270,90]) import("stl/header_encl_2x5_90.stl"); -// translate([2, 2, 14.08]) rotate([0, 90, 0]) header(12); -// translate([2, 2, 11.54]) rotate([0, 90, 0]) header(12); -// header("open", 7.5, 1, 0, "top", 0, [2,12,6], ["thruhole","black","female",2.54,"silver"], 1.6, false, [true,10,2,"default"]); + header("open", .75, 9, 0, "bottom", 0, [12,2,6], ["thruhole","black","male",2.54,"silver"], + 1.6, false, [true,10,2,"default"]); + header("angled", 27.65, 29.6, 0, "bottom", 90, [2,2,6], ["thruhole","black","male",2.54,"silver"], + 1.6, false, [true,10,2,"default"]); + header("angled", 30.5, 16.5, 0, "bottom", 90, [5,2,6], ["thruhole","black","male",2.54,"silver"], + 1.6, false, [true,10,2,"default"]); + usb2("single_up_a", .925, 15.375, 0, "top", 180, [0,10.5,0], [0], 1.6, false, [true,10,2,"default"]); + usb2("single_up_a", 10.395, 15.375, 0, "top", 180, [0,10.5,0], [0], 1.6, false, [true,10,2,"default"]); + usb2("single_up_a", 19.925, 15.375, 0, "top", 180, [0,10.5,0], [0], 1.6, false, [true,10,2,"default"]); } } } /* - NAME: h3_port_extender + NAME: h3_port_extender_holder DESCRIPTION: holder for the @mctom's remote h3 port extender TODO: none diff --git a/mod/add.scad b/mod/add.scad index 7193ac0..099b5c3 100644 --- a/mod/add.scad +++ b/mod/add.scad @@ -171,7 +171,7 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size, data, mask) { translate([loc_x,loc_y,loc_z]) rotate(rotation) boom_vring(data[0]); } if(type == "h3_port_extender") { - translate([loc_x,loc_y,loc_z]) rotate(rotation) h3_port_extender(data[0]); + translate([loc_x,loc_y,loc_z]) rotate(rotation) h3_port_extender(data[0],mask); } if(type == "h3_port_extender_holder") { translate([loc_x,loc_y,loc_z]) rotate(rotation) h3_port_extender_holder(data[1],data[0]); @@ -183,7 +183,7 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size, data, mask) { translate([loc_x,loc_y,loc_z]) rotate(rotation) keyhole(data[0],mask); } if(type == "dsub") { - translate([loc_x,loc_y,loc_z]) rotate(rotation) dsub(data[0]); + translate([loc_x,loc_y,loc_z]) rotate(rotation) dsub(data[0], data[1], mask); } if(type == "nut_holder") { translate([loc_x,loc_y,loc_z]) rotate(rotation) nut_holder(data[0], data[1], size_x, size_y, size_z); diff --git a/mod/parametric_move.scad b/mod/parametric_move.scad index c7554b8..83b86e3 100644 --- a/mod/parametric_move.scad +++ b/mod/parametric_move.scad @@ -30,6 +30,7 @@ rotation[] = object rotation parametric[] = parametric movement array size[] = size array x,y,z + data[] = data filed mask[0] = true enables component mask mask[1] = mask length mask[2] = mask setback diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 0bfa550..c7832bb 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -3335,121 +3335,6 @@ "view": "model", "wallthick": "2.5" }, - "h3_ultimate": { - "$fn": "90", - "accessory_highlight": "false", - "accessory_name": "h3_ultimate", - "adjust": "0.01", - "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 1, 0, 0, 0, 4.5, 5.1]", - "bottom_front_left": "0", - "bottom_front_right": "0", - "bottom_rear_left": "0", - "bottom_rear_right": "0", - "bottom_standoff": "[6.5, 7, 3.6, 10, 4, 4, 0, 0, 1, 4.5, 5]", - "c_fillet": "9", - "case_design": "shell", - "case_ext_standoffs": "false", - "case_ffn": "90", - "case_fn": "360", - "case_offset_bz": "3", - "case_offset_tz": "26", - "case_offset_x": "25", - "case_offset_y": "10", - "case_style": "none", - "cooling": "default", - "exhaust_vents": "none", - "fillet": "0", - "floorthick": "2", - "gap": "1.5", - "gpio_opening": "none", - "indents": "true", - "individual_part": "bottom", - "lip": "5", - "lower_bottom": "0", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "pcb_loc_x": "0", - "pcb_loc_y": "0", - "pcb_loc_z": "0", - "raise_top": "0", - "sata_knockout": "false", - "sbc_bottom_standoffs": "true", - "sbc_highlight": "false", - "sbc_model": "h3", - "sbc_off": "false", - "sbc_top_standoffs": "true", - "sidethick": "0", - "sidewall_support": "true", - "tol": "0.25", - "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.5, 5.1]", - "top_front_left": "0", - "top_front_right": "0", - "top_rear_left": "0", - "top_rear_right": "0", - "top_standoff": "[6.25, 18, 3.6, 10, 28, 4, 0, 1, 0, 4.5, 5.1]", - "view": "model", - "vu_rotation": "[15, 0, 0]", - "wallthick": "2.5" - }, - "h3_ultimate2": { - "$fn": "90", - "accessory_highlight": "false", - "accessory_name": "h3_ultimate2", - "adjust": "0.01", - "bottom_ext_standoff": "[6.25, 5, 3.6, 10, 4, 0, 0, 0, 1, 4.25, 5]", - "bottom_front_left": "0", - "bottom_front_right": "0", - "bottom_rear_left": "0", - "bottom_rear_right": "0", - "bottom_standoff": "[6.75, 7, 3.4, 10, 4, 4, 0, 0, 1, 4.25, 5]", - "c_fillet": "9", - "case_design": "shell", - "case_ext_standoffs": "false", - "case_ffn": "90", - "case_fn": "360", - "case_offset_bz": "4", - "case_offset_tz": "9", - "case_offset_x": "30", - "case_offset_y": "15", - "case_style": "none", - "cooling": "none", - "exhaust_vents": "none", - "fillet": "0", - "floorthick": "2", - "gap": "1.5", - "gpio_opening": "none", - "indents": "true", - "lip": "5", - "lower_bottom": "0", - "move_front": "0", - "move_leftside": "0", - "move_rear": "0", - "move_rightside": "0", - "pcb_loc_x": "30", - "pcb_loc_y": "0", - "pcb_loc_z": "0", - "raise_top": "0", - "sata_knockout": "false", - "sbc_bottom_standoffs": "true", - "sbc_highlight": "false", - "sbc_model": "h3", - "sbc_off": "false", - "sbc_top_standoffs": "true", - "sidethick": "0", - "sidewall_support": "true", - "tol": "0.25", - "top_ext_standoff": "[6.25, 18, 2.5, 10, 4, 4, 0, 1, 0, 4.25, 5]", - "top_front_left": "0", - "top_front_right": "0", - "top_rear_left": "0", - "top_rear_right": "0", - "top_standoff": "[6.25, 18, 3.6, 10, 20, 2, 0, 1, 0, 4.25, 5]", - "view": "model", - "vu_rotation": "[15, 0, 0]", - "wallthick": "2.5" - }, "h3_shell_drivebox2.5v": { "$fn": "90", "accessory_highlight": "false", @@ -6361,6 +6246,304 @@ "uart_opening": "default", "view": "model", "wallthick": "2.5" + }, + "h3_ultimate": { + "$fn": "90", + "access_port_location": "[10, 10]", + "access_port_orientation": "landscape", + "access_port_rotation": "0", + "access_port_size": "[30, 70]", + "accessory_highlight": "false", + "accessory_name": "h3_ultimate", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_port_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "0", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "none", + "bottom_front_right_adjust": "0", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "none", + "bottom_rear_left_adjust": "0", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "none", + "bottom_rear_right_adjust": "0", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "none", + "bottom_sidewall_support": "true", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "true", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "3", + "case_offset_tz": "26", + "case_offset_x": "25", + "case_offset_y": "10", + "case_style": "none", + "cooling": "default", + "corner_fillet": "3", + "edge_fillet": "0", + "exhaust_vent": "none", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "true", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "10", + "ext_bottom_standoff_type": "countersunk", + "ext_bottom_standoffs": "true", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "rear", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "5.75", + "ext_top_standoff_hole_size": "3.4", + "ext_top_standoff_insert": "false", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_support_height": "48.51", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "recessed", + "ext_top_standoffs": "true", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "none", + "indents": "true", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "0", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "h3", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "false", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "false", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "left", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "false", + "top_rear_right_support": "rear", + "top_sidewall_support": "true", + "top_standoff_diameter": "5.75", + "top_standoff_hole_size": "3.4", + "top_standoff_insert": "false", + "top_standoff_insert_dia": "4.2", + "top_standoff_insert_height": "5.1", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_support_height": "50", + "top_standoff_support_size": "10", + "top_standoff_type": "recessed", + "uart_opening": "default", + "view": "platter", + "wallthick": "2.5" + }, + "h3_ultimate2": { + "$fn": "90", + "access_port_location": "[10, 10]", + "access_port_orientation": "landscape", + "access_port_rotation": "0", + "access_port_size": "[30, 70]", + "accessory_highlight": "false", + "accessory_name": "h3_ultimate2", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_port_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "0", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "none", + "bottom_front_right_adjust": "0", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "right", + "bottom_rear_left_adjust": "0", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "none", + "bottom_rear_right_adjust": "0", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "right", + "bottom_sidewall_support": "true", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "true", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_support_height": "4", + "bottom_standoff_support_size": "10", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "4", + "case_offset_tz": "9", + "case_offset_x": "30", + "case_offset_y": "15", + "case_style": "none", + "cooling": "none", + "corner_fillet": "3", + "edge_fillet": "0", + "exhaust_vent": "none", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "true", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "10", + "ext_bottom_standoff_type": "blind", + "ext_bottom_standoffs": "true", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "none", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "5.75", + "ext_top_standoff_hole_size": "3.4", + "ext_top_standoff_insert": "false", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_support_height": "30", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "recessed", + "ext_top_standoffs": "true", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2", + "gap": "1.5", + "gpio_opening": "none", + "indents": "true", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "pcb_loc_x": "30", + "pcb_loc_y": "0", + "pcb_loc_z": "0", + "raise_top": "0", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "h3", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "solid", + "top_front_left_adjust": "0", + "top_front_left_enable": "false", + "top_front_left_support": "none", + "top_front_right_adjust": "0", + "top_front_right_enable": "false", + "top_front_right_support": "none", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "false", + "top_rear_left_support": "none", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "right", + "top_sidewall_support": "true", + "top_standoff_diameter": "5.75", + "top_standoff_hole_size": "3.4", + "top_standoff_insert": "false", + "top_standoff_insert_dia": "4.2", + "top_standoff_insert_height": "5.1", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_support_height": "30", + "top_standoff_support_size": "10", + "top_standoff_type": "recessed", + "uart_opening": "default", + "view": "model", + "wallthick": "2.5" } }, "fileFormatVersion": "1" diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 280f83f..7c6c090 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -508,87 +508,68 @@ accessory_data = [ "platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],[10,0,44],["recess"],[false,10,2,"default"]], // button top ["h3_ultimate", - "sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening - "sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening - "sub","vent",-3.5,30,19,"top",[0,0,90],["case",false,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening - "sub","vent",111.5,30,28,"top",[0,0,90],["case",true,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening - "sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],[2,6,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening - "sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],[2,6,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening - "sub","fan",99,10,48,"top",[0,0,90],["sbc-case_z",true,true,true],[90,0,6],[2],[false,10,2,"default"], // fan opening - "sub","round",3.81,17.78,29,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,26],[0],[false,10,2,"default"], // sub screw hole - "sub","round",3.81,106.19,29,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,26],[0],[false,10,2,"default"], // sub screw hole - "sub","round",106.04,24.77,29,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,26],[0],[false,10,2,"default"], // sub screw hole - "sub","round",106.04,106.2,29,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,26],[0],[false,10,2,"default"], // sub screw hole - "model","h3_port_extender",6,70,18.5,"bottom",[0,0,0],["sbc",true,true,false],[0,0,0],["header"],[false,10,2,"default"], // h3 port extender - "sub","h3_port_extender",6,70,18.5,"top",[0,0,0],["sbc",true,true,false],[0,0,0],["header"],[false,10,2,"default"], // h3 port extender - "model","hk_pwr_button",20,110,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[0,0,0],[0],[true,10,2,"default"], // hk pwr button model - "sub","hk_pwr_button",20,110,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[0,0,0],[0],[false,10,2,"default"], // hk pwr button model -// "add2","button",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[10,0,53],["recess"],[true,10,2,"default"], // button -// "add2","button",23.77,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[10,0,53],["recess"],[true,10,2,"default"], // button -// "model","button_top",12.34,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[10,0,58],["recess"],[false,10,2,"default"], // button top -// "model","button_top",23.77,106.43,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[10,0,58],["recess"],[false,10,2,"default"], // button top -// "platter","button_top",-20,0,0,"top",[0,0,0],["case",false,false,false],[10,0,58],["recess"],[false,10,2,"default"], // button top -// "platter","button_top",-30,0,0,"top",[0,0,0],["case",false,false,false],[10,0,58],["recess"],[false,10,2,"default"], // button top - "add1","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,true],[100,80,2],["landscape"],[true,10,2,"default"], // access port - "model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],[100,80,2],["landscape"],[false,10,2,"default"], // access port cover - "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],[100,80,2],["landscape"],[false,10,2,"default"], // access port cover - "sub","round",111,34,6.07,"bottom",[0,90,0],["case",true,false,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole - "sub","round",111,110.6,6.07,"bottom",[0,90,0],["case",true,false,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole - "add2","hd_vertleft",98,10,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"], // add hd holder - "sub","hd_vertleft_holes",98,10,-.01,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"], // sub hd bottom holes - "model","hd25",98,110,2,"bottom",[90,0,-90],["case",true,true,false],[0,0,0],[7],[false,10,2,"default"]], // model 2.5 hd + "sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], + "sub","vent",111.5,30,58,"top",[0,0,90],["case",true,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], + "sub","vent",-3.5,30,19,"top",[0,0,90],["case",false,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], + "sub","vent",111.5,30,28,"top",[0,0,90],["case",true,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], + "sub","vent",-3.5,30,4,"bottom",[0,0,90],["case",false,false,false],[2,6,4],[1,17,"vertical",1],[false,10,2,"default"], + "sub","vent",111.5,30,4,"bottom",[0,0,90],["case",true,false,false],[2,6,4],[1,17,"vertical",1],[false,10,2,"default"], + "model","hk_pwr_button",20,110,55.25,"top",[0,0,0],["sbc-case_z",true,true,true],[0,0,0],[0],[true,10,2,"default"], + "add2","access_port",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,true],[100,80,2],["landscape"],[true,10,2,"default"], + "model","access_cover",10,30,-0.01,"bottom",[0,0,0],["sbc",true,true,false],[100,80,2],["landscape"],[false,10,2,"default"], + "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],[100,80,2],["landscape"],[false,10,2,"default"], + "sub","round",111,34,6.07,"bottom",[0,90,0],["case",true,false,false],[3,0,6],[0],[false,10,2,"default"], + "sub","round",111,110.5,6.07,"bottom",[0,90,0],["case",true,false,false],[3,0,6],[0],[false,10,2,"default"], + "add2","hd_vertleft",98,10,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"], + "sub","hd_vertleft_holes",98,10,-.01,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"], + "model","hd25",98,110,2,"bottom",[90,0,-90],["case",true,true,false],[0,0,0],[7],[false,10,2,"default"]], ["h3_ultimate2", - "suball","fan",0,25,3,"top",[0,270,0],["case",false,false,false],[60,0,6],[0],[false,10,2,"default"], // sub fan opening - "model","fan_cover",-4,25,3,"top",[0,270,0],["case",false,false,false],[60,0,2],[3],[false,10,2,"default"], // model fan cover - "platter","fan_cover",-100,150,0,"top",[0,0,0],["case",false,false,false],[60,0,2],[0],[false,10,2,"default"], // model fan cover - "model","vent_panel_hex",144,11.77,64,"top",[0,90,0],["case",false,false,false],[62,107.43,3],[5.0,1.6,"y",14],[false,10,2,"default"], // model vent cover - "platter","vent_panel_hex",-200,13.77,0,"top",[0,0,0],["case",false,false,false],[62,107.43,3],[5.0,1.6,"y",14],[false,10,2,"default"], // model vent cover - "suball","rectangle",111,26.77,62,"top",[0,90,0],["case",true,false,false],[58,77.43,4],[[2,2,2,2]],[false,10,2,"default"], // vent opening - "sub","round",111,16.57,57,"top",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], // vent cover screw hole - "sub","round",111,16.57,9,"bottom",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], // vent cover screw hole - "sub","round",111,114.4,57,"top",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], // vent cover screw hole - "sub","round",111,114.4,9,"bottom",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], // vent cover screw hole - "sub","round",3.81,17.78,35,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,19],[0],[false,10,2,"default"], // sub screw hole - "sub","round",3.81,106.19,35,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,19],[0],[false,10,2,"default"], // sub screw hole - "sub","round",106.04,24.77,35,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,19],[0],[false,10,2,"default"], // sub screw hole - "sub","round",106.04,106.2,35,"top",[0,0,0],["sbc-case_z",true,true,true],[6.5,0,19],[0],[false,10,2,"default"], // sub screw hole - "add2","nut_holder",144,16.57,57,"top",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], // vent cover nut holder - "add2","nut_holder",144,16.57,9 ,"bottom",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], // vent cover nut holder - "add2","nut_holder",144,114.4,57,"top",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], // vent cover nut holder - "add2","nut_holder",144,114.4,9 ,"bottom",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], // vent cover nut holder - "sub","rectangle",-4,100.5,3,"top",[0,0,0],["sbc-case_z",true,true,true],[14,4,20],[[1,1,1,1]],[false,10,2,"default"], // sub rectangle - "sub","rectangle",100.5,17,30,"top",[0,0,0],["sbc-case_z",true,true,true],[9,4,10],[[1,1,1,1]],[false,10,2,"default"], // sub rectangle - "add1","round",23,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",71,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",-31.5,3,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",-31.5,77,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",-10,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",101,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",91.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",66.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",42.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",16.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",-1,-16.5,9,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",-29,109,9,"top",[0,0,0],["case",true,true,true],[3,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",-29,-14,9,"top",[0,0,0],["case",true,true,true],[3,0,44],[0],[false,10,2,"default"], // wall support - "add1","round",109,109,9,"top",[0,0,0],["case",true,true,true],[3,0,44],[0],[false,10,2,"default"], // wall support - "add1","rectangle",2,7,49,"top",[0,0,0],["case",true,true,true],[4,80,3],[[.25,.25,.25,.25]],[false,10,2,"default"], // ceiling support - "add1","rectangle",27,-16.5,49,"top",[0,0,0],["case",true,true,true],[4,130,3],[[.25,.25,.25,.25]],[false,10,2,"default"], // ceiling support - "add1","rectangle",52,-16.5,49,"top",[0,0,0],["case",true,true,true],[4,130,3],[[.25,.25,.25,.25]],[false,10,2,"default"], // ceiling support - "add1","rectangle",77,-16.5,49,"top",[0,0,0],["case",true,true,true],[4,130,3],[[.25,.25,.25,.25]],[false,10,2,"default"], // ceiling support - "add1","rectangle",104,7,49,"top",[0,0,0],["case",true,true,true],[4,80,3],[[.25,.25,.25,.25]],[false,10,2,"default"], // ceiling support - "model","h3_port_extender",31,119,4,"top",[0,0,-90],["case",true,false,true],[0,0,0],["remote"],[false,10,2,"default"], // port extender model - "sub","h3_port_extender",31,119,4,"top",[0,0,-90],["case",true,false,true],[0,0,0],["remote"],[false,10,2,"default"], // port extender openings - "model","h3_port_extender_holder",31,119,4,"top",[0,0,-90],["case",true,false,true],[0,0,0],[2.5,"both"],[false,10,2,"default"], // port extender holder - "platter","h3_port_extender_holder",-170,150,0,"top",[0,0,-90],["case",true,false,true],[0,0,0],[2.5,"remote"],[false,10,2,"default"], // port extender holder - "model","hk_pwr_button",11,114,55.25,"top",[0,0,180],["case",false,false,true],[0,0,0],[0],[true,10,2,"default"], // hk pwr button model - "sub","hk_pwr_button",11,114,55.25,"top",[0,0,0],["case",false,false,true],[0,0,0],[0],[false,10,2,"default"], // hk pwr button opening - "model","dsub",12,-1,48,"top",[0,90,0],["case",false,false,false],[0,0,0],[[9,"male",4]],[false,10,2,"default"], // db9 model - "sub","dsub",12,-1,48,"top",[0,90,0],["case",false,false,false],[0,0,0],[[9,"male",4]],[false,10,2,"default"], // db9 model - "add1","access_port",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,true],[81,100,2],["portrait"],[true,10,2,"default"], // access port - "model","access_cover",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,false],[81,100,2],["portrait"],[false,10,2,"default"], // access port cover - "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],[81,100,2],["portrait"],[false,10,2,"default"]], // access port cover + "suball","fan",0,25,3,"top",[0,270,0],["case",false,false,false],[60,0,6],[0],[false,10,2,"default"], + "model","fan_cover",-4,25,3,"top",[0,270,0],["case",false,false,false],[60,0,2],[3],[false,10,2,"default"], + "platter","fan_cover",-100,150,0,"top",[0,0,0],["case",false,false,false],[60,0,2],[3],[false,10,2,"default"], + // side panel + "model","vent_panel_hex",144,11.77,64,"top",[0,90,0],["case",false,false,false],[62,107.43,3],[5.0,1.6,"y",14],[false,10,2,"default"], + "platter","vent_panel_hex",-200,13.77,0,"top",[0,0,0],["case",false,false,false],[62,107.43,3],[5.0,1.6,"y",14],[false,10,2,"default"], + "suball","rectangle",111,26.77,62,"top",[0,90,0],["case",true,false,false],[58,77.43,4],[[2,2,2,2]],[false,10,2,"default"], + "sub","round",111,16.57,57,"top",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], + "sub","round",111,16.57,9,"bottom",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], + "sub","round",111,114.4,57,"top",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], + "sub","round",111,114.4,9,"bottom",[0,90,0],["case",true,false,false],[7,0,4],[0],[false,10,2,"default"], + "add2","nut_holder",144,16.57,57,"top",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], + "add2","nut_holder",144,16.57,9 ,"bottom",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], + "add2","nut_holder",144,114.4,57,"top",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], + "add2","nut_holder",144,114.4,9 ,"bottom",[0,270,0],["case",false,false,false],[8,16,5],["m3","sloped"],[false,10,2,"default"], + // clearence trim + "sub","rectangle",100.5,17,25,"top",[0,0,0],["sbc-case_z",true,true,true],[9,4,15],[[1,1,1,1]],[false,10,2,"default"], + // front wall support + "add1","round",23,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",71,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",101,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",-10,111.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + // fan side wall support + "add1","round",-31.5,3,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",-31.5,77,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + // rear wall support + "add1","round",91.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",66.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",42.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",16.25,-16.5,10,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + "add1","round",-1,-16.5,9,"top",[0,0,0],["case",true,true,true],[4,0,44],[0],[false,10,2,"default"], + // top stiffeners + "add1","rectangle",2,7,51,"top",[0,0,0],["case",true,true,true],[4,80,3],[[.25,.25,.25,.25]],[false,10,2,"default"], + "add1","rectangle",27,-16.5,51,"top",[0,0,0],["case",true,true,true],[4,130,3],[[.25,.25,.25,.25]],[false,10,2,"default"], + "add1","rectangle",52,-16.5,51,"top",[0,0,0],["case",true,true,true],[4,130,3],[[.25,.25,.25,.25]],[false,10,2,"default"], + "add1","rectangle",77,-16.5,51,"top",[0,0,0],["case",true,true,true],[4,130,3],[[.25,.25,.25,.25]],[false,10,2,"default"], + "add1","rectangle",104,7,51,"top",[0,0,0],["case",true,true,true],[4,80,3],[[.25,.25,.25,.25]],[false,10,2,"default"], + "model","h3_port_extender",63.5,117,4,"top",[90,0,180],["case",true,false,true],[0,0,0],["remote"],[true,15,5,"default"], + "model","h3_port_extender_holder",31,119,4,"top",[0,0,-90],["case",true,false,true],[0,0,0],[2.5,"both"],[false,10,2,"default"], + "platter","h3_port_extender_holder",-170,150,0,"top",[0,0,-90],["case",true,false,true],[0,0,0],[2.5,"remote"],[false,10,2,"default"], + "model","hk_pwr_button",18,113,55.25,"top",[0,0,180],["case",false,false,true],[0,0,0],[0],[true,10,2,"default"], + "model","dsub",18,-1,46,"top",[90,90,0],["case",false,false,false],[0,0,0],["db9","female"],[true,10,2,"default"], + "add2","access_port",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,true],[81,100,2],["portrait"],[true,10,2,"default"], + "model","access_cover",19,20,-0.01,"bottom",[0,0,0],["sbc",true,true,false],[81,100,2],["portrait"],[false,10,2,"default"], + "platter","access_cover",-110,30,0,"bottom",[0,0,0],["case",false,false,false],[81,100,2],["portrait"],[false,10,2,"default"]], ["h3_shell_drivebox2.5v", "sub","vent",-3.5,30,58,"top",[0,0,90],["case",false,false,false],[2,12,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening