diff options
author | jaseg <git@jaseg.net> | 2018-07-17 15:56:47 +0200 |
---|---|---|
committer | jaseg <git@jaseg.net> | 2018-07-17 15:56:47 +0200 |
commit | d07138f86f342e77c96d567c3120c1abc8afc017 (patch) | |
tree | 14d4f542176fba49505b2238d943c392169c36bb /hardware/enclosure | |
parent | fe0edb53e01b8ccc77624768a56e405014a353bc (diff) | |
download | olsndot-d07138f86f342e77c96d567c3120c1abc8afc017.tar.gz olsndot-d07138f86f342e77c96d567c3120c1abc8afc017.tar.bz2 olsndot-d07138f86f342e77c96d567c3120c1abc8afc017.zip |
Add/reorg enclosure OpenSCAD files
Diffstat (limited to 'hardware/enclosure')
-rw-r--r-- | hardware/enclosure/olsndot_base.scad | 110 | ||||
-rw-r--r-- | hardware/enclosure/olsndot_clamp_base.scad | 105 | ||||
-rw-r--r-- | hardware/enclosure/olsndot_clamp_stoppers.scad | 20 |
3 files changed, 0 insertions, 235 deletions
diff --git a/hardware/enclosure/olsndot_base.scad b/hardware/enclosure/olsndot_base.scad deleted file mode 100644 index 2cea8b2..0000000 --- a/hardware/enclosure/olsndot_base.scad +++ /dev/null @@ -1,110 +0,0 @@ - -/* A small, arbitrary unit to guard against rounding errors */ -eps = 0.1; -alot = 1000; - -/* Base PCB size */ -pcb_width = 90; -pcb_height = 50; - -bottom_thickness = 1.5; - -screw_base_dia = 8; -screw_base_h = 5; -screw_nut_dia = 5.4; -screw_nut_h = 6; -screw_hole_dia = 3.5; -screw_hole_h = 6; - -module rounded_rect(w, h, r) { - hull(){ - translate([w/2-r, h/2-r]) circle(r); - translate([-(w/2-r), h/2-r]) circle(r); - translate([w/2-r, -(h/2-r)]) circle(r); - translate([-(w/2-r), -(h/2-r)]) circle(r); - } -} - -module single_screw_base() { - translate([0, 0, bottom_thickness-eps]) linear_extrude(height=screw_base_h+eps) { - circle(d=screw_base_dia); - translate([-screw_base_dia/2, 0]) square([alot, alot]); - translate([0, -screw_base_dia/2]) square([alot, alot]); - } -} - -w = pcb_width+10; -h = pcb_height; -l = 10; -r = 10; -t = 5; -b = 5; -s1_pos = [ w/2-l, h/2-b]; -s2_pos = [-w/2+r, -h/2+t]; -s3_pos = [ w/2-l, -h/2+t]; -s4_pos = [-w/2+r, h/2-b]; -module screw_bases() { - intersection() { - union() { - translate(s1_pos) single_screw_base(); - translate(s2_pos) mirror([1,1,0]) single_screw_base(); - translate(s3_pos) mirror([0,1,0]) single_screw_base(); - translate(s4_pos) mirror([1,0,0]) single_screw_base(); - } - cube([w+eps, h+eps, alot], center=true); - } -} - - -module single_screw_hole() { - translate([0, 0, bottom_thickness+screw_base_h+eps]) - mirror([0,0,1]) - union() { - cylinder(h=screw_nut_h+eps, d=screw_nut_dia); - cylinder(h=screw_hole_h+eps, d=screw_hole_dia); - } -} - -module screw_holes() { - translate(s1_pos) single_screw_hole(); - translate(s2_pos) mirror([1,1,0]) single_screw_hole(); - translate(s3_pos) mirror([0,1,0]) single_screw_hole(); - translate(s4_pos) mirror([1,0,0]) single_screw_hole(); -} - -tab_w = 20; -tab_h = 30; -tab_thickness = 3; -tab_hole_d = 9; -module screw_tab() { - difference() { - translate([-tab_h/2, -eps, 0]) cube([tab_h, tab_w+eps, tab_thickness]); - rotate([0, 0, -50]) translate([-alot/2, tab_h*0.6, -eps]) cube([alot, alot, tab_h+2*eps]); - rotate([0, 0, 50]) translate([-alot/2, tab_h*0.6, -eps]) cube([alot, alot, tab_thickness+2*eps]); - translate([0, tab_w/2, -eps]) cylinder(d=tab_hole_d, h=tab_thickness+eps*2); - } -} - -wall_height = bottom_thickness + 3; -wall_thickness = 1.5; - -cutout_w = 25; -cutout_h = 70; - -module carrier() { - union() { - difference() { - translate([0, 0, wall_height/2]) cube([w, h, wall_height], center=true); - translate([0, 0, bottom_thickness + alot/2]) cube([w-wall_thickness*2+eps, h-wall_thickness*2+eps, alot], center=true); - cube([cutout_h, cutout_w, alot], center=true); - } - difference() { - screw_bases(); - screw_holes(); - } - translate([0, h/2, 0]) screw_tab(); - mirror([0,1,0]) translate([0, h/2, 0]) screw_tab(); - } -} - -carrier($fn=25);
\ No newline at end of file diff --git a/hardware/enclosure/olsndot_clamp_base.scad b/hardware/enclosure/olsndot_clamp_base.scad deleted file mode 100644 index ad09989..0000000 --- a/hardware/enclosure/olsndot_clamp_base.scad +++ /dev/null @@ -1,105 +0,0 @@ -eps = 0.01; - -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() { - 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, d2]); - } - 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=6, h=l); - cylinder(d=12, h=hd); - translate([-11/2, -11/2, h-4]) cube([11, 11, 5]); - } - } - } -} - -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 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=93, 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, 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 deleted file mode 100644 index 95dc31e..0000000 --- a/hardware/enclosure/olsndot_clamp_stoppers.scad +++ /dev/null @@ -1,20 +0,0 @@ -w = 20; -h = w; -d = 7; -hole_dia = 6; -hole_d = 4; -hole_fringe = 1.5; -fringe_extra = 1.0; -eps = 0.001; - -module stopper() { - difference() { - union() { - translate([-w/2, -h/2, 0]) cube([w, h, d]); - translate([0, 0, d-eps]) cylinder(d1=hole_dia+2*hole_fringe+2*fringe_extra, d2=hole_dia+2*fringe_extra, h=hole_fringe); - } - translate([0, 0, d+hole_fringe-hole_d]) cylinder(d=hole_dia, h=hole_d+eps); - } -} - -stopper($fn=25);
\ No newline at end of file |