chiark / gitweb /
3458b3f171b47b16d9332ef16bcfc781962d9c05
[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 holedia = 3.5;
22
23 tongue2x = tongue2width - holedist;
24
25 module Tongue(tw,tt,ad,slots=2){
26   y0=thick+0.1;
27   yn=ad-ridgewidth-strapwidth;
28   difference(){
29     translate([-tw, 0, 0])
30       cube([tw, ad, tt+strapthick]);
31     for (yi=[0:slots-1])
32       translate([-tw-1, y0 + (yn-y0)*yi/(slots-1), tt])
33         cube([tw+2, strapwidth, strapthick+1]);
34   }
35 }
36
37 module Object(){
38   difference(){
39     translate([-holedist-tabsider, 0, 0])
40       cube([tabsidel+tabsider+holedist, thick, tabunder+tabover]);
41     for (x=[-holedist,0])
42       translate([x, 0, tabunder]) {
43         translate([0, -1, 0]) {
44           rotate([-90,0,0]) {
45             cylinder(r= holedia/2+0.5, h=thick+2, $fn=20);
46           }
47         }
48         translate([0, 19.95 + thick, 0])
49           cube(center=true,[10,40,10]);
50       }
51   }
52   Tongue(tonguewidth,tonguethick,totaldepth,3);
53   translate([tongue2x,0,0])
54     Tongue(tongue2width,tongue2thick,tongue2depth+thick,5);
55 }
56
57 Object();