Remove all internal bevels

This commit is contained in:
Quinn
2021-12-29 15:57:26 -08:00
parent 5bc0f00304
commit 2f42dab684
+16 -78
View File
@@ -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) { module ci_pivot (collar_h = 8.7, throw, shaft_r, depth) {
bottom_r = (pivot_depth + bev) * tan(throw) + shaft_r; h = 50;
top_r = (collar_h - bev * 2) * tan(throw) + bottom_r; top_r = h * tan(throw) + shaft_r;
bevel_r = bev * tan(45) + top_r; translate([0,0,-depth])
union() { cylinder(h = h, r1 = shaft_r, r2 = top_r);
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 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_r = shaft_r / sharpness;
corner_offset = corner_r * (sharpness - 1); corner_offset = corner_r * (sharpness - 1);
translate([0,0,-depth]) { translate([0,0,-depth]) {
hull() { hull() {
translate([corner_offset,0,0]){ translate([corner_offset,0,0]){
rotate([0,throw,0]){ rotate([0,throw,0]){
cylinder(h = height, r = corner_r); cylinder(h = h, r = corner_r);
} }
} }
translate([-corner_offset,0,0]){ translate([-corner_offset,0,0]){
rotate([0,-throw,0]){ rotate([0,-throw,0]){
cylinder(h = height, r = corner_r); cylinder(h = h, r = corner_r);
} }
} }
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 = height, r = corner_r); cylinder(h = h, r = corner_r);
} }
} }
translate([-corner_offset,0,0]){ translate([-corner_offset,0,0]){
rotate([0,-throw,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) { module sq_hollow (h, r, corner_r, slope) {
union(){ rotate([0,0,45]) {
rotate([0,0,45]) { sq_pivot(slope, corner_r, pivot_depth);
sq_pivot(slope, corner_r, pivot_depth);
sq_pivot_bevel(slope, corner_r, pivot_depth);
}
} }
}; };
@@ -142,12 +107,6 @@ module oct_hollow (h, r, corner_r, slope) {
} }
sq_pivot(slope, corner_r, pivot_depth); 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) { 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); 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) { 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); 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) { 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); 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]){ translate([0,0,-pivot_depth]){
rotate([0,max_throw_circle,0]){ rotate([0,0,0]){
cylinder(h = 100, r = collar_inner_corner_r); cylinder(h = 100, r = collar_inner_corner_r);
} }
} }
@@ -210,14 +149,13 @@ union() {
base(); base();
collar(false); 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); //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); //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); //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); //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]) { translate([0, -13, -0.1]) {
font = "Open Sans:style=Bold"; font = "Open Sans:style=Bold";