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>
This commit is contained in:
parent
ca655012c5
commit
ff85423cee
@ -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)
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user