fixed regression in standoff supports and more model cahnges to support auto mask generation
This commit is contained in:
@@ -191,6 +191,7 @@ vu7_pcb_width = 172.90;
|
||||
vu7_pcb_height = 124.27;
|
||||
vu7_width = vu7_pcb_width + vu7_case_x_offset;
|
||||
vu7_height = vu7_pcb_height + 9.75;
|
||||
vu_rotation = [15,0,0];
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
@@ -200,21 +201,21 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
// right tabs for vu5 attachment
|
||||
if(case_style == "vu5") {
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-39,
|
||||
case_z+80]) rotate([90-vu_rotation[0],180,0])
|
||||
slab_r([((width-vesa)/2)+4.5,10,sidethick], [.1,.1,3,3]);
|
||||
case_z+80]) rotate([75,180,0])
|
||||
slab_r([((width-vesa)/2)+4.5,10,sidethick], [.01,.01,3,3]);
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-26,
|
||||
case_z+31.5]) rotate([90-vu_rotation[0],180,0])
|
||||
slab_r([((width-vesa)/2)+4.5,10,sidethick], [.1,.1,3,3]);
|
||||
case_z+31.5]) rotate([75,180,0])
|
||||
slab_r([((width-vesa)/2)+4.5,10,sidethick], [.01,.01,3,3]);
|
||||
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-41.85-adj,
|
||||
case_z+79.25]) rotate([90-vu_rotation[0],180,0])
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1.5,depth-40.85-adj,
|
||||
case_z+79.5]) rotate([75,180,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
cube([2*sidethick,10+(2*adj),sidethick]);
|
||||
}
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-28.85-adj,
|
||||
case_z+30.75]) rotate([90-vu_rotation[0],180,0])
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1.5,depth-27.85-adj,
|
||||
case_z+31]) rotate([75,180,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
@@ -224,21 +225,21 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
// right tabs for vu7 attachment
|
||||
if(case_style == "vu7") {
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1,depth-49.40,
|
||||
case_z+vu7_height-15]) rotate([90-vu_rotation[0],180,0])
|
||||
slab_r([((width-vesa)/2)+12,10,sidethick], [.1,.1,3,3]);
|
||||
case_z+vu7_height-15]) rotate([75,180,0])
|
||||
slab_r([((width-vesa)/2)+12,10,sidethick], [.01,.01,3,3]);
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1,depth-23.60,
|
||||
case_z+22.5]) rotate([90-vu_rotation[0],180,0])
|
||||
slab_r([((width-vesa)/2)+12,10,sidethick], [.1,.1,3,3]);
|
||||
case_z+22.5]) rotate([75,180,0])
|
||||
slab_r([((width-vesa)/2)+12,10,sidethick], [.01,.01,3,3]);
|
||||
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-52.25,
|
||||
case_z+vu7_height-15.75]) rotate([90-vu_rotation[0],180,0])
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1.5,depth-51.25,
|
||||
case_z+vu7_height-15.5]) rotate([75,180,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
cube([2*sidethick,10+(2*adj),sidethick]);
|
||||
}
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick,depth-26.5,
|
||||
case_z+21.8]) rotate([90-vu_rotation[0],180,0])
|
||||
translate([(width/2)+((width-vesa)/2)+(vesa/2)-sidethick-1.5,depth-25.5,
|
||||
case_z+21.8]) rotate([75,180,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
@@ -255,20 +256,20 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
// left tabs for vu5 attachment
|
||||
if(case_style == "vu5") {
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-36.4,
|
||||
case_z+70]) rotate([90+vu_rotation[0],0,0])
|
||||
slab_r([((width-vesa)/2)+4,10, sidethick], [.1,.1,3,3]);
|
||||
case_z+70]) rotate([105,0,0])
|
||||
slab_r([((width-vesa)/2)+4,10, sidethick], [.01,.01,3,3]);
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-23.5,
|
||||
case_z+22]) rotate([90+vu_rotation[0],0,0])
|
||||
slab_r([((width-vesa)/2)+4,10,sidethick], [.1,.1,3,3]);
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-39.35+adj,
|
||||
case_z+69.25]) rotate([90+vu_rotation[0],0,0])
|
||||
case_z+22]) rotate([105,0,0])
|
||||
slab_r([((width-vesa)/2)+4,10,sidethick], [.01,.01,3,3]);
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-38.35+adj,
|
||||
case_z+69.5]) rotate([105,0,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
cube([2*sidethick,10+(2*adj),2*sidethick]);
|
||||
}
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-26.4+adj,
|
||||
case_z+21.25]) rotate([90+vu_rotation[0],0,0])
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-25.4+adj,
|
||||
case_z+21.5]) rotate([105,0,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
@@ -278,20 +279,20 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
// left tabs for vu7 attachment
|
||||
if(case_style == "vu7") {
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-4.25-adj,depth-46.85,
|
||||
case_z+vu7_height-24.5]) rotate([90+vu_rotation[0],0,0])
|
||||
slab_r([((width-vesa)/2),10, sidethick], [.1,.1,3,3]);
|
||||
case_z+vu7_height-24.5]) rotate([105,0,0])
|
||||
slab_r([((width-vesa)/2),10, sidethick], [.01,.01,3,3]);
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-4.25-adj,depth-21,
|
||||
case_z+13]) rotate([90+vu_rotation[0],0,0])
|
||||
slab_r([((width-vesa)/2),10,sidethick], [.1,.1,3,3]);
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-4-adj,depth-49.75+adj,
|
||||
case_z+vu7_height-25.25]) rotate([90+vu_rotation[0],0,0])
|
||||
case_z+13]) rotate([105,0,0])
|
||||
slab_r([((width-vesa)/2),10,sidethick], [.01,.01,3,3]);
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-48.75+adj,
|
||||
case_z+vu7_height-25]) rotate([105,0,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
cube([2*sidethick,10+(2*adj),2*sidethick]);
|
||||
}
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-4-adj,depth-23.75+adj,
|
||||
case_z+12.25]) rotate([90+vu_rotation[0],0,0])
|
||||
translate([-((width-vesa)/2)+(width/2)-(vesa/2)-3.5-adj,depth-22.65+adj,
|
||||
case_z+12.5]) rotate([105,0,0])
|
||||
difference() {
|
||||
cube([sidethick,10,sidethick]);
|
||||
translate([0,-adj,sidethick]) rotate([0,45,0])
|
||||
@@ -321,9 +322,9 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
top=[0,0,0,0],bottom=[3,3,3,3], $fn=90);
|
||||
// tab holes
|
||||
translate([width/2+(vesa/2)-3,depth-37,
|
||||
case_z+75]) rotate([90-vu_rotation[0],180,0]) cylinder(d=3, h=sidethick+1);
|
||||
case_z+75]) rotate([75,180,0]) cylinder(d=3, h=sidethick+1);
|
||||
translate([width/2+(vesa/2)-3,depth-24,
|
||||
case_z+26.75]) rotate([90-vu_rotation[0],180,0]) cylinder(d=3, h=sidethick+1);
|
||||
case_z+26.75]) rotate([75,180,0]) cylinder(d=3, h=sidethick+1);
|
||||
}
|
||||
// vu7 shape and back cut
|
||||
if(case_style == "vu7") {
|
||||
@@ -341,9 +342,9 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
top=[0,0,0,0],bottom=[3,3,3,3], $fn=90);
|
||||
// tab holes
|
||||
translate([width/2+(vesa/2)-10,depth-47,case_z+vu7_height-19.75])
|
||||
rotate([90-vu_rotation[0],180,0]) cylinder(d=3, h=sidethick+4);
|
||||
rotate([75,180,0]) cylinder(d=3, h=sidethick+4);
|
||||
translate([width/2+(vesa/2)-10,depth-21.25,case_z+18])
|
||||
rotate([90-vu_rotation[0],180,0]) cylinder(d=3, h=sidethick+4);
|
||||
rotate([75,180,0]) cylinder(d=3, h=sidethick+4);
|
||||
}
|
||||
// bottom attachment holes
|
||||
translate([width-wallthick-gap-adj-5,wallthick+gap+10,
|
||||
@@ -369,9 +370,9 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
top=[0,0,0,0],bottom=[3,3,3,3], $fn=90);
|
||||
// tab holes
|
||||
translate([width/2-(vesa/2)-3,depth-36.75,case_z+75])
|
||||
rotate([90+vu_rotation[0],0,0]) cylinder(d=3, h=sidethick+1);
|
||||
rotate([105,0,0]) cylinder(d=3, h=sidethick+1);
|
||||
translate([width/2-(vesa/2)-3,depth-24.25,case_z+26.75])
|
||||
rotate([90+vu_rotation[0],0,0]) cylinder(d=3, h=sidethick+1);
|
||||
rotate([75,0,0]) cylinder(d=3, h=sidethick+1);
|
||||
}
|
||||
// vu7 shape and back cut
|
||||
if(case_style == "vu7") {
|
||||
@@ -389,9 +390,9 @@ vu7_height = vu7_pcb_height + 9.75;
|
||||
top=[0,0,0,0],bottom=[3,3,3,3], $fn=90);
|
||||
// tab holes
|
||||
translate([width/2-(vesa/2)-10,depth-48,case_z+vu7_height-19.75])
|
||||
rotate([90+vu_rotation[0],0,0]) cylinder(d=3, h=sidethick+4);
|
||||
rotate([105,0,0]) cylinder(d=3, h=sidethick+4);
|
||||
translate([width/2-(vesa/2)-10,depth-22.25,case_z+18])
|
||||
rotate([90+vu_rotation[0],0,0]) cylinder(d=3, h=sidethick+4);
|
||||
rotate([105,0,0]) cylinder(d=3, h=sidethick+4);
|
||||
}
|
||||
// bottom attachment holes
|
||||
translate([-sidethick-adj-6,wallthick+gap+10,((bottom_height+floorthick)/2)-1])
|
||||
|
||||
@@ -20,20 +20,28 @@
|
||||
DESCRIPTION: enclosed keyhole
|
||||
TODO: none
|
||||
|
||||
USAGE: keyhole(keysize, mask = false)
|
||||
USAGE: keyhole(keysize, mask)
|
||||
|
||||
keysize[0] = size_x
|
||||
keysize[1] = size_y
|
||||
keysize[2] = size_z
|
||||
mask = true, false enable mask
|
||||
mask[0] = true enables component mask
|
||||
mask[1] = mask length
|
||||
mask[2] = mask setback
|
||||
mask[3] = mstyle "default"
|
||||
*/
|
||||
|
||||
module keyhole(keysize, mask = false) {
|
||||
module keyhole(keysize, mask) {
|
||||
|
||||
enablemask = mask[0];
|
||||
mlength = mask[1];
|
||||
msetback = mask[2];
|
||||
mstyle = mask[3];
|
||||
adj=.01;
|
||||
$fn = 90;
|
||||
|
||||
if(mask == true) {
|
||||
echo(keysize, mask);
|
||||
if(enablemask == true && mstyle == "default") {
|
||||
echo("THIS IS IT");
|
||||
union() {
|
||||
translate([0, 0, -adj]) cylinder(h=keysize[3]+2*adj, d=keysize[0]);
|
||||
translate([-keysize[1]/2, 0, -adj]) cube([keysize[1], keysize[2]+keysize[0]/2, keysize[3]+2*adj]);
|
||||
@@ -41,6 +49,7 @@ module keyhole(keysize, mask = false) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo("THIS IS NOT IT");
|
||||
difference() {
|
||||
union() {
|
||||
translate([0, 0, -adj])
|
||||
|
||||
@@ -1139,7 +1139,7 @@ module boom_speaker(mask) {
|
||||
$fn = 90;
|
||||
|
||||
if(enablemask == true) {
|
||||
#translate([0,0,-msetback]) cylinder(d=27, h=mlength);
|
||||
translate([0,0,-msetback]) cylinder(d=27, h=mlength);
|
||||
}
|
||||
if(enablemask == false) {
|
||||
difference() {
|
||||
|
||||
@@ -180,7 +180,7 @@ module add(type, loc_x, loc_y, loc_z, face, rotation, size, data, mask) {
|
||||
translate([loc_x,loc_y,loc_z]) rotate(rotation) hk_pwr_button(mask);
|
||||
}
|
||||
if(type == "keyhole") {
|
||||
translate([loc_x,loc_y,loc_z]) rotate(rotation) keyhole(data[0]);
|
||||
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]);
|
||||
|
||||
@@ -419,6 +419,7 @@ module case_bottom(case_design) {
|
||||
if(class == "pcbhole" && id == pcb_id &&
|
||||
(pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) {
|
||||
if (pcbhole_pos == "left_rear" && bottom_rear_left_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_left_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_left_adjust,
|
||||
bottom_standoff[2],
|
||||
@@ -426,7 +427,7 @@ module case_bottom(case_design) {
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_rear_left_support,
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
@@ -434,6 +435,7 @@ module case_bottom(case_design) {
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "left_front" && bottom_front_left_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_front_left_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_left_adjust,
|
||||
bottom_standoff[2],
|
||||
@@ -441,7 +443,7 @@ module case_bottom(case_design) {
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_front_left_support,
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
@@ -449,6 +451,7 @@ module case_bottom(case_design) {
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_rear" && bottom_rear_right_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_rear_right_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_rear_right_adjust,
|
||||
bottom_standoff[2],
|
||||
@@ -456,7 +459,7 @@ module case_bottom(case_design) {
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_rear_right_support,
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
@@ -464,6 +467,7 @@ module case_bottom(case_design) {
|
||||
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_front" && bottom_front_right_enable == true) {
|
||||
bottom_support = bottom_sidewall_support == true ? bottom_front_right_support : "none";
|
||||
normal_standoff = [bottom_standoff[0],
|
||||
bottom_height-pcb_z+pcb_loc_z+bottom_front_right_adjust,
|
||||
bottom_standoff[2],
|
||||
@@ -471,7 +475,7 @@ module case_bottom(case_design) {
|
||||
bottom_standoff[4],
|
||||
bottom_standoff[5],
|
||||
bottom_standoff[6],
|
||||
bottom_front_right_support,
|
||||
bottom_support,
|
||||
bottom_standoff[8],
|
||||
bottom_standoff[9],
|
||||
bottom_standoff[10],
|
||||
|
||||
@@ -283,16 +283,20 @@ module case_top(case_design) {
|
||||
pcbhole_size = sbc_data[s[0]][i+9][0];
|
||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear" && top_rear_left_enable == true && top_standoff[5] != "blind") {
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear" && top_rear_left_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+1]) cylinder(d=6.5, h=top_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front" && top_front_left_enable == true && top_standoff[5] != "blind") {
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front" && top_front_left_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+1]) cylinder(d=6.5, h=top_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear" && top_rear_right_enable == true && top_standoff[5] != "blind") {
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear" && top_rear_right_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+1]) cylinder(d=6.5, h=top_height);
|
||||
}
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front" && top_front_right_enable == true && top_standoff[5] != "blind") {
|
||||
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front" && top_front_right_enable == true &&
|
||||
top_standoff[5] != "blind") {
|
||||
translate([pcbhole_x,pcbhole_y,top_height+1]) cylinder(d=6.5, h=top_height);
|
||||
}
|
||||
}
|
||||
@@ -358,10 +362,10 @@ module case_top(case_design) {
|
||||
pcbhole_z = sbc_data[s[0]][i+6];
|
||||
pcbhole_size = sbc_data[s[0]][i+9][0];
|
||||
pcbhole_pos = sbc_data[s[0]][i+10][4];
|
||||
|
||||
if(class == "pcbhole" && id == pcb_id &&
|
||||
(pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) {
|
||||
if (pcbhole_pos == "left_rear" && top_rear_left_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_rear_left_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
top_height+pcb_loc_z+top_rear_left_adjust,
|
||||
top_standoff[2],
|
||||
@@ -369,7 +373,7 @@ module case_top(case_design) {
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_rear_left_support,
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
@@ -377,6 +381,7 @@ module case_top(case_design) {
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "left_front" && top_front_left_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_front_left_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
top_height+pcb_loc_z+top_front_left_adjust,
|
||||
top_standoff[2],
|
||||
@@ -384,7 +389,7 @@ module case_top(case_design) {
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_front_left_support,
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
@@ -392,6 +397,7 @@ module case_top(case_design) {
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_rear" && top_rear_right_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_rear_right_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
top_height+pcb_loc_z+top_rear_right_adjust,
|
||||
top_standoff[2],
|
||||
@@ -399,7 +405,7 @@ module case_top(case_design) {
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_rear_right_support,
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
@@ -407,6 +413,7 @@ module case_top(case_design) {
|
||||
translate([pcbhole_x,pcbhole_y,case_z]) standoff(normal_standoff,[false,10,2,"default"]);
|
||||
}
|
||||
if (pcbhole_pos == "right_front" && top_front_right_enable == true) {
|
||||
top_support = top_sidewall_support == true ? top_front_right_support : "none";
|
||||
normal_standoff = [top_standoff[0],
|
||||
top_height+pcb_loc_z+top_front_right_adjust,
|
||||
top_standoff[2],
|
||||
@@ -414,7 +421,7 @@ module case_top(case_design) {
|
||||
top_standoff[4],
|
||||
top_standoff[5],
|
||||
top_standoff[6],
|
||||
top_front_right_support,
|
||||
top_support,
|
||||
top_standoff[8],
|
||||
top_standoff[9],
|
||||
top_standoff[10],
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -299,30 +299,30 @@ bottom_standoff = [bottom_standoff_diameter,
|
||||
bottom_standoff_insert,
|
||||
bottom_standoff_insert_dia,
|
||||
bottom_standoff_insert_height];
|
||||
ext_top_standoff = [top_standoff_diameter,
|
||||
ext_top_standoff = [ext_top_standoff_diameter,
|
||||
18,
|
||||
top_standoff_hole_size,
|
||||
top_standoff_support_size,
|
||||
top_standoff_support_height,
|
||||
top_standoff_type,
|
||||
top_standoff_pillar,
|
||||
top_rear_left_support,
|
||||
top_standoff_reverse,
|
||||
top_standoff_insert,
|
||||
top_standoff_insert_dia,
|
||||
top_standoff_insert_height];
|
||||
ext_bottom_standoff = [bottom_standoff_diameter,
|
||||
ext_top_standoff_hole_size,
|
||||
ext_top_standoff_support_size,
|
||||
ext_top_standoff_support_height,
|
||||
ext_top_standoff_type,
|
||||
ext_top_standoff_pillar,
|
||||
ext_top_rear_left_support,
|
||||
ext_top_standoff_reverse,
|
||||
ext_top_standoff_insert,
|
||||
ext_top_standoff_insert_dia,
|
||||
ext_top_standoff_insert_height];
|
||||
ext_bottom_standoff = [ext_bottom_standoff_diameter,
|
||||
6,
|
||||
bottom_standoff_hole_size,
|
||||
bottom_standoff_support_size,
|
||||
bottom_standoff_support_height,
|
||||
bottom_standoff_type,
|
||||
bottom_standoff_pillar,
|
||||
bottom_rear_left_support,
|
||||
bottom_standoff_reverse,
|
||||
bottom_standoff_insert,
|
||||
bottom_standoff_insert_dia,
|
||||
bottom_standoff_insert_height];
|
||||
ext_bottom_standoff_hole_size,
|
||||
ext_bottom_standoff_support_size,
|
||||
ext_bottom_standoff_support_height,
|
||||
ext_bottom_standoff_type,
|
||||
ext_bottom_standoff_pillar,
|
||||
ext_bottom_rear_left_support,
|
||||
ext_bottom_standoff_reverse,
|
||||
ext_bottom_standoff_insert,
|
||||
ext_bottom_standoff_insert_dia,
|
||||
ext_bottom_standoff_insert_height];
|
||||
|
||||
adj = .01;
|
||||
$fn=90;
|
||||
@@ -569,39 +569,39 @@ if (view == "model") {
|
||||
}
|
||||
if(case_style == "vu5") {
|
||||
color("darkgrey",.5) translate([width+((127.5-width)/2)-6.5-wallthick-gap,
|
||||
depth-1,case_z+15.5]) rotate([-vu_rotation[0],0,180])
|
||||
depth-1,case_z+15.5]) rotate([-15,0,180])
|
||||
import(file = "stl/Vu5a_Case.stl");
|
||||
// right speaker and bracket
|
||||
color("darkgrey",.5)
|
||||
translate([((127.5-75)/2)+(width/2)-wallthick-gap+30.5,depth-1,
|
||||
case_z+15]) rotate([90-vu_rotation[0],0,180])
|
||||
case_z+15]) rotate([75,0,180])
|
||||
import(file = "stl/Vu5_Speaker_Bracket_Left.stl");
|
||||
color("darkgrey",.5) translate([((127.5-75)/2)+(width/2)-wallthick-gap+85,depth+15,
|
||||
case_z+12.5]) rotate([-vu_rotation[0],0,180]) hk_speaker();
|
||||
case_z+12.5]) rotate([-15,0,180]) hk_speaker();
|
||||
// left speaker and bracket
|
||||
color("darkgrey",.5) translate([-((127.5-75)/2)+(width/2)-wallthick-gap-30.5,depth-1,
|
||||
case_z+15]) rotate([90-vu_rotation[0],0,180])
|
||||
case_z+15]) rotate([75,0,180])
|
||||
import(file = "stl/Vu5_Speaker_Bracket_Right.stl");
|
||||
color("darkgrey",.5) translate([-((127.5-75)/2)+(width/2)-wallthick-gap-40.5,depth+15,
|
||||
case_z+12.5]) rotate([-vu_rotation[0],0,180]) hk_speaker();
|
||||
case_z+12.5]) rotate([-15,0,180]) hk_speaker();
|
||||
}
|
||||
if(case_style == "vu7") {
|
||||
color("darkgrey",.5) translate([width+((192.90-width)/2)-wallthick-gap-20,
|
||||
depth-1,case_z+15.5]) rotate([-vu_rotation[0],0,180])
|
||||
depth-1,case_z+15.5]) rotate([-15,0,180])
|
||||
import(file = "stl/Vu7a_Case.stl");
|
||||
// right speaker and bracket
|
||||
color("darkgrey",.5)
|
||||
translate([((192.90-100)/2)+(width/2)-wallthick-gap+57.5,depth-4,
|
||||
case_z+27]) rotate([90-vu_rotation[0],0,180])
|
||||
case_z+27]) rotate([75,0,180])
|
||||
import(file = "stl/Vu7_Speaker_Bracket_Left.stl");
|
||||
color("darkgrey",.5) translate([((192.90-100)/2)+(width/2)-wallthick-gap+97,depth+11.5,
|
||||
case_z+27]) rotate([-vu_rotation[0],0,180]) hk_speaker();
|
||||
case_z+27]) rotate([-15,0,180]) hk_speaker();
|
||||
// left speaker and bracket
|
||||
color("darkgrey",.5) translate([-((192.90-100)/2)+(width/2)-wallthick-gap-58,depth-4,
|
||||
case_z+27]) rotate([90-vu_rotation[0],0,180])
|
||||
case_z+27]) rotate([75,0,180])
|
||||
import(file = "stl/Vu7_Speaker_Bracket_Right.stl");
|
||||
color("darkgrey",.5) translate([-((192.90-100)/2)+(width/2)-wallthick-gap-53.5,depth+11.5,
|
||||
case_z+27]) rotate([-vu_rotation[0],0,180]) hk_speaker();
|
||||
case_z+27]) rotate([-15,0,180]) hk_speaker();
|
||||
}
|
||||
}
|
||||
if(case_design == "round" || case_design == "hex") {
|
||||
|
||||
@@ -171,10 +171,6 @@ accessory_data = [
|
||||
"add2","boom_speaker_holder",108.25,54.6,17.5,"bottom",[90,0,180],["case",false,true,false],[0,0,0],["friction",0],[false,10,2,"default"],
|
||||
"add2","boom_grill",16.75,59,17.5,"bottom",[90,0,180],["case",false,true,false],[0,0,0],["dome"],[false,10,2,"default"],
|
||||
"add2","boom_grill",108.25,59,17.5,"bottom",[90,0,180],["case",false,true,false],[0,0,0],["dome"],[false,10,2,"default"],
|
||||
// "sub","round",-2,11,15.75,"top",[0,-90,0],["case",false,false,false],[5,0,8],[0],[false,10,2,"default"],
|
||||
// "sub","slot",-9,37.5,17,"top",[90,0,90],["case",false,false,false],[7,14,6],[0],[false,10,2,"default"],
|
||||
// "sub","round",16.75,60,17.5,"bottom",[90,0,0],["case",false,true,false],[24,0,5],[0],[false,10,2,"default"],
|
||||
// "sub","round",108.25,60,17.5,"bottom",[90,0,0],["case",false,true,false],[24,0,5],[0],[false,10,2,"default"],
|
||||
"model","boom_speaker",16.75,56,17.5,"bottom",[270,0,0],["case",false,true,false],[0,0,0],[false,"left"],[false,10,2,"default"],
|
||||
"model","boom_speaker",108.25,56,17.5,"bottom",[270,0,0],["case",false,true,false],[0,0,0],[false,"right"],[false,10,2,"default"],
|
||||
"model","hk_boom",32,0,16,"bottom",[0,0,90],["case",false,false,false],[0,0,0],[false,"none"],[true,10,2,"pcb"],
|
||||
@@ -182,55 +178,53 @@ accessory_data = [
|
||||
"platter","boom_vring",-50,0,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[0],[false,10,2,"default"]],
|
||||
|
||||
["c4_round",
|
||||
"suball","round",10.5,-2,14.5,"top",[90,0,0],["case",false,false,false],[11,0,18],[0],[false,10,2,"default"], // sub power plug hole
|
||||
"suball","rectangle",35,-28,4,"top",[0,0,0],["case",false,false,false],[21,12,15.5],[[1,1,1,1]],[false,10,2,"default"]], // sub hdmi opening
|
||||
"suball","round",10.5,-2,14.5,"top",[90,0,0],["case",false,false,false],[11,0,18],[0],[false,10,2,"default"],
|
||||
"suball","rectangle",35,-28,4,"top",[0,0,0],["case",false,false,false],[21,12,15.5],[[1,1,1,1]],[false,10,2,"default"]],
|
||||
|
||||
["c4_hex",
|
||||
"suball","round",10.5,-2,14.5,"top",[90,0,0],["case",false,false,false],[11,0,18],[0],[false,10,2,"default"], // sub power plug hole
|
||||
"suball","rectangle",35,-26,4,"top",[0,0,0],["case",false,false,false],[21,10,15.5],[[1,1,1,1]],[false,10,2,"default"]], // sub hdmi opening
|
||||
"suball","round",10.5,-2,14.5,"top",[90,0,0],["case",false,false,false],[11,0,18],[0],[false,10,2,"default"],
|
||||
"suball","rectangle",35,-26,4,"top",[0,0,0],["case",false,false,false],[21,10,15.5],[[1,1,1,1]],[false,10,2,"default"]],
|
||||
|
||||
// Odroid-XU4
|
||||
["xu4_keyhole",
|
||||
"add1","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[7,3.2,6,2]],[false,10,2,"default"], // keyhole
|
||||
"sub","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[7,3.2,6,2]],[false,10,2,"default"]], // keyhole
|
||||
|
||||
"add1","keyhole",40,30,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[[7,3.2,6,2]],[true,10,2,"default"]],
|
||||
|
||||
// Odroid-HC4
|
||||
["hc4_tray_drivebox2.5",
|
||||
"add1","hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"], // model hc4 holder
|
||||
"add2","hd_holder",10,-24,2,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"], // add hd holder
|
||||
"sub","hd_holes",10,-24,-.01,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"], // sub hd bottom holes
|
||||
"sub","round",92,-10,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"sub","round",92,66.6,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"sub","round",92,-10,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"sub","round",92,66.6,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"suball","fan",37,-.1,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],[0],[false,10,2,"default"], // sub fan
|
||||
"suball","vent",72,87,27,"bottom",[0,0,0],["case",false,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"], // sub vent
|
||||
"model","hc4_oled",20,81,2,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"], // model hc4 oled
|
||||
"model","hd25",10,76,2,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"], // model 2.5 hd
|
||||
"model","hd25",10,76,20,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"], // model 2.5 hd
|
||||
"model","fan_cover",37,-4,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],[1],[false,10,2,"default"], // model fan
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],[1],[false,10,2,"default"]], // model fan
|
||||
"add1","hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"],
|
||||
"add2","hd_holder",10,-24,0,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"],
|
||||
"sub","hd_holes",10,-24,-.01,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"],
|
||||
"sub","round",92,-10,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","round",92,66.6,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","round",92,-10,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","round",92,66.6,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"suball","fan",37,-.1,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],[0],[false,10,2,"default"],
|
||||
"suball","vent",72,87,27,"bottom",[0,0,0],["case",false,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"],
|
||||
"model","hc4_oled",20,81,2,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"],
|
||||
"model","hd25",10,76,2,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"],
|
||||
"model","hd25",10,76,20,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"],
|
||||
"model","fan_cover",37,-4,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],[1],[false,10,2,"default"],
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],[1],[false,10,2,"default"]],
|
||||
|
||||
["hc4_shell_drivebox2.5",
|
||||
"add2","hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"], // model hc4 holder
|
||||
"add2","hd_holder",10,-21,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"], // add hd holder
|
||||
"sub","hd_holes",10,-21,-.01,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"], // sub hd bottom holes
|
||||
"sub","round",92,-5,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"sub","round",92,69.6,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"sub","round",92,-5,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screw hole
|
||||
"sub","round",92,69.6,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"], // sub hd side screws hole
|
||||
"sub","vent",71.85,88,30,"top",[0,0,0],["case",false,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"], // sub vent
|
||||
"suball","fan",39,-.1,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],[0],[false,10,2,"default"], // sub fan
|
||||
"sub","vent",-3.5,35,34,"top",[0,0,90],["case",false,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening
|
||||
"sub","vent",92,35,34,"top",[0,0,90],["case",true,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening
|
||||
"sub","vent",-3.5,35,9,"bottom",[0,0,90],["case",false,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening
|
||||
"sub","vent",92,35,9,"bottom",[0,0,90],["case",true,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"], // vent opening
|
||||
"model","hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"], // model hc4 oled
|
||||
"model","hd25",10,79,2,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"], // model 2.5 hd
|
||||
"model","hd25",10,79,20,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"], // model 2.5 hd
|
||||
"model","fan_cover",39,-4,7,"top",[90,0,0],["case",true,false,false],[40,0,3],[1],[false,10,2,"default"], // model fan
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],[1],[false,10,2,"default"]], // model fan
|
||||
"add2","hc4_oled_holder",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,2],[0],[true,10,2,"default"],
|
||||
"add2","hd_holder",10,-21,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"],
|
||||
"sub","hd_holes",10,-21,-.01,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,3,"portrait"],[false,10,2,"default"],
|
||||
"sub","round",92,-5,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","round",92,69.6,5,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","round",92,-5,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","round",92,69.6,23,"bottom",[0,90,0],["case",true,true,false],[3,0,3],[0],[false,10,2,"default"],
|
||||
"sub","vent",71.85,88,30,"top",[0,0,0],["case",false,true,false],[2,13,4],[1,4,"vertical",1],[false,10,2,"default"],
|
||||
"suball","fan",39,-.1,7,"bottom",[90,0,0],["case",true,false,false],[40,0,3],[0],[false,10,2,"default"],
|
||||
"sub","vent",-3.5,35,34,"top",[0,0,90],["case",false,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"sub","vent",92,35,34,"top",[0,0,90],["case",true,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"sub","vent",-3.5,35,9,"bottom",[0,0,90],["case",false,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"sub","vent",92,35,9,"bottom",[0,0,90],["case",true,false,false],[2,10,4],[1,17,"vertical",1],[false,10,2,"default"],
|
||||
"model","hc4_oled",20,82,1.99,"bottom",[0,0,0],["case",false,true,false],[0,0,0],[0],[false,10,2,"default"],
|
||||
"model","hd25",10,79,2,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"],
|
||||
"model","hd25",10,79,20,"bottom",[0,0,-90],["case",true,true,false],[0,0,0],[15],[false,10,2,"default"],
|
||||
"model","fan_cover",39,-4,7,"top",[90,0,0],["case",true,false,false],[40,0,3],[1],[false,10,2,"default"],
|
||||
"platter","fan_cover",-50,50,0,"bottom",[0,0,0],["case",false,false,false],[40,0,3],[1],[false,10,2,"default"]],
|
||||
|
||||
["hc4_shell_drivebox2.5v",
|
||||
"add2","hd_vertright",45.6,-21,1.99,"bottom",[0,0,0],["case",true,true,false],[0,0,0],[2.5,"portrait"],[false,10,2,"default"], // sub hd bottom holes
|
||||
|
||||
Reference in New Issue
Block a user