summaryrefslogtreecommitdiff
path: root/suspension_fork.scad
blob: 20466fce0699511e33b757095f5edbb3fbd02bf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
    thread_height=38;
    thread_diameter=25.4;
    
    shaft_height1=110;
    shaft_diameter1=thread_diameter;
    
    shaft_height2=6;
    shaft_diameter2=27;    



axe_shift=18.2;
shaft_distance=53;
module fork_shaft(){
    thread_height=38;
    thread_diameter=25.4;
    
    shaft_height1=110;
    shaft_diameter1=thread_diameter;
    
    shaft_height2=6;
    shaft_diameter2=27;    
    
    translate([0,0,-thread_height])
        cylinder(h=thread_height,d=thread_diameter);
        
    translate([0,0,-(thread_height+shaft_height1)])
        cylinder(h=shaft_height1,d=shaft_diameter1);
    
    translate([0,0,-(thread_height+shaft_height1+shaft_height2)])
        cylinder(h=shaft_height2,d=shaft_diameter2);

}

module forking(){
    for (side = [-1,1])
	hull() {
        translate([0,0,-34]) cylinder(d=39,h=34);
        translate([axe_shift, side * shaft_distance, -56]) cylinder(d=31.3, h=29);
    }    
    translate([0,0,-43]) cylinder(d=39,h=9);
}

module side_shaft(){
}

module suspension_fork(depth=0) {
    // from top to bottom ...
    
    %fork_shaft();
    %translate([0,0,-(thread_height+shaft_height1+shaft_height2)]) forking();
    // all following measuress are pure phantasy
    

    *translate([0, -50/2, -110])
    cube([5, 50, 20]);
    
    *for (side = [-1,1])
    translate([0, side * 50, -210]) {
	cylinder(r=25, h=120);

	translate([0, 0, depth - 100]) {
	    cylinder(r=20, h=120);

	    difference() {
		translate([0, 0, -20])
		rotate([90, 0, 0])
		hull() {
		    cylinder(r=20, h=5, center=true);
		    translate([0, 20, 0]) cube([39, 39, 5], center=true);
		}

		translate([0, 0, -20])
		rotate([90, 0, 0])
		hull() {
		    cylinder(r=5, h=50, center=true);
		    translate([0, -20, 0]) cube([10, 10, 50], center=true);
		}
	    }
	}
    }
}

function wheel_offset(depth=0) = depth - 330;

suspension_fork();
contact: Jan Huwald // Impressum