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;
26 topblockbasedepth = 4;
40 tdx = bdx + dh * plugslope;
41 translate([-d,0,0]) rotate([90,0,90]) linear_extrude(height=plugl+0.1+d*2){
42 polygon([[-(plugwmin/2 + bdx), 0],
43 [-(plugwmax/2 + tdx), plugh + tdy],
44 [+(plugwmax/2 + tdx), plugh + tdy],
45 [+(plugwmin/2 + bdx), 0]]);
50 spoolw = spoolwidth + spoolwidthgap*2;
52 biggestw = spoolw + 50;
57 translate([0,0,barz]) {
58 scale([1,barrady,barradz]) translate([-1,0,0])
59 rotate([0,90,0]) cylinder(r=1, h=spoolw/2+2, $fn=30);
60 translate([spoolw/2,0,0])
61 rotate([0,90,0]) cylinder(r=guiderad, h=guidewidth, $fn=60);
63 translate([spoolw/2 + guidewidth, 0, 0])
67 translate([-biggestw/2, -50, 0])
68 cube([biggestw, 100, 100]);
73 legang = atan2(trestlebase/2, trestleheight);
74 eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25);
75 topblockw = plugwmax + trestleplugd*2 + topblockthick*2;
77 pinholebasew = pinbasew + pindwidth;
78 pinholeh = pinminh + pindh;
84 rotate([0,0, -90-legang])
85 ExtenderPillars(length=eplen+trestlelegw,
90 translate([-trestlebase/2, -trestleheight, 0])
91 cylinder(r=trestlelegw/2*1.2, h=plugl);
94 translate([-topblockw/2, -topblockbasedepth, 0])
95 cube([topblockw, topblockbasedepth + plugh + topblockthick, plugl]);
97 translate([-trestlebase/2, -trestleheight, 0])
98 ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=plugl);
100 translate([-300, -trestleheight-50, -1])
101 cube([600, 50, plugl+2]);
104 Plug(d=trestleplugd);
107 translate([0,0,plugl/2]) rotate([0,rot,0]) translate([0,0,-plugl/2]) {
108 translate([-(topblockw*0.25+1),
109 plugh + pindh - (pinmaxh - pinminh)/2,
110 (plugl - pinholebasew*2)/3]) rotate([0,90,0]) {
111 linear_extrude(height = topblockw*1.0+2) {
112 polygon([[-1.0 * pinholebasew, -0.01],
113 [-0.5 * pinholebasew, pinholeh],
126 //ExtenderPillars(80,12,8, baseweb=true);