From 310aab47a378639644dd13dc09943e7990e1e4e6 Mon Sep 17 00:00:00 2001 From: n0m1s Date: Tue, 7 Feb 2023 07:48:07 -0800 Subject: [PATCH] added radio holder start --- radio_holder.scad | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 radio_holder.scad diff --git a/radio_holder.scad b/radio_holder.scad new file mode 100644 index 0000000..b12e286 --- /dev/null +++ b/radio_holder.scad @@ -0,0 +1,73 @@ +max_x = 18.95; +max_y = 10.9; +max_z = 3.6; + +btm_x = 12.3; +btm_z = 1.6; + +rbt_x = 1; +rbt_h = 1.75; + +mid_x = 7; +mid_y = 7.2; + +grp_x = 4.5; +grp_y = 11.75; +grp_z = 1.5; + +tri_y = 2.56; +tri_z = 1; +tri_d = 5; +tri_a = 30; + +union() { + // main part + difference() { + // overall shape + cube([max_x, max_y, max_z]); + + // bottom clearance + translate([(max_x-btm_x)/2,-1,-1]) + cube([btm_x,max_y+2,btm_z+1]); + + // rabbets + translate([-1,-1,rbt_h]) + cube([rbt_x+1,max_y+2,max_z-rbt_h+1]); + translate([max_x-rbt_x,-1,rbt_h]) + cube([rbt_x+1,max_y+2,max_z-rbt_h+1]); + + translate([(max_x-mid_x)/2,-1,-1]) + cube([mid_x,mid_y+1,max_z+2]); + } + + // grip + translate([ + (max_x-grp_x)/2, + (-grp_y+mid_y), + btm_z + ]) + union() { + // main grip section + difference() { + cube([grp_x, grp_y+1, grp_z]); + + translate([0,0,grp_z/2]) + rotate([0,0,45]) + cube([1,5,grp_z+1], center = true); + + translate([grp_x,0,grp_z/2]) + rotate([0,0,45]) + cube([5,1,grp_z+1], center = true); + } + + // triangular catch + translate([0,tri_d,-tri_z]) + difference() { + cube([grp_x,tri_y,tri_z]); + + translate([-1,tri_y,tri_z]) + rotate([tri_a-180,0,0]) + cube([grp_x+2,tri_y,tri_z]); + } + } +} \ No newline at end of file