Fix SQRN corners, add step collar and S+SN throws

This commit is contained in:
Quinn
2022-01-19 08:33:44 -08:00
parent 1c7c5ef99b
commit 063e9a0d25
8 changed files with 76 additions and 27 deletions
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

+74 -25
View File
@@ -6,17 +6,17 @@ $fn = 100;
collar_r = 34.7/2; collar_r = 34.7/2;
//short_collar = 8.7; //short_collar = 8.7;
short_collar = [8.7, [1.6, 0.5]]; short_collar = [8.7, [1.6, 0.5], false];
//full_collar = 18; //full_collar = 18;
full_collar = [18, [4.6, 0.5]]; full_collar = [18, [4.6, 0.5], false];
stepped_collar = [8.7, [2.6, 0.5], true];
shaft_r = (9/2)/cos(180/$fn); shaft_r = (9/2)/cos(180/$fn);
//shaft_r = 9/2; //shaft_r = 9/2;
throw_types = [ throw_types = [
[9.45, "B"], //as close a match as possible to original Bandit design, originally achieved in "1E" revision, and cleaned up for "1G" [9.45, "B"], //as close a match as possible to original Bandit design, originally achieved in "1E" revision, and cleaned up for "1G"
[9.616, "9.616"], [9.45 / sqrt(2), "S"],
[9.75, "9.75"], [9.45 / sqrt(2 / 1.4), "SN"]
[10, "10"],
]; ];
grommet_dist = 6.8; //distance the grommet sits below this component grommet_dist = 6.8; //distance the grommet sits below this component
@@ -24,31 +24,60 @@ grommet_depth = 6.4; //thickness of grommet (when compressed)
pivot_fix = 1.7; // amount to lower hollow pivot, to prevent hitting low pivot_fix = 1.7; // amount to lower hollow pivot, to prevent hitting low
pivot_depth = grommet_dist + grommet_depth / 2 + pivot_fix; pivot_depth = grommet_dist + grommet_depth / 2 + pivot_fix;
VERSION = "V2.0"; VERSION = "V2.2";
CIR = "CIR"; CIR = "CIR";
SQR = "SQR"; SQR = "SQR";
OCT = "OCT"; OCT = "OCT";
OCTR = "OCTR"; OCTR = "OCTR";
OCTN = "OCTN"; OCTN = "OCTN";
OCTNR = "OCTNR"; SQRN = "SQRN";
juqs(model = CIR, ver = VERSION, collar = short_collar, throw_type= throw_types[1]); juqs(model = OCTN, ver = VERSION, collar = stepped_collar, throw_type= throw_types[2]);
//shaft(shaft_r, pivot_depth - pivot_fix, [0,cardinal_throw * sqrt(2) + 0.4, 45]); /*
//shaft(shaft_r, pivot_depth - pivot_fix, [0,cardinal_throw + 0.4, 0]); translate([40,0,0])
juqs(model = SQR, ver = VERSION, collar = short_collar, throw_type= throw_types[0]);
translate([80,0,0])
juqs(model = OCT, ver = VERSION, collar = short_collar, throw_type= throw_types[0]);
translate([0,-50,0]){
juqs(model = OCTR, ver = VERSION, collar = short_collar, throw_type= throw_types[0]);
translate([40,0,0])
juqs(model = OCTN, ver = VERSION, collar = short_collar, throw_type= throw_types[0]);
translate([80,0,0])
juqs(model = SQRN, ver = VERSION, collar = short_collar, throw_type= throw_types[0]);
}
translate([0,-120,0]){
juqs(model = CIR, ver = VERSION, collar = full_collar, throw_type= throw_types[0]);
translate([40,0,0])
juqs(model = SQR, ver = VERSION, collar = full_collar, throw_type= throw_types[0]);
translate([80,0,0])
juqs(model = OCT, ver = VERSION, collar = full_collar, throw_type= throw_types[0]);
translate([0,-50,0]){
juqs(model = OCTR, ver = VERSION, collar = full_collar, throw_type= throw_types[0]);
translate([40,0,0])
juqs(model = OCTN, ver = VERSION, collar = full_collar, throw_type= throw_types[0]);
translate([80,0,0])
juqs(model = SQRN, ver = VERSION, collar = full_collar, throw_type= throw_types[0]);
}
}
*/
module juqs(model, ver, collar = short_collar, throw_type = throw_types[0]) { module juqs(model, ver, collar = short_collar, throw_type = throw_types[0]) {
throw = throw_type[0]; throw = throw_type[0];
collar_h = collar[0]; collar_h = collar[0];
bevel = collar[1]; bevel = collar[1];
stepped = collar[2];
step_h = stepped ? 5.8 : 0;
rotate([0,0,0]) { rotate([0,0,0]) {
difference() { difference() {
difference() { difference() {
union() { union() {
base(); base();
collar(collar_h); collar(collar_h);
if(stepped)
collar(collar_h + step_h, 23.5 / 2);
}; };
bevels(collar_h, bevel[0], bevel[1]) { bevels(collar_h + step_h, bevel[0], bevel[1]) {
translate([0,0,-pivot_depth]){ translate([0,0,-pivot_depth]){
if(model == CIR) if(model == CIR)
cir_gate(throw, shaft_r); cir_gate(throw, shaft_r);
@@ -60,18 +89,18 @@ module juqs(model, ver, collar = short_collar, throw_type = throw_types[0]) {
octr_gate(throw, shaft_r); octr_gate(throw, shaft_r);
if(model == OCTN) if(model == OCTN)
shape_gate(octn_poly, throw, shaft_r, 0.5); shape_gate(octn_poly, throw, shaft_r, 0.5);
if(model == OCTNR) if(model == SQRN)
octnr_gate(throw, shaft_r); sqrn_gate(throw, shaft_r);
} }
} }
}; };
font = "Open Sans:style=Bold"; font = "Open Sans:style=Bold";
fontsize = 3.5; fontsize = 3.75;
translate([0,0,-0.1]) { translate([0,0,-0.1]) {
mirror([1,0,0]) { mirror([1,0,0]) {
linear_extrude(0.7){ linear_extrude(0.7){
translate([0, -11.75, 0]) translate([0, -11.75, 0])
text(str("JUQS ",model), font=font, size=fontsize, halign = "center"); text(str("JUQS ",model), font=font, size=fontsize, halign = "center");
translate([0, -16.75, 0]) translate([0, -16.75, 0])
text(str(throw_type[1]," ",ver), font=font, size=fontsize, halign = "center"); text(str(throw_type[1]," ",ver), font=font, size=fontsize, halign = "center");
} }
@@ -106,20 +135,40 @@ module shaft(r, depth, rotation) {
} }
}; };
module base (size = [37.18, 37.12, 2.8], r = 8) { module base (size = [37.18, 37.12, 2.8], r = 8, b=0.30) {
w = size.x; w = size.x;
l = size.y; l = size.y;
h = size.z; h = size.z;
corner_offset = [w/2 - r, l/2 - r]; corner_offset = [w/2 - r, l/2 - r];
hull() { hull() {
translate([corner_offset.x, corner_offset.y, 0]) translate([corner_offset.x, corner_offset.y, 0]){
cylinder(h=h, r=r); cylinder(b, r - b, r);
translate([-corner_offset.x, corner_offset.y, 0]) translate([0,0,b])
cylinder(h=h, r=r); cylinder(h=h - b * 2, r=r);
translate([corner_offset.x, -corner_offset.y, 0]) translate([0,0,h - b])
cylinder(h=h, r=r); cylinder(b, r, r - b);
translate([-corner_offset.x, -corner_offset.y, 0]) }
cylinder(h=h, r=r); translate([-corner_offset.x, corner_offset.y, 0]){
cylinder(b, r - b, r);
translate([0,0,b])
cylinder(h=h - b * 2, r=r);
translate([0,0,h - b])
cylinder(b, r, r - b);
}
translate([corner_offset.x, -corner_offset.y, 0]){
cylinder(b, r - b, r);
translate([0,0,b])
cylinder(h=h - b * 2, r=r);
translate([0,0,h - b])
cylinder(b, r, r - b);
}
translate([-corner_offset.x, -corner_offset.y, 0]){
cylinder(b, r - b, r);
translate([0,0,b])
cylinder(h=h - b * 2, r=r);
translate([0,0,h - b])
cylinder(b, r, r - b);
}
}; };
}; };
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -31,10 +31,10 @@ module octr_gate (throw, shaft_r) {
pivot_square(throw, shaft_r); pivot_square(throw, shaft_r);
} }
}; };
module octnr_gate (throw, shaft_r) { module sqrn_gate (throw, shaft_r) {
union(){ union(){
rotate([0,0,45]) rotate([0,0,45])
pivot_square(throw, shaft_r, 1.5); pivot_square(throw, shaft_r, 1.75);
pivot_square(throw, shaft_r); pivot_square(throw, shaft_r);
} }
}; };