From 2f42dab6845e69d513ebc1695b2d069ab565fec9 Mon Sep 17 00:00:00 2001 From: Quinn Date: Wed, 29 Dec 2021 15:57:26 -0800 Subject: [PATCH] Remove all internal bevels --- JUQS-collar.scad | 94 +++++++++--------------------------------------- 1 file changed, 16 insertions(+), 78 deletions(-) diff --git a/JUQS-collar.scad b/JUQS-collar.scad index 25addce..34bf7fc 100644 --- a/JUQS-collar.scad +++ b/JUQS-collar.scad @@ -55,50 +55,38 @@ module base (size = [37.16, 37.1, 2.8], r = 8) { }; }; -module ci_pivot (collar_h = 8.7, throw, shaft_r, depth, x_offset = 0, bev = 0.5) { - bottom_r = (pivot_depth + bev) * tan(throw) + shaft_r; - top_r = (collar_h - bev * 2) * tan(throw) + bottom_r; - bevel_r = bev * tan(45) + top_r; - union() { - translate([0,0,-pivot_depth]) { - cylinder(h = pivot_depth + bev, r = bottom_r); - } - translate([0,0,bev]) { - cylinder(h = collar_h - bev * 2, r1 = bottom_r, r2 = top_r); - } - translate([0,0,collar_h - bev]) { - cylinder(h = bev, r1 = top_r, r2 = bevel_r); - } - translate([0,0,collar_h]) { - cylinder(h = 100, r1 = bevel_r); - } - } +module ci_pivot (collar_h = 8.7, throw, shaft_r, depth) { + h = 50; + top_r = h * tan(throw) + shaft_r; + translate([0,0,-depth]) + cylinder(h = h, r1 = shaft_r, r2 = top_r); } -module sq_pivot (throw, shaft_r, depth, sharpness = 1, height = 50) { +module sq_pivot (throw, shaft_r, depth, sharpness = 1) { + h = 50; corner_r = shaft_r / sharpness; corner_offset = corner_r * (sharpness - 1); translate([0,0,-depth]) { hull() { translate([corner_offset,0,0]){ rotate([0,throw,0]){ - cylinder(h = height, r = corner_r); + cylinder(h = h, r = corner_r); } } translate([-corner_offset,0,0]){ rotate([0,-throw,0]){ - cylinder(h = height, r = corner_r); + cylinder(h = h, r = corner_r); } } rotate([0,0,90]){ translate([corner_offset,0,0]){ rotate([0,throw,0]){ - cylinder(h = height, r = corner_r); + cylinder(h = h, r = corner_r); } } translate([-corner_offset,0,0]){ rotate([0,-throw,0]){ - cylinder(h = height, r = corner_r); + cylinder(h = h, r = corner_r); } } } @@ -106,32 +94,9 @@ module sq_pivot (throw, shaft_r, depth, sharpness = 1, height = 50) { } } -module sq_pivot_bevel (throw, shaft_r, depth, sharpness = 1, offset = 0.03, height = 50) { - dist = tan(throw)*depth; - corner_r = shaft_r / sharpness; - corner_offset = dist+(offset * throw) + corner_r * (sharpness - 1); - hull() { - translate([corner_offset,0,0]){ - cylinder(h = height, r = corner_r); - } - translate([-corner_offset,0,0]){ - cylinder(h = height, r = corner_r); - } - translate([0,corner_offset,0]){ - cylinder(h = height, r = corner_r); - } - translate([0,-corner_offset,0]){ - cylinder(h = height, r = corner_r); - } - }; -} - module sq_hollow (h, r, corner_r, slope) { - union(){ - rotate([0,0,45]) { - sq_pivot(slope, corner_r, pivot_depth); - sq_pivot_bevel(slope, corner_r, pivot_depth); - } + rotate([0,0,45]) { + sq_pivot(slope, corner_r, pivot_depth); } }; @@ -142,12 +107,6 @@ module oct_hollow (h, r, corner_r, slope) { } sq_pivot(slope, corner_r, pivot_depth); } - hull(){ - rotate([0,0,45]) { - sq_pivot_bevel(slope, corner_r, pivot_depth); - } - sq_pivot_bevel(slope, corner_r, pivot_depth); - } }; module soct_hollow (h, r, corner_r, slope) { @@ -157,14 +116,6 @@ module soct_hollow (h, r, corner_r, slope) { } sq_pivot(slope - 4, corner_r, pivot_depth, 2.5); } - /* - hull(){ - rotate([0,0,45]) { - sq_pivot_bevel(slope - 2, corner_r, pivot_depth, 3); - } - sq_pivot_bevel(slope - 4, corner_r, pivot_depth, 3); - } - */ }; module roct_hollow (h, r, corner_r, slope) { @@ -174,12 +125,6 @@ module roct_hollow (h, r, corner_r, slope) { } sq_pivot(slope - 4, corner_r, pivot_depth); } - union(){ - rotate([0,0,45]) { - sq_pivot_bevel(slope - 4, corner_r, pivot_depth); - } - sq_pivot_bevel(slope - 4, corner_r, pivot_depth); - } }; module nroct_hollow (h, r, corner_r, slope) { @@ -190,16 +135,10 @@ module nroct_hollow (h, r, corner_r, slope) { } sq_pivot(slope - 4, corner_r, pivot_depth); } - union(){ - rotate([0,0,45]) { - sq_pivot_bevel(slope - 4, diag_r, pivot_depth); - } - sq_pivot_bevel(slope - 4, corner_r, pivot_depth); - } }; translate([0,0,-pivot_depth]){ - rotate([0,max_throw_circle,0]){ + rotate([0,0,0]){ cylinder(h = 100, r = collar_inner_corner_r); } } @@ -210,14 +149,13 @@ union() { base(); collar(false); }; -//sq_hollow(collar_h, collar_inner_r, collar_inner_corner_r, max_throw_square); +sq_hollow(collar_h, collar_inner_r, collar_inner_corner_r, max_throw_square); //oct_hollow(collar_h, collar_inner_r, collar_inner_corner_r, max_throw_circle); //soct_hollow(collar_h, collar_inner_r, collar_inner_corner_r, max_throw_square); //roct_hollow(collar_h, collar_inner_r, collar_inner_corner_r, max_throw_square); //nroct_hollow(collar_h, collar_inner_r, collar_inner_corner_r, max_throw_square); - ci_pivot(collar_h, max_throw_circle, collar_inner_corner_r, pivot_depth); +//ci_pivot(collar_h, max_throw_circle, collar_inner_corner_r, pivot_depth); }; - /* translate([0, -13, -0.1]) { font = "Open Sans:style=Bold";