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 pinholebasew = pinbasew + pindwidth;
76 pinholeh = pinminh + pindh;
82 rotate([0,0, -90-legang])
83 ExtenderPillars(length=eplen+trestlelegw,
88 translate([-trestlebase/2, -trestleheight, 0])
89 cylinder(r=trestlelegw/2*1.2, h=plugl);
92 translate([-topcylw/2, -topcylbasedepth, 0])
93 cube([topcylw, topcylbasedepth + plugh + topcylthick, plugl]);
95 translate([-trestlebase/2, -trestleheight, 0])
96 ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=plugl);
98 translate([-300, -trestleheight-50, -1])
99 cube([600, 50, plugl+2]);
102 Plug(d=trestleplugd);
105 translate([0,0,plugl/2]) rotate([0,rot,0]) translate([0,0,-plugl/2]) {
106 translate([-(topcylw*0.25+1),
108 (plugl - pinholebasew*2)/3]) rotate([0,90,0]) {
109 linear_extrude(height = topcylw*1.0+2) {
110 polygon([[-1.0 * pinholebasew, -0.01],
111 [-0.5 * pinholebasew, pinholeh],
124 //ExtenderPillars(80,12,8, baseweb=true);