From 102294fcab4ccc03ec38dc9e4bbbcf2739ebbaaa Mon Sep 17 00:00:00 2001 From: Quinn Date: Wed, 5 Jan 2022 22:04:09 -0800 Subject: [PATCH] Better OCTN WIP --- JUQS-collar.scad | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/JUQS-collar.scad b/JUQS-collar.scad index 9838640..91bc4b2 100644 --- a/JUQS-collar.scad +++ b/JUQS-collar.scad @@ -185,24 +185,38 @@ module oct_hollow (slope, shaft_r, depth) { }; //work in progress -module octn_hollow (slope, shaft_r, depth, sharpness = 1) { - shaft_r = shaft_r / sharpness; - cardinal = shaft_r * (sharpness - 1) + depth * tan(slope); - corner = shaft_r * (sharpness - 1) + depth * tan(slope / 1.3); - octagon = [ - [cardinal,0], - [corner,corner], - [0,cardinal], - [-corner,corner], - [-cardinal,0], - [-corner,-corner], - [0,-cardinal], - [corner,-corner], - ]; +module octn_hollow (slope, shaft_r, depth) { + module octagon(slope, height) { + cardinal = height * tan(slope); + corner = height * tan(slope / 1.2); + octagon = [ + [cardinal,0], + [corner,corner], + [0,cardinal], + [-corner,corner], + [-cardinal,0], + [-corner,-corner], + [0,-cardinal], + [corner,-corner], + ]; + + polygon(points=octagon); + }; + + hull(){ + translate([0,0,-0.1]) + linear_extrude(0.01) minkowski(){ - polygon(points=octagon); + octagon(slope, depth); circle(shaft_r); } + translate([0,0,collar_h]) + linear_extrude(0.01) + minkowski(){ + octagon(slope, depth + collar_h); + circle(shaft_r); + } + } }; module octr_hollow (slope, shaft_r, depth) {