Improve round nobi

This commit is contained in:
Quinn
2021-12-29 16:41:19 -08:00
parent fe66e5a277
commit 856807ad70
+12 -11
View File
@@ -1,4 +1,4 @@
$fn = 30; $fn = 100;
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
@@ -58,11 +58,10 @@ module base (size = [37.16, 37.1, 2.8], r = 8) {
module ci_pivot (throw, shaft_r, depth) { module ci_pivot (throw, shaft_r, depth) {
h = 50; h = 50;
top_r = h * tan(throw) + shaft_r; top_r = h * tan(throw) + shaft_r;
translate([0,0,-depth])
cylinder(h = h, r1 = shaft_r, r2 = top_r); cylinder(h = h, r1 = shaft_r, r2 = top_r);
} }
module sq_pivot (throw, shaft_r, depth, sharpness = 1) { module sq_pivot (throw, shaft_r, depth, sharpness = 1, throw_extend = 0) {
h = 50; h = 50;
corner_r = shaft_r / sharpness; corner_r = shaft_r / sharpness;
corner_offset = corner_r * (sharpness - 1); corner_offset = corner_r * (sharpness - 1);
@@ -70,23 +69,23 @@ module sq_pivot (throw, shaft_r, depth, sharpness = 1) {
hull() { hull() {
translate([corner_offset,0,0]){ translate([corner_offset,0,0]){
rotate([0,throw,0]){ rotate([0,throw,0]){
cylinder(h = h, r = corner_r); ci_pivot(throw = throw_extend, shaft_r = corner_r, depth = depth);
} }
} }
translate([-corner_offset,0,0]){ translate([-corner_offset,0,0]){
rotate([0,-throw,0]){ rotate([0,-throw,0]){
cylinder(h = h, r = corner_r); ci_pivot(throw = throw_extend, shaft_r = corner_r, depth = depth);
} }
} }
rotate([0,0,90]){ rotate([0,0,90]){
translate([corner_offset,0,0]){ translate([corner_offset,0,0]){
rotate([0,throw,0]){ rotate([0,throw,0]){
cylinder(h = h, r = corner_r); ci_pivot(throw = throw_extend, shaft_r = corner_r, depth = depth);
} }
} }
translate([-corner_offset,0,0]){ translate([-corner_offset,0,0]){
rotate([0,-throw,0]){ rotate([0,-throw,0]){
cylinder(h = h, r = corner_r); ci_pivot(throw = throw_extend, shaft_r = corner_r, depth = depth);
} }
} }
} }
@@ -128,10 +127,10 @@ module roct_hollow (corner_r, slope) {
}; };
module nroct_hollow (corner_r, slope) { module nroct_hollow (corner_r, slope) {
diag_r = corner_r * 1.075; //diag_r = corner_r * 1.075;
union(){ union(){
rotate([0,0,45]) { rotate([0,0,45]) {
sq_pivot(slope - 4, diag_r, pivot_depth); sq_pivot(slope - 3, corner_r, pivot_depth, 1, 1);
} }
sq_pivot(slope - 4, corner_r, pivot_depth); sq_pivot(slope - 4, corner_r, pivot_depth);
} }
@@ -143,6 +142,7 @@ translate([0,0,-pivot_depth]){
} }
} }
rotate([0,0,0]) {
difference() { difference() {
difference() { difference() {
union() { union() {
@@ -153,8 +153,9 @@ union() {
//oct_hollow(collar_inner_corner_r, max_throw_circle); //oct_hollow(collar_inner_corner_r, max_throw_circle);
//soct_hollow(collar_inner_corner_r, max_throw_square); //soct_hollow(collar_inner_corner_r, max_throw_square);
//roct_hollow(collar_inner_corner_r, max_throw_square); //roct_hollow(collar_inner_corner_r, max_throw_square);
//nroct_hollow(collar_inner_corner_r, max_throw_square); nroct_hollow(collar_inner_corner_r, max_throw_square);
ci_pivot(max_throw_circle, collar_inner_corner_r, pivot_depth); //ci_pivot(max_throw_circle, collar_inner_corner_r, pivot_depth);
};
}; };
/* /*
translate([0, -13, -0.1]) { translate([0, -13, -0.1]) {