diff options
-rw-r--r-- | hardware/enclosure/olsndot_clamp_base.scad | 62 | ||||
-rw-r--r-- | hardware/enclosure/olsndot_clamp_stoppers.scad | 2 |
2 files changed, 55 insertions, 9 deletions
diff --git a/hardware/enclosure/olsndot_clamp_base.scad b/hardware/enclosure/olsndot_clamp_base.scad index e5bf43f..177a61a 100644 --- a/hardware/enclosure/olsndot_clamp_base.scad +++ b/hardware/enclosure/olsndot_clamp_base.scad @@ -1,6 +1,23 @@ eps = 0.01; -module clamp(l=90, w=20, h=10, d1=25, d2=35, o=10, hdia1=5, hdia2=10, hd=1, nw=7.8, nd=3, notch_sf=0.75, notch_d=2, notch_a=10, notch_o=1, edge_a=5, edge_d=12) { +module clamp( + l=90, + w=14, + h=10, + d1=30, + d2=35, + o=10, + hdia1=5, + hdia2=10, + hd=5, + nw=7.8, + nd=3, + notch_sf=0.75, + notch_d=3, + notch_a=10, + notch_o=0.5, + edge_a=5, + edge_d=12) { translate([-h-l/2, -w/2, 0]) union() { translate([l+h-notch_d, 0, 0]) intersection() { difference() { @@ -19,9 +36,9 @@ module clamp(l=90, w=20, h=10, d1=25, d2=35, o=10, hdia1=5, hdia2=10, hd=1, nw=7 rotate([0, 45, 0]) translate([-l/2, -eps/2, -d2/8*7]) cube([l, w+eps, d2]); translate([0, 0, d2]) rotate([0, 90+45, 0]) translate([-l/2, -eps/2, -d2/8*7]) cube([l, w+eps, d2]); translate([-eps/2, w/2, d2-o]) rotate([0, 90, 0]) union() { - cylinder(d=hdia1, h=l); - cylinder(d=hdia2, h=hd); - translate([0, 0, h-nd/2]) hexagon(nw, nd+2*eps); + cylinder(d=6, h=l); + cylinder(d=12, h=hd); + translate([-11/2, -11/2, h-4]) cube([11, 11, 5]); } } } @@ -37,23 +54,52 @@ nut_depth=5.5; nut_off_y = 80/2; nut_off_x = 20; -module base($fn=25, cw=90, sw=15, sh=10, strut_spacing=30, clamp_dist=90) { +module nut_holder( + a = 30, + b = 15, + c = 10, + d = 5.0, + e = 4.0, + ) { + difference() { + union() { + translate([-b/2, -(a-b)/2, 0]) cube([b, a-b, c]); + translate([0, -(a-b)/2, 0]) cylinder(d=b, h=c); + translate([0, (a-b)/2, 0]) cylinder(d=b, h=c); + } + translate([0, a/2 - d, -eps]) { + translate([0, 0, c-nut_depth+2*eps]) cylinder(d=nut_dia, h=nut_depth); + cylinder(d=e, h=c+2*eps); + } + translate([0, -a/2 + d, -eps]) { + translate([0, 0, c-nut_depth+2*eps]) cylinder(d=nut_dia, h=nut_depth); + cylinder(d=e, h=c+2*eps); + } + } +} + +module base($fn=25, cw=90, sw=15, sh=15, strut_spacing=30, clamp_dist=90) { + d = 30; + clamp(l=cw, h=sh); + translate([-d, 0, 0]) nut_holder(); + translate([d, 0, 0]) nut_holder(); + /*difference() { translate([0, -clamp_dist/2, 0]) union() { - translate([0, clamp_dist, 0]) clamp(l=cw, h=sh); + */ /* translate([0, 0, 0]) clamp(l=cw, h=sh); translate([-strut_spacing/2-sw, 0, 0]) cube([sw, clamp_dist, sh]); translate([ strut_spacing/2, 0, 0]) cube([sw, clamp_dist, sh]); */ - } + //} /* translate([nut_off_x, nut_off_y, -eps]) cylinder(d=nut_dia, h=nut_depth+eps); translate([nut_off_x, -nut_off_y, -eps]) cylinder(d=nut_dia, h=nut_depth+eps); translate([-nut_off_x, nut_off_y, -eps]) cylinder(d=nut_dia, h=nut_depth+eps); translate([-nut_off_x, -nut_off_y, -eps]) cylinder(d=nut_dia, h=nut_depth+eps); */ - } + //} } base();
\ No newline at end of file diff --git a/hardware/enclosure/olsndot_clamp_stoppers.scad b/hardware/enclosure/olsndot_clamp_stoppers.scad index 9ca8a63..8be528d 100644 --- a/hardware/enclosure/olsndot_clamp_stoppers.scad +++ b/hardware/enclosure/olsndot_clamp_stoppers.scad @@ -1,7 +1,7 @@ w = 20; h = w; d = 5; -hole_dia = 5; +hole_dia = 6; hole_d = 4; hole_fringe = 1.5; fringe_extra = 1.0; |