summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2016-07-15 19:11:29 (UTC)
committer Michael Krelin <hacker@klever.net>2016-07-15 19:11:29 (UTC)
commitf050aa95edf9b857580d6caf190060a00d37bff9 (patch) (unidiff)
tree8da2fba33a86dcf4da60e6e945a6272b8e185b34
parent2959322eef5859ced369a9f64eaa9b50a2243e4f (diff)
downloadcarriagery-f050aa95edf9b857580d6caf190060a00d37bff9.zip
carriagery-f050aa95edf9b857580d6caf190060a00d37bff9.tar.gz
carriagery-f050aa95edf9b857580d6caf190060a00d37bff9.tar.bz2
cleanup an abandoned attempt to do as in original
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--x-carriage.scad6
1 files changed, 0 insertions, 6 deletions
diff --git a/x-carriage.scad b/x-carriage.scad
index 8c10e14..b2d0772 100644
--- a/x-carriage.scad
+++ b/x-carriage.scad
@@ -39,70 +39,64 @@ module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=bel
39 translate([l/2+s*x,0,thickness]) 39 translate([l/2+s*x,0,thickness])
40 rotate([-90,0,0]) 40 rotate([-90,0,0])
41 cylinder(r=tooth+tolerance,h=width,$fn=6); 41 cylinder(r=tooth+tolerance,h=width,$fn=6);
42 } 42 }
43 translate([0,-1,0]) 43 translate([0,-1,0])
44 cube(size=[l,width+2,thickness+tooth+1]); 44 cube(size=[l,width+2,thickness+tooth+1]);
45 } 45 }
46} 46}
47 47
48module xcarriage() { 48module xcarriage() {
49 cw = bearings_l+2*bearings_m;// carriage width 49 cw = bearings_l+2*bearings_m;// carriage width
50 % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(); 50 % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt();
51 difference() { 51 difference() {
52 translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) 52 translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2])
53 cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); 53 cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]);
54 54
55 for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { 55 for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) {
56 rotate([0,90,0]) 56 rotate([0,90,0])
57 cylinder(d=bearings_d,bearings_l,center=true,$fn=60); 57 cylinder(d=bearings_d,bearings_l,center=true,$fn=60);
58 for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) 58 for(sx=[-1,1]) translate([sx*bearings_l/4,0,0])
59 rotate([0,90,0]) difference() { 59 rotate([0,90,0]) difference() {
60 cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); 60 cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60);
61 cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); 61 cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60);
62 } 62 }
63 rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); 63 rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60);
64 translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]); 64 translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]);
65 } 65 }
66 66
67 difference() { 67 difference() {
68 gap=belts_apart/6; 68 gap=belts_apart/6;
69 translate([0,-.5,-gap/2]) 69 translate([0,-.5,-gap/2])
70 cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); 70 cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true);
71 for(mx=[0,1]) mirror([mx,0,0]) { 71 for(mx=[0,1]) mirror([mx,0,0]) {
72 ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center 72 ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center
73 r=1; 73 r=1;
74 x0 = ofc+r; x1=cw/2-r; 74 x0 = ofc+r; x1=cw/2-r;
75 z0 = r; z1 = belts_apart/2-belt_thickness; 75 z0 = r; z1 = belts_apart/2-belt_thickness;
76 difference() { 76 difference() {
77 hull() for(x=[x0,x1]) for(z=[z0,z1]) 77 hull() for(x=[x0,x1]) for(z=[z0,z1])
78 translate([x,0,z]) 78 translate([x,0,z])
79 rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30); 79 rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30);
80 translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); 80 translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance);
81 } 81 }
82 bgap = belt_thickness+belt_tooth+fit_tolerance; 82 bgap = belt_thickness+belt_tooth+fit_tolerance;
83 r1 = (belts_apart/3-bgap)/2; 83 r1 = (belts_apart/3-bgap)/2;
84 hull() for(x=[mounting_holes_apart/2,x1]) 84 hull() for(x=[mounting_holes_apart/2,x1])
85 translate([x,0,-r1-bgap]) 85 translate([x,0,-r1-bgap])
86 rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30); 86 rotate([90,0,0]) cylinder(r=r1,h=belt_width+2,center=true,$fn=30);
87 /*
88 pd = 4.5;// post diameter
89 bhd = 5;// belt holder diameter
90 translate([cw/2-pd/2,0,belts_apart/2-belts_thickness-bhd/2]) cube(size=[pd,belt_width,bhd],center=true);
91 translate([(cw-pd)/2,0,0]) // TODO: z
92 rotate([-90,0,0]) translate([0,0,-1]) cylinder(d=pd,h=belt_width+2,center=true,$fn=30); */
93 } 87 }
94 } // difference 88 } // difference
95 89
96 translate([0,0,30/*heatsink height*//2]) 90 translate([0,0,30/*heatsink height*//2])
97 for(mhft = mounting_holes_from_top) translate([mhft[0],0,-mhft[1]]) { 91 for(mhft = mounting_holes_from_top) translate([mhft[0],0,-mhft[1]]) {
98 rotate([90,0,0]) cylinder(d=screw_d+2*play_tolerance,h=bearings_d+2*bearings_s+2,center=true,$fn=30); 92 rotate([90,0,0]) cylinder(d=screw_d+2*play_tolerance,h=bearings_d+2*bearings_s+2,center=true,$fn=30);
99 translate([0,belt_width/2+screwhead_h+play_tolerance,0]) 93 translate([0,belt_width/2+screwhead_h+play_tolerance,0])
100 rotate([90,0,0]) cylinder(d=screwhead_d+2*play_tolerance,h=screwhead_h+play_tolerance+1,$fn=30); 94 rotate([90,0,0]) cylinder(d=screwhead_d+2*play_tolerance,h=screwhead_h+play_tolerance+1,$fn=30);
101 } 95 }
102 } // difference 96 } // difference
103} 97}
104 98
105print=false; 99print=false;
106if(print) rotate([-90,0,0]) xcarriage(); 100if(print) rotate([-90,0,0]) xcarriage();
107else xcarriage(); 101else xcarriage();
108 102