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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user