/* * 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();