Compare commits

...

2 Commits

Author SHA1 Message Date
61a67109ce
fix alignment of a bottom overhang panel in the demo
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-25 17:02:03 -05:00
ff85423cee
DRY the frame wall slashes and parameterize them a bit
this should allow me to reuse them in another design I've got cooking

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-25 17:01:21 -05:00
5 changed files with 34 additions and 31 deletions

View File

@ -26,7 +26,8 @@ color("black") rotate([180, 0, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front
color("black") rotate([180, 0, 0]) rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_box_frame_piece();
color("black") rotate([0, 180, 0]) interconnect_frame_piece();
color("#C12E1F") translate([-panel_x/2-25, 0, -5-frame_z/2-75]) left_or_right_overhang_panel();
color("#C12E1F") mirror([0, 1, 0]) translate([panel_x/2+25, 0, -5-frame_z/2-75]) left_or_right_overhang_panel();
color("#C12E1F") mirror([0, 1, 0]) translate([panel_x/2+25, 0, -5-frame_z/2-75]) rotate([0, 0, 180])
left_or_right_overhang_panel();
color("black") translate([0, 0, 3+frame_z/2+150]) dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate();
color("black") translate([-195, 25, 3+frame_z/2+150]) lsx_nobi_dustwasher();

View File

@ -339,6 +339,22 @@ module frame() {
}
}
/* MISC SHAPES --- for cutting out decorative panels, frame wall windows, etc. */
// for cutting out slashes from the frame outer wall
module slash_cutout() {
polyhedron([
[slash_inner_displacement/2, -frame_wall/2, -(frame_z-panel_z*3)/2],
[(slash_inner_displacement/2+slash_width), -frame_wall/2, -(frame_z-panel_z*3)/2],
[(slash_inner_displacement/2+slash_width), frame_wall/2, -(frame_z-panel_z*3)/2],
[slash_inner_displacement/2, frame_wall/2, -(frame_z-panel_z*3)/2],
[-(slash_inner_displacement/2+slash_width), -frame_wall/2, (frame_z-panel_z*3)/2],
[-slash_inner_displacement/2, -frame_wall/2, (frame_z-panel_z*3)/2],
[-slash_inner_displacement/2, frame_wall/2, (frame_z-panel_z*3)/2],
[-(slash_inner_displacement/2+slash_width), frame_wall/2, (frame_z-panel_z*3)/2]
], [[0, 1, 2, 3], [4, 5, 1, 0], [7, 6, 5, 4], [5, 6, 2, 1], [6, 7, 3, 2], [7, 4, 0, 3]]);
}
/* LAYOUTS */
// Directional Arc (both hands)

View File

@ -8,23 +8,14 @@ include <components.scad>
use <front-or-back.scad>
use <front-or-back-inner-wall.scad>
module backslash() {
polyhedron([[5, -frame_y/2, -(frame_z-panel_z*3)/2], [20, -frame_y/2, -(frame_z-panel_z*3)/2],
[20, -frame_y/2+frame_wall, -(frame_z-panel_z*3)/2], [5, -frame_y/2+frame_wall, -(frame_z-panel_z*3)/2],
[-20, -frame_y/2, (frame_z-panel_z*3)/2], [-5, -frame_y/2, (frame_z-panel_z*3)/2],
[-5, -frame_y/2+frame_wall, (frame_z-panel_z*3)/2], [-20, -frame_y/2+frame_wall, (frame_z-panel_z*3)/2]],
[[0, 1, 2, 3], [4, 5, 1, 0], [7, 6, 5, 4], [5, 6, 2, 1], [6, 7, 3, 2], [7, 4, 0, 3]]
);
}
module backslashes() {
translate([-60, 0, 0]) backslash();
translate([-40, 0, 0]) backslash();
translate([-20, 0, 0]) backslash();
backslash();
translate([20, 0, 0]) backslash();
translate([40, 0, 0]) backslash();
translate([60, 0, 0]) backslash();
translate([-60, -(frame_y-frame_wall)/2, 0]) slash_cutout();
translate([-40, -(frame_y-frame_wall)/2, 0]) slash_cutout();
translate([-20, -(frame_y-frame_wall)/2, 0]) slash_cutout();
translate([0, -(frame_y-frame_wall)/2, 0]) slash_cutout();
translate([20, -(frame_y-frame_wall)/2, 0]) slash_cutout();
translate([40, -(frame_y-frame_wall)/2, 0]) slash_cutout();
translate([60, -(frame_y-frame_wall)/2, 0]) slash_cutout();
}
module backslashes_windowed_front_or_back_box_frame_piece() {

View File

@ -8,21 +8,12 @@ include <components.scad>
use <side.scad>
use <side-inner-wall.scad>
module backslash() {
polyhedron([[-frame_x/2, -5, -(frame_z-panel_z*3)/2], [-frame_x/2, -20, -(frame_z-panel_z*3)/2],
[-frame_x/2+frame_wall, -20, -(frame_z-panel_z*3)/2], [-frame_x/2+frame_wall, -5, -(frame_z-panel_z*3)/2],
[-frame_x/2, 20, (frame_z-panel_z*3)/2], [-frame_x/2, 5, (frame_z-panel_z*3)/2],
[-frame_x/2+frame_wall, 5, (frame_z-panel_z*3)/2], [-frame_x/2+frame_wall, 20, (frame_z-panel_z*3)/2]],
[[0, 1, 2, 3], [4, 5, 1, 0], [7, 6, 5, 4], [5, 6, 2, 1], [6, 7, 3, 2], [7, 4, 0, 3]]
);
}
module backslashes() {
translate([0, -40, 0]) backslash();
translate([0, -20, 0]) backslash();
backslash();
translate([0, 20, 0]) backslash();
translate([0, 40, 0]) backslash();
translate([-(frame_x-frame_wall)/2, -40, 0]) rotate([0, 0, -90]) slash_cutout();
translate([-(frame_x-frame_wall)/2, -20, 0]) rotate([0, 0, -90]) slash_cutout();
translate([-(frame_x-frame_wall)/2, 0, 0]) rotate([0, 0, -90]) slash_cutout();
translate([-(frame_x-frame_wall)/2, 20, 0]) rotate([0, 0, -90]) slash_cutout();
translate([-(frame_x-frame_wall)/2, 40, 0]) rotate([0, 0, -90]) slash_cutout();
}
module backslashes_windowed_side_box_frame_piece() {

View File

@ -89,3 +89,7 @@ neutrik_d_radius = 12 + hole_tolerance;
// additional button radius for decorative panels, etc.
decorative_radius_scale = 1.75;
jumbo_decorative_radius_scale = 2;
// decorative slash parameters
slash_inner_displacement = 10;
slash_width = 15;