From 2d583dc7d0b0b58e94da0a2e56277e42ed762914 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 17 Jun 2018 14:06:52 +0200 Subject: Clamp looking alright --- hardware/enclosure/olsndot_clamp_base.scad | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 hardware/enclosure/olsndot_clamp_base.scad (limited to 'hardware/enclosure/olsndot_clamp_base.scad') diff --git a/hardware/enclosure/olsndot_clamp_base.scad b/hardware/enclosure/olsndot_clamp_base.scad new file mode 100644 index 0000000..73fba97 --- /dev/null +++ b/hardware/enclosure/olsndot_clamp_base.scad @@ -0,0 +1,59 @@ +eps = 0.01; + +module clamp(l=90, w=20, h=10, d1=40, o=10, hdia1=5, hdia2=10, hd=1, nw=7.8, nd=3, notch_sf=0.75, notch_d=5, notch_a=10, notch_o=1, edge_a=10, edge_d=22) { + translate([-h-l/2, -w/2, 0]) union() { + translate([l+h-notch_d, 0, 0]) intersection() { + difference() { + cube([d1, w, d1]); + //scale([notch_sf, 1, 1]) translate([(d1-h)/2, 0, h+(d1-h)/2]) rotate([0, -135, 0]) translate([0, -eps/2, 0]) cube([d1, w+eps, d1]); + translate([notch_d, 0, h+notch_o]) mirror([1, 0, 0]) rotate([0, notch_a, 0]) translate([0, -eps/2, 0]) cube([d1, w+eps, d1]); + } + translate([d1-edge_a, 0, d1/2]) rotate([0, -90-45, 0]) cube([2*d1, w+eps, 2*d1]); + translate([-d1-edge_d, 0]) cube([2*d1, w+eps, 2*d1]); + } + difference() { + union() { + cube ([l+h, w, h]); + cube ([h, w, d1]); + } + rotate([0, 45, 0]) translate([-l/2, -eps/2, -d1/8*7]) cube([l, w+eps, d1]); + translate([0, 0, d1]) rotate([0, 90+45, 0]) translate([-l/2, -eps/2, -d1/8*7]) cube([l, w+eps, d1]); + translate([-eps/2, w/2, d1-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); + } + } + } +} + +module hexagon(size, height) { + boxWidth = size/1.75; + for (r = [-60, 0, 60]) rotate([0,0,r]) cube([boxWidth, size, height], true); +} + +nut_dia = 5.3; +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) { + 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 -- cgit