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>
20 plugwmax = plugwmin + plugh * plugslope * 2;
27 topblockbasedepth = 4;
41 tdx = bdx + dh * plugslope;
42 translate([-d,0,0]) rotate([90,0,90]) linear_extrude(height=plugl+0.1+d*2){
43 polygon([[-(plugwmin/2 + bdx), 0],
44 [-(plugwmax/2 + tdx), plugh + tdy],
45 [+(plugwmax/2 + tdx), plugh + tdy],
46 [+(plugwmin/2 + bdx), 0]]);
51 spoolw = spoolwidth + spoolwidthgap*2;
53 biggestw = spoolw + 50;
58 translate([0,0,barz]) {
59 scale([1,barrady,barradz]) translate([-1,0,0])
60 rotate([0,90,0]) cylinder(r=1, h=spoolw/2+2, $fn=30);
61 translate([spoolw/2,0,0])
62 rotate([0,90,0]) cylinder(r=guiderad, h=guidewidth, $fn=60);
64 translate([spoolw/2 + guidewidth, 0, 0])
68 translate([-biggestw/2, -50, 0])
69 cube([biggestw, 100, 100]);
74 legang = atan2(trestlebase/2, trestleheight);
75 eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25);
76 topblockw = plugwmax + trestleplugd*2 + topblockthick*2;
78 pinholebasew = pinbasew + pindwidth*2;
79 pinholeh = pinminh + pindh;
85 rotate([0,0, -90-legang])
86 ExtenderPillars(length=eplen+trestlelegw,
91 translate([-trestlebase/2, -trestleheight, 0])
92 cylinder(r=trestlelegw/2*1.2, h=plugl);
95 translate([-topblockw/2, -topblockbasedepth, 0])
96 cube([topblockw, topblockbasedepth + plugh + topblockthick, plugl]);
98 translate([-trestlebase/2, -trestleheight, 0])
99 ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=legw);
101 translate([-300, -trestleheight-50, -1])
102 cube([600, 50, plugl+2]);
105 Plug(d=trestleplugd);
108 translate([0,0,plugl/2]) rotate([0,rot,0]) translate([0,0,-plugl/2]) {
109 translate([-(topblockw*0.25+1),
110 plugh + pindh - (pinmaxh - pinminh)/2,
111 (plugl - pinholebasew*2)/3]) rotate([0,90,0]) {
112 linear_extrude(height = topblockw*1.0+2) {
113 polygon([[-1.0 * pinholebasew, -0.01],
114 [-0.5 * pinholebasew, pinholeh],
127 //ExtenderPillars(80,12,8, baseweb=true);