3 spoolwidth = 80; // fixme needs to be measured
4 trestleheight = 80; // fixme needs to be checked
5 trestlebase = 80; // fixme needs to be checked
7 include <doveclip.scad>
19 plugwmax = plugwmin + plugh * plugslope * 2;
39 translate([-d,0,0]) rotate([90,0,90]) linear_extrude(height=plugl+0.1+d*2){
40 polygon([[-(plugwmin/2 + bdx), 0],
41 [-(plugwmax/2 + tdx), plugh + tdy],
42 [+(plugwmax/2 + tdx), plugh + tdy],
43 [+(plugwmin/2 + bdx), 0]]);
48 spoolw = spoolwidth + spoolwidthgap*2;
50 biggestw = spoolw + 50;
55 translate([0,0,barz]) {
56 scale([1,barrady,barradz]) translate([-1,0,0])
57 rotate([0,90,0]) cylinder(r=1, h=spoolw/2+2, $fn=30);
58 translate([spoolw/2,0,0])
59 rotate([0,90,0]) cylinder(r=guiderad, h=guidewidth, $fn=60);
61 translate([spoolw/2 + guidewidth, 0, 0])
65 translate([-biggestw/2, -50, 0])
66 cube([biggestw, 100, 100]);
71 legang = atan2(trestlebase/2, trestleheight);
72 eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25);
73 topcylw = plugwmax + topcylthick*2;
75 pinholewidth = pinwidth + pindwidth;
76 pinholeminh = pinminh + pindh;
77 pinholemaxh = pinmaxh + pindh;
83 rotate([0,0, -90-legang])
84 ExtenderPillars(length=eplen+trestlelegw,
89 translate([-trestlebase/2, -trestleheight, 0])
90 cylinder(r=trestlelegw/2*1.2, h=plugl);
93 translate([-topcylw/2, -topcylbasedepth, 0])
94 cube([topcylw, topcylbasedepth + plugh + topcylthick, plugl]);
96 translate([-trestlebase/2, -trestleheight, 0])
97 ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=plugl);
99 translate([-300, -trestleheight-50, -1])
100 cube([600, 50, plugl+2]);
103 Plug(d=trestleplugd);
106 translate([0,0,plugl/2]) rotate([0,rot,0]) translate([0,0,-plugl/2]) {
107 translate([0, plugh, (plugl - pinholewidth*2)/3])
108 # linear_extrude(height = pinholewidth){
111 polygon([[-(topcylw/2+0.1), -0.1],
112 [-(topcylw/2+0.1), pinholeminh],
114 [+(topcylw/2+0.1), pinholemaxh],
115 [+(topcylw/2+0.1), -0.1]]);
128 //ExtenderPillars(80,12,8, baseweb=true);