WIP of polygon-based OCTN

This commit is contained in:
Quinn
2022-01-05 21:49:57 -08:00
parent 002da7f84e
commit 77a8e0237c
+22 -7
View File
@@ -1,4 +1,4 @@
$fn = 360; $fn = 32;
collar_r = 34.7/2; collar_r = 34.7/2;
collar_h = 8.7; // short collar: 8.7, full: 18 collar_h = 8.7; // short collar: 8.7, full: 18
@@ -26,7 +26,7 @@ rotate([0,0,0]){
* OCTNR corner test (seems to also match OCTN, nice!) * OCTNR corner test (seems to also match OCTN, nice!)
* shaft(shaft_r, pivot_depth, [cardinal_throw+1.95,0,45]); * shaft(shaft_r, pivot_depth, [cardinal_throw+1.95,0,45]);
*/ */
juqs(model = OCTNR, ver = VERSION); juqs(model = OCTN, ver = VERSION);
} }
module juqs(model, ver) { module juqs(model, ver) {
@@ -64,6 +64,7 @@ module juqs(model, ver) {
}; };
}; };
}; };
//oct_hollow(cardinal_throw, shaft_r, pivot_depth);
}; };
module shaft(r, depth, rotation) { module shaft(r, depth, rotation) {
@@ -174,19 +175,33 @@ module oct_hollow (slope, shaft_r, depth) {
sq_pivot(slope, shaft_r, depth); sq_pivot(slope, shaft_r, depth);
sq_pivot(slope, shaft_r, depth); sq_pivot(slope, shaft_r, depth);
} }
/*
hull() { hull() {
rotate([0,0,45]) rotate([0,0,45])
sq_bevel(slope, shaft_r, depth); sq_bevel(slope, shaft_r, depth);
sq_bevel(slope, shaft_r, depth); sq_bevel(slope, shaft_r, depth);
} }
*/
}; };
//work in progress //work in progress
module octn_hollow (slope, shaft_r, depth) { module octn_hollow (slope, shaft_r, depth, sharpness = 1) {
hull(){ shaft_r = shaft_r / sharpness;
rotate([0,0,45]) cardinal = shaft_r * (sharpness - 1) + depth * tan(slope);
sq_pivot(slope + 3, shaft_r, depth, 3); corner = shaft_r * (sharpness - 1) + depth * tan(slope / 1.3);
sq_pivot(slope, shaft_r, depth, 3); octagon = [
[cardinal,0],
[corner,corner],
[0,cardinal],
[-corner,corner],
[-cardinal,0],
[-corner,-corner],
[0,-cardinal],
[corner,-corner],
];
minkowski(){
polygon(points=octagon);
circle(shaft_r);
} }
}; };