// -*- C -*-
spoolwidth = 80; // fixme needs to be measured
-trestleheight = 80; // fixme needs to be checked
-trestlebase = 80; // fixme needs to be checked
+spoolinnerrad = 25; // fixme needs to be checked
+spoolouterrad = 60; // fixme needs to be checked
include <doveclip.scad>
include <axlepin.scad>
+spoolradclear = 10;
+
spoolinnerslop = 2;
barrad = 7;
barwasherrad = 17;
+hubbasethick = 4;
+
legw = 12;
plugl = 20;
plugwmin = 3;
spoolouterpad = AxlePin_holerad()*2 * 1.5;
spoolbarlen = spoolwidth +
- 2*(Washer_thick() + AxlePin_holerad() + spoolinnerslop + spoolouterpad);
+ 2*(Washer_thick() + hubbasethick + AxlePin_holerad()
+ + spoolinnerslop + spoolouterpad);
barz = barrad * 0.5;
-axlepin_x = spoolwidth/2 + Washer_thick() + spoolinnerslop +
- AxlePin_holerad()*0.5;
+axlepin_x = spoolwidth/2 + hubbasethick +
+ Washer_thick() + spoolinnerslop + AxlePin_holerad()*0.5;
+
+trestleheight = spoolouterrad + spoolradclear - barz;
+trestlebase = trestleheight * 1.2;
module Plug(d=0){
dw = d;
}
}
+module DemoSpool(){
+ rotate([0,90,0]) translate([0,0,-spoolwidth/2])
+ difference(){
+ cylinder(r=spoolouterrad, h=spoolwidth);
+ translate([0,0,-1]) cylinder(r=spoolinnerrad, h=spoolwidth+2);
+ }
+}
+
module Demo(){
- %Bar();
+ Bar();
for (mir=[0,1]) {
mirror([mir,0,0]) {
- %translate([spoolbarlen/2,0,0]) rotate([90,0,90]) Trestle();
- translate([spoolwidth/2 + spoolinnerslop/4, 0, barz])
+ translate([spoolbarlen/2,0,0]) rotate([90,0,90]) Trestle();
+ translate([spoolwidth/2 + hubbasethick + spoolinnerslop/4, 0, barz])
rotate([0,90,0]) AxleWasher();
translate([axlepin_x, 0, barz]) rotate([90,0,90]) FtAxlePin();
}
}
+ %translate([0,0,barz]) DemoSpool();
}
//Bar();