chiark / gitweb /
pull-cord-keeper: wip
[reprap-play.git] / pull-cord-keeper.scad
1 // -*- C -*-
2
3 hoopthick = 3;
4
5 hinnerrad = 15;
6 houterrad = hinnerrad + hoopthick;
7 hcentredist = 10;
8
9 blockdepth = 5;
10 blockwidth = hcentredist*2 + 6;
11
12 height = 20;
13
14 ziglen = hcentredist/2;
15
16 feedxgap = 5;
17
18 feedzgap = 5;
19
20 module Oval(centredist, rad) {
21   hull() {
22     translate([-centredist/2,0,0]) circle(r=rad);
23     translate([+centredist/2,0,0]) circle(r=rad);
24   }
25 }  
26
27 module Hoop(){
28   difference(){
29     hull(){
30       Oval(hcentredist, houterrad);
31       translate([0, (blockdepth + hoopthick)/2 + hinnerrad])
32         square([blockwidth,
33                 blockdepth + hoopthick],
34                center=true);
35     }
36     Oval(hcentredist, hinnerrad);
37   }
38 }
39
40 module Positive(){
41   translate([0,0, -height/2])
42     linear_extrude(height=20)
43     Hoop();
44 }
45
46 module Division(biggerpi) {
47   xgap = feedxgap * biggerpi;
48   zgap = feedzgap * biggerpi;
49   mirror([0,0,1])
50     translate([-(ziglen + xgap/2), -100, zgap/2])
51     cube([100, 100, 10]);
52 }
53
54 //difference(){
55 %  Positive();
56 //  Division(0);
57 //}
58 Division(1);