From 70b45fa18bd77eb1b78cdddf4208a86668f7ad69 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Wed, 1 May 2024 08:11:40 -0500 Subject: [PATCH] make a fancy mount for showing off sticks Signed-off-by: Brian S. Stephan --- src/extras/mount.scad | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/extras/mount.scad diff --git a/src/extras/mount.scad b/src/extras/mount.scad new file mode 100644 index 0000000..23bf123 --- /dev/null +++ b/src/extras/mount.scad @@ -0,0 +1,68 @@ +/* + * A stick mount that fits rectangular (non-extended) BSS sticks. + * + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * 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();