make a fancy mount for showing off sticks
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
This commit is contained in:
		
							parent
							
								
									e50629d372
								
							
						
					
					
						commit
						70b45fa18b
					
				
							
								
								
									
										68
									
								
								src/extras/mount.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								src/extras/mount.scad
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
			
		||||
/*
 | 
			
		||||
 * A stick mount that fits rectangular (non-extended) BSS sticks.
 | 
			
		||||
 *
 | 
			
		||||
 * SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
 | 
			
		||||
 * SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
include <../parameters.scad>
 | 
			
		||||
include <../components.scad>
 | 
			
		||||
 | 
			
		||||
holder_x = 114;
 | 
			
		||||
holder_y = 60;
 | 
			
		||||
holder_z = 45;
 | 
			
		||||
tall_holder_post = frame_y-10;
 | 
			
		||||
 | 
			
		||||
module stick_holder() {
 | 
			
		||||
	difference() {
 | 
			
		||||
		cube([holder_x, holder_y, holder_z], center=true);
 | 
			
		||||
		translate([14, 0, 132]) rotate([90, -40, 0]) frame_solid();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module mount() {
 | 
			
		||||
	difference() {
 | 
			
		||||
		union() {
 | 
			
		||||
			// lowest post
 | 
			
		||||
			translate([62, -frame_z-25, holder_z/2]) stick_holder();				// top = 45
 | 
			
		||||
 | 
			
		||||
			// middle post
 | 
			
		||||
			translate([0, 0, ((tall_holder_post)/2)/2])
 | 
			
		||||
				cube([holder_x, holder_y, (tall_holder_post)/2], center=true);
 | 
			
		||||
			translate([0, 0, ((tall_holder_post)/2)+holder_z/2]) stick_holder();			// top = 139
 | 
			
		||||
 | 
			
		||||
			// highest post
 | 
			
		||||
			translate([-62, frame_z+25, tall_holder_post/2])
 | 
			
		||||
				cube([holder_x, holder_y, tall_holder_post], center=true);
 | 
			
		||||
			translate([-62, frame_z+25, tall_holder_post+holder_z/2]) stick_holder();		// top = 233
 | 
			
		||||
 | 
			
		||||
			// post stabilizers
 | 
			
		||||
			translate([31, -41, holder_z/2]) cube([52, 23, holder_z], center=true);
 | 
			
		||||
			translate([-31, 41, ((tall_holder_post/2)+holder_z)/2])
 | 
			
		||||
				cube([52, 23, (tall_holder_post/2)+holder_z], center=true);
 | 
			
		||||
 | 
			
		||||
			// base
 | 
			
		||||
			hull() {
 | 
			
		||||
				translate([110, 103, -2.5]) cylinder(r=15, h=5, center=true);
 | 
			
		||||
				translate([110, -103, -2.5]) cylinder(r=15, h=5, center=true);
 | 
			
		||||
				translate([-110, 103, -2.5]) cylinder(r=15, h=5, center=true);
 | 
			
		||||
				translate([-110, -103, -2.5]) cylinder(r=15, h=5, center=true);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// placard
 | 
			
		||||
			translate([0, -112, 15]) cube([frame_y, 5, 30], center=true);
 | 
			
		||||
 | 
			
		||||
			/* // test */
 | 
			
		||||
			/* translate([62+14, -frame_z-25, 132+holder_z/2]) rotate([90, -40, 0]) frame_solid(); */
 | 
			
		||||
			/* translate([14, 0, 132+(frame_y/2)-20+holder_z/2]) rotate([90, -40, 0]) frame_solid(); */
 | 
			
		||||
			/* translate([-62+14, frame_z+25, 132+tall_holder_post+holder_z/2]) rotate([90, -40, 0]) frame_solid(); */
 | 
			
		||||
		}
 | 
			
		||||
		// text on the placard
 | 
			
		||||
		translate([-frame_z*3.3/2.5, -holder_x, 15]) rotate([90, 0, 0])
 | 
			
		||||
			linear_extrude(1) text("Buildable Stick System", font="Noto Sans");
 | 
			
		||||
		translate([-frame_z*3.3/2.5, -holder_x, 4]) rotate([90, 0, 0])
 | 
			
		||||
			linear_extrude(1) text("v4 by bss", font="Noto Sans", size=6);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
mount();
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user