chiark / gitweb /
a44b15246365632f1d967e61967f1b7358303922
[reprap-play.git] / osstest-arm-net-bracket.scad
1 // -*- C -*-
2
3 holedist = 64;
4 tonguewidth = 10;
5 tongue2width = 15;
6 totaldepth = 26;
7 tongue2depth = 35;
8 thick = 4;
9 tabover = 7;
10 tabunder = 15;
11
12 tabsidel = 7;
13 tabsider = 7+9.5;
14
15 tonguethick = 4;
16 tongue2thick = 5;
17 strapthick = 2;
18 strapwidth = 5;
19 ridgewidth = 2;
20
21 hstrengthick = 2.5;
22 hstrengdepth = strapwidth;
23
24 holedia = 3.5;
25
26 tongue2x = tongue2width - holedist;
27
28 module Tongue(tw,tt,ad,slots=2){
29   y0=thick+0.1;
30   yn=ad-ridgewidth-strapwidth;
31   difference(){
32     translate([-tw, 0, 0])
33       cube([tw, ad, tt+strapthick]);
34     for (yi=[1:slots-1])
35       translate([-tw-1, y0 + (yn-y0)*yi/(slots-1), tt])
36         cube([tw+2, strapwidth, strapthick+1]);
37   }
38 }
39
40 module Object(){
41   difference(){
42     translate([-holedist-tabsider, 0, 0]) {
43       cube([tabsidel+tabsider+holedist, thick, tabunder+tabover]);
44       cube([tabsidel+tabsider+holedist, thick+hstrengdepth, hstrengthick]);
45     }
46     for (x=[-holedist,0])
47       translate([x, 0, tabunder]) {
48         translate([0, -1, 0]) {
49           rotate([-90,0,0]) {
50             cylinder(r= holedia/2+0.5, h=thick+2, $fn=20);
51           }
52         }
53         translate([0, 19.95 + thick, 0])
54           cube(center=true,[10,40,10]);
55       }
56   }
57   Tongue(tonguewidth,tonguethick,totaldepth,3);
58   translate([tongue2x,0,0])
59     Tongue(tongue2width,tongue2thick,tongue2depth+thick,5);
60 }
61
62 Object();