Better OCTN WIP

This commit is contained in:
Quinn
2022-01-05 22:04:09 -08:00
parent 77a8e0237c
commit 102294fcab
+29 -15
View File
@@ -185,24 +185,38 @@ module oct_hollow (slope, shaft_r, depth) {
}; };
//work in progress //work in progress
module octn_hollow (slope, shaft_r, depth, sharpness = 1) { module octn_hollow (slope, shaft_r, depth) {
shaft_r = shaft_r / sharpness; module octagon(slope, height) {
cardinal = shaft_r * (sharpness - 1) + depth * tan(slope); cardinal = height * tan(slope);
corner = shaft_r * (sharpness - 1) + depth * tan(slope / 1.3); corner = height * tan(slope / 1.2);
octagon = [ octagon = [
[cardinal,0], [cardinal,0],
[corner,corner], [corner,corner],
[0,cardinal], [0,cardinal],
[-corner,corner], [-corner,corner],
[-cardinal,0], [-cardinal,0],
[-corner,-corner], [-corner,-corner],
[0,-cardinal], [0,-cardinal],
[corner,-corner], [corner,-corner],
]; ];
polygon(points=octagon);
};
hull(){
translate([0,0,-0.1])
linear_extrude(0.01)
minkowski(){ minkowski(){
polygon(points=octagon); octagon(slope, depth);
circle(shaft_r); 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) { module octr_hollow (slope, shaft_r, depth) {