diff --git a/alpha_adaptor.scad b/alpha_adaptor.scad new file mode 100644 index 0000000..29a09df --- /dev/null +++ b/alpha_adaptor.scad @@ -0,0 +1,85 @@ +use; +/* +measurements + +total_z = 7.6 + +upper_x = 59.6 +upper_y = 59.6 +upper_z = 4 +upper_r = 2 // ? maybe + +lower_x = 52.6 +lower_y = 52.6 +lower_z = 3.6 +lower_r = 13 // ? maybe + +screw_hole_d = 4.8 +screw_hole_bevel_d = 8.2 +screw_hole_bevel_h = 1.8 +screw_hole_padding_lower = 1.8 +*/ + +alpha_adaptor(); + +module alpha_adaptor() { + $fn = 100; + difference(){ + union(){ + lower(); + translate([0, 0, 3.6]) + upper(); + } + screw_holes(); + cylinder(h = 10, r = 35 / 2); + translate([0,0,7.6 - 2.8]) + base(b = 0); + } +} + +module upper(){ + rounded_rect(h = 4, size = 59.6, r = 2); +} + +module lower(){ + rounded_rect(h=3.6, size = 52.6, r = 13); +} + +module screw_holes(r = 4.8 / 2){ + offset = 52.6 / 2 - 1.8 - r; + translate([offset, 0, 0]){ + cylinder(h = 10, r = r); + translate([0, 0 ,7.6 - 1.8]) + cylinder(h = 1.8, r1 = r, r2 = 8.2 / 2); + } + translate([-offset, 0, 0]){ + cylinder(h = 10, r = r); + translate([0, 0 ,7.6 - 1.8]) + cylinder(h = 1.8, r1 = r, r2 = 8.2 / 2); + } + translate([0, offset, 0]){ + cylinder(h = 10, r = r); + translate([0, 0 ,7.6 - 1.8]) + cylinder(h = 1.8, r1 = r, r2 = 8.2 / 2); + } + translate([0, -offset, 0]){ + cylinder(h = 10, r = r); + translate([0, 0 ,7.6 - 1.8]) + cylinder(h = 1.8, r1 = r, r2 = 8.2 / 2); + } +} + +module rounded_rect(h, size, r) { + corner_offset = size / 2 - r; + hull(){ + translate([corner_offset, corner_offset, 0]) + cylinder(h = h, r = r); + translate([corner_offset, -corner_offset, 0]) + cylinder(h = h, r = r); + translate([-corner_offset, corner_offset, 0]) + cylinder(h = h, r = r); + translate([-corner_offset, -corner_offset, 0]) + cylinder(h = h, r = r); + } +} + diff --git a/juqs_collar.scad b/juqs_collar.scad index 23e573a..2b98d26 100644 --- a/juqs_collar.scad +++ b/juqs_collar.scad @@ -11,6 +11,7 @@ short_collar = [8.7, [1.6, 0.5], false]; full_collar = [18, [4.6, 0.5], false]; stepped_collar = [8.7, [2.6, 0.5], true]; flush_collar = [8.7 + 5.8, [2.6, 0.5], false]; +island_collar = [8.7 + 5.8 + 1, [2.6, 0.5], false]; shaft_r = (9/2)/cos(180/$fn); //shaft_r = 9/2; @@ -24,7 +25,7 @@ grommet_dist = 6.8; //distance the grommet sits below this component grommet_depth = 6.4; //thickness of grommet (when compressed) pivot_depth = grommet_dist + grommet_depth / 2; -VERSION = "V2.7"; +VERSION = "V2.8"; CIR = "CIR"; SQR = "SQR"; @@ -33,35 +34,7 @@ OCTR = "OCTR"; OCTN = "OCTN"; SQRN = "SQRN"; -juqs(model = OCTN, ver = VERSION, collar = flush_collar, throw_type= throw_types[2]); - -/* -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]); -} -} -*/ +juqs(model = OCTN, ver = VERSION, collar = island_collar, throw_type= throw_types[2]); module juqs(model, ver, collar = short_collar, throw_type = throw_types[0]) { throw = throw_type[0]; @@ -95,20 +68,18 @@ module juqs(model, ver, collar = short_collar, throw_type = throw_types[0]) { } } }; - /* font = "Open Sans:style=Bold"; - fontsize = 3.75; + fontsize = 4.2; translate([0,0,-0.1]) { mirror([1,0,0]) { linear_extrude(0.7){ - translate([0, -11.75, 0]) - text(str("JUQS ",model), font=font, size=fontsize, halign = "center"); - translate([0, -16.75, 0]) - text(str(throw_type[1]," ",ver), font=font, size=fontsize, halign = "center"); + translate([0, 10.6, 0]) + text(str("JUQS"), font=font, size=fontsize, halign = "center"); + translate([0, -14.75, 0]) + text(str(VERSION, " ", throw_type[1]),font=font, size=fontsize, halign = "center"); } }; } - */ }; }; }; diff --git a/renders/JUQS-V2.8-OCTN-SN-ISLAND.stl b/renders/JUQS-V2.8-OCTN-SN-ISLAND.stl new file mode 100644 index 0000000..5a23adc Binary files /dev/null and b/renders/JUQS-V2.8-OCTN-SN-ISLAND.stl differ diff --git a/renders/alpha_adaptor.stl b/renders/alpha_adaptor.stl new file mode 100644 index 0000000..e99f174 Binary files /dev/null and b/renders/alpha_adaptor.stl differ