summaryrefslogtreecommitdiff
path: root/suspension_fork.scad
diff options
context:
space:
mode:
Diffstat (limited to 'suspension_fork.scad')
-rw-r--r--suspension_fork.scad142
1 files changed, 106 insertions, 36 deletions
diff --git a/suspension_fork.scad b/suspension_fork.scad
index 4c12d2f..dc2084c 100644
--- a/suspension_fork.scad
+++ b/suspension_fork.scad
@@ -1,46 +1,116 @@
-// all used measuress are pure phantasy
-module suspension_fork(depth=0) {
- // from top to bottom ...
+axe_shift=18.2;
+shaft_distance=53;
+dark=[.1,.1,.1];
+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(){
+
+ color("Gainsboro",1)translate([0,0,-38.5])cylinder(d=25.5,h=38.5);
+ color(dark,1){
+ translate([0,0,-(38.5+14.8)]) cylinder(d1=41.5,d2=25.5,h=14.8);
+ translate([0,0,-(38.5+22)]) cylinder(d1=32.5,d2=41.5,h=22-14.8);
+ translate([0,0,-(38.5+184)]) cylinder(d1=32,d2=32.5,h=176);
+ }
+}
+
+module wheel_holder(){
+ thick=4.5;
+ color(dark,1)
+ rotate([270,90,0])
+ translate([0,0,-thick/2])
+ difference(){
+ union(){
+ hull(){
+ cylinder(d=32.5,h=thick);
+ translate([-57.35,5.35,0])cube([35.3,35.3,thick]);
+ }
+ translate([0,0,1.9-thick])cylinder(d=25,h=thick);
+ }
+ translate([0,0,1.9])cylinder(d=25,h=thick);
+ hull(){
+ translate([0,0,-3])cylinder(d=10,h=15);
+ translate([10,-5,-3])cube([10,10,15]);
+ }
+ }
+}
+
- translate([0, 0, -50]) cylinder(h=50, r=15);
- translate([0, 0, -60]) cylinder(h=10, r1=25, r2=15);
- translate([0, 0, -70]) cylinder(h=10, r=25);
- hull() {
- for (side = [-1,1])
- translate([0, side * 50, -90])
- cylinder(r=27, h=20);
+module bow_shape(){
+ polygon(points=[[0,0],[28,0],[22,8],[14,11],[6,8]]);
+}
+
+module bow(){
+ translate([0,0,-68.5]){
+ difference(){
+ rotate([0,90,0])
+ rotate_extrude(convexity = 10)
+ translate([40.5,0,0]) bow_shape();
+ translate([-100,-100,-200])cube([200,200,200]);
+ }
+ translate([0,-40.5,-77.5])rotate([0,0,-90]) linear_extrude(height=77.5) bow_shape();
+ translate([0,68.5,-77.5])rotate([0,0,-90]) linear_extrude(height=77.5) bow_shape();
}
+}
+
- translate([0, -50/2, -110])
- cube([5, 50, 20]);
+
+module brake_holder(){
+ color("gainsboro",1)
+ rotate([0,90,0]){
+ translate([0,0,-20])cylinder(d=9.8,h=26);
+ translate([0,0,6])cylinder(d=7.9,h=16);
+ }
+}
+module suspension_fork(depth=0) {
+ // from top to bottom ...
- 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);
- }
- }
- }
+ color("gainsboro",1) fork_shaft();
+ color(dark,1) translate([0,0,-154]) forking();
+ // all following measuress are pure phantasy
+
+ for (side=[-1,1]){
+ translate([axe_shift,side * shaft_distance,-(210)]) side_shaft();
}
+
+ translate([45,shaft_distance,-460]) wheel_holder();
+ mirror([0,1,0])translate([45,shaft_distance,-460]) wheel_holder();
+ color(dark,1) translate([40,0,-207]) bow();
+ translate([51,-41.5,-340]) brake_holder();
+ translate([51,41.5,-340]) brake_holder();
+
}
-function wheel_offset(depth=0) = depth - 330;
+
+function wheel_offset(depth=0) = depth - 510;
suspension_fork();
contact: Jan Huwald // Impressum