3dprint: v3
This commit is contained in:
@@ -38,21 +38,21 @@ module button_text(label, width, height, thickness, size=4) {
|
|||||||
halign="center", valign="center", size=size);
|
halign="center", valign="center", size=size);
|
||||||
}
|
}
|
||||||
|
|
||||||
buttons = ["HDG"];
|
//buttons = ["HDG"];
|
||||||
buttons_small = [""];
|
//buttons_small = [""];
|
||||||
|
|
||||||
//buttons = ["HDG", "LNAV", "ALT", "VNAV",
|
buttons = ["HDG", "LNAV", "ALT", "VNAV",
|
||||||
// "VS", "FLC", "SPD", "APR",
|
"VS", "FLC", "SPD", "APR",
|
||||||
// "LVL", "FD", "AP", "A/T", "N1"];
|
"LVL", "FD", "AP", "A/T", "N1"];
|
||||||
//buttons_small = ["", "", "c/o"];
|
buttons_small = ["", "", "c/o"];
|
||||||
|
|
||||||
button_width = 15;
|
button_width = 15;
|
||||||
button_height = 8;
|
button_height = 8;
|
||||||
button_small_width = 8;
|
button_small_width = 8;
|
||||||
button_small_height = 8;
|
button_small_height = 8;
|
||||||
|
|
||||||
render_text = true;
|
render_text = false;
|
||||||
render_button = false;
|
render_button = true;
|
||||||
|
|
||||||
row_length = 4;
|
row_length = 4;
|
||||||
|
|
||||||
@@ -74,22 +74,22 @@ for (i = [0:len(buttons)-1]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//for (i = [0:len(buttons_small)-1]) {
|
for (i = [0:len(buttons_small)-1]) {
|
||||||
// translate([(i%row_length)*(button_small_width+print_spacing),
|
translate([(i%row_length)*(button_small_width+print_spacing),
|
||||||
// floor(i/row_length)*(button_small_height+print_spacing)+80, 0]) {
|
floor(i/row_length)*(button_small_height+print_spacing)+80, 0]) {
|
||||||
// if (render_text && render_button) {
|
if (render_text && render_button) {
|
||||||
// color("black")
|
color("black")
|
||||||
// button(buttons_small[i], button_small_width, button_small_height,
|
button(buttons_small[i], button_small_width, button_small_height,
|
||||||
// size=3);
|
size=3);
|
||||||
// color("white")
|
color("white")
|
||||||
// button_text(buttons_small[i], button_small_width,
|
button_text(buttons_small[i], button_small_width,
|
||||||
// button_small_height, text_depth, size=3);
|
button_small_height, text_depth, size=3);
|
||||||
// } else if (render_button) {
|
} else if (render_button) {
|
||||||
// button(buttons_small[i], button_small_width, button_small_height, size=3);
|
button(buttons_small[i], button_small_width, button_small_height, size=3);
|
||||||
// } else if (render_text) {
|
} else if (render_text) {
|
||||||
// button_text(buttons_small[i], button_small_width, button_small_height,
|
button_text(buttons_small[i], button_small_width, button_small_height,
|
||||||
// text_depth, size=3);
|
text_depth, size=3);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
@@ -44,9 +44,9 @@ module cutout_cyl(c_x, c_y, diam) {
|
|||||||
module screw_point(c_x, c_y, length = 5) {
|
module screw_point(c_x, c_y, length = 5) {
|
||||||
translate([c_x + panel_border, panel_height - panel_border - c_y, -length])
|
translate([c_x + panel_border, panel_height - panel_border - c_y, -length])
|
||||||
difference() {
|
difference() {
|
||||||
cylinder(r=5.2/2+1, h=length);
|
cylinder(r=5.6/2+1, h=length);
|
||||||
translate([0, 0, -epsilon])
|
translate([0, 0, -epsilon])
|
||||||
cylinder(r=(5.2+wiggle_room)/2, $fn=6, h=2+epsilon);
|
cylinder(r=(5.6+wiggle_room)/2, $fn=6, h=2+epsilon+wiggle_room);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,8 +98,8 @@ module panel() {
|
|||||||
}
|
}
|
||||||
screw_point(2*2.54, 1.5*2.54);
|
screw_point(2*2.54, 1.5*2.54);
|
||||||
screw_point(61*2.54, 2.5*2.54);
|
screw_point(61*2.54, 2.5*2.54);
|
||||||
screw_point(2*2.54, 37.5*2.54, length=12);
|
screw_point(2*2.54, 37.5*2.54, length=14);
|
||||||
screw_point(61*2.54, 37.5*2.54, length=12);
|
screw_point(61*2.54, 37.5*2.54, length=14);
|
||||||
}
|
}
|
||||||
translate([0, 0, -cutout_depth+panel_thick-epsilon]) union() {
|
translate([0, 0, -cutout_depth+panel_thick-epsilon]) union() {
|
||||||
// HDG led
|
// HDG led
|
||||||
@@ -141,9 +141,9 @@ module panel() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
translate([0, (panel_border-bottom_border)/2, 0]) rotate([0, 90, 0]) screw_block();
|
translate([0, (panel_border-bottom_border)/2, 0]) rotate([0, 90, 0]) screw_block();
|
||||||
translate([0, 100+panel_border+top_border/2-2.5, 0]) rotate([0, 90, 0]) screw_block();
|
translate([0, 100+panel_border+top_border/2-3, 0]) rotate([0, 90, 0]) screw_block();
|
||||||
translate([panel_width, (panel_border-bottom_border)/2, -5]) rotate([0, -90, 0]) screw_block();
|
translate([panel_width, (panel_border-bottom_border)/2, -6]) rotate([0, -90, 0]) screw_block();
|
||||||
translate([panel_width, 100+panel_border+top_border/2-2.5, -5]) rotate([0, -90, 0]) screw_block();
|
translate([panel_width, 100+panel_border+top_border/2-3, -6]) rotate([0, -90, 0]) screw_block();
|
||||||
|
|
||||||
//color("green") translate([panel_border, panel_border, -12]) cube([160, 100, 1]); // dummy PCB
|
//color("green") translate([panel_border, panel_border, -12]) cube([160, 100, 1]); // dummy PCB
|
||||||
translate([0, -bottom_border, 0]) cube([panel_width, bottom_border, panel_thick]);
|
translate([0, -bottom_border, 0]) cube([panel_width, bottom_border, panel_thick]);
|
||||||
@@ -155,8 +155,8 @@ module panel() {
|
|||||||
|
|
||||||
module screw_block() {
|
module screw_block() {
|
||||||
difference() {
|
difference() {
|
||||||
cube([5, 5, 12]);
|
cube([6, 6, 12]);
|
||||||
translate([2.5, 2.5, -epsilon]) cylinder(r=1+wiggle_room/2, h=10+epsilon);
|
translate([3, 3, -epsilon]) cylinder(r=1.25+wiggle_room/2, h=10+epsilon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,20 +179,20 @@ module side(rightside = false) {
|
|||||||
rotate([panel_angle, 0, 0]) {
|
rotate([panel_angle, 0, 0]) {
|
||||||
translate([0, (panel_border-bottom_border)/2, 0]) rotate([0, 90, 0])
|
translate([0, (panel_border-bottom_border)/2, 0]) rotate([0, 90, 0])
|
||||||
if (rightside) {
|
if (rightside) {
|
||||||
translate([2.5, 2.5, -epsilon-panel_thick])
|
translate([3, 3, -epsilon-panel_thick])
|
||||||
cylinder(r1=side_screw_shaft_diam/2, r2=side_screw_head_diam/2, h=side_screw_head_height);
|
cylinder(r1=side_screw_shaft_diam/2, r2=side_screw_head_diam/2, h=side_screw_head_height);
|
||||||
} else {
|
} else {
|
||||||
translate([2.5, 2.5, 2*epsilon-side_screw_head_height])
|
translate([3, 3, 2*epsilon-side_screw_head_height])
|
||||||
cylinder(r2=side_screw_shaft_diam/2, r1=side_screw_head_diam/2, h=side_screw_head_height);
|
cylinder(r2=side_screw_shaft_diam/2, r1=side_screw_head_diam/2, h=side_screw_head_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
translate([0, 100+panel_border+top_border/2-2.5, 0]) rotate([0, 90, 0])
|
translate([0, 100+panel_border+top_border/2-3, 0]) rotate([0, 90, 0])
|
||||||
if (rightside) {
|
if (rightside) {
|
||||||
translate([2.5, 2.5, -epsilon-panel_thick])
|
translate([3, 3, -epsilon-panel_thick])
|
||||||
cylinder(r1=side_screw_shaft_diam/2, r2=side_screw_head_diam/2, h=side_screw_head_height);
|
cylinder(r1=side_screw_shaft_diam/2, r2=side_screw_head_diam/2, h=side_screw_head_height);
|
||||||
} else {
|
} else {
|
||||||
translate([2.5, 2.5, 2*epsilon-side_screw_head_height])
|
translate([3, 3, 2*epsilon-side_screw_head_height])
|
||||||
cylinder(r2=side_screw_shaft_diam/2, r1=side_screw_head_diam/2, h=side_screw_head_height);
|
cylinder(r2=side_screw_shaft_diam/2, r1=side_screw_head_diam/2, h=side_screw_head_height);
|
||||||
}
|
}
|
||||||
if (rightside) {
|
if (rightside) {
|
||||||
@@ -206,8 +206,8 @@ module side(rightside = false) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render_panel = true;
|
render_panel = false;
|
||||||
render_case = false;
|
render_case = true;
|
||||||
|
|
||||||
mount_screw_diam = 4+wiggle_room;
|
mount_screw_diam = 4+wiggle_room;
|
||||||
mount_screw_head_diam = 6.7+wiggle_room;
|
mount_screw_head_diam = 6.7+wiggle_room;
|
||||||
|
|||||||
Reference in New Issue
Block a user