author | Michael Krelin <hacker@klever.net> | 2016-07-15 21:49:31 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-07-15 21:49:31 (UTC) |
commit | e05854ae82905063d86a403ae8dfc1d7c01bee77 (patch) (unidiff) | |
tree | cdfa2a27c85a51966f864afca2caac17b88cb9e1 | |
parent | 4fbbce6f2e884d2d10790c315539b4cc84c20bd5 (diff) | |
download | carriagery-e05854ae82905063d86a403ae8dfc1d7c01bee77.zip carriagery-e05854ae82905063d86a403ae8dfc1d7c01bee77.tar.gz carriagery-e05854ae82905063d86a403ae8dfc1d7c01bee77.tar.bz2 |
added h= to cylinder()
-rw-r--r-- | x-carriage.scad | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/x-carriage.scad b/x-carriage.scad index c2552d2..d567189 100644 --- a/x-carriage.scad +++ b/x-carriage.scad | |||
@@ -34,49 +34,49 @@ screwhead_h = 3; | |||
34 | module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) { | 34 | module belt(pitch=belt_pitch,width=belt_width,thickness=belt_thickness,tooth=belt_tooth,l=100,tolerance=0) { |
35 | translate([-l/2,-width/2,-thickness]) | 35 | translate([-l/2,-width/2,-thickness]) |
36 | intersection() { | 36 | intersection() { |
37 | union() { | 37 | union() { |
38 | cube(size=[l,width,thickness+tolerance]); | 38 | cube(size=[l,width,thickness+tolerance]); |
39 | for(x=[0:pitch:l/2]) for(s=[-1,1]) | 39 | for(x=[0:pitch:l/2]) for(s=[-1,1]) |
40 | translate([l/2+s*x,0,thickness]) | 40 | translate([l/2+s*x,0,thickness]) |
41 | rotate([-90,0,0]) | 41 | rotate([-90,0,0]) |
42 | cylinder(r=tooth+tolerance,h=width,$fn=6); | 42 | cylinder(r=tooth+tolerance,h=width,$fn=6); |
43 | } | 43 | } |
44 | translate([0,-1,0]) | 44 | translate([0,-1,0]) |
45 | cube(size=[l,width+2,thickness+tooth+1]); | 45 | cube(size=[l,width+2,thickness+tooth+1]); |
46 | } | 46 | } |
47 | } | 47 | } |
48 | 48 | ||
49 | module xcarriage() { | 49 | module xcarriage() { |
50 | cw = bearings_l+2*bearings_m;// carriage width | 50 | cw = bearings_l+2*bearings_m;// carriage width |
51 | % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(l=cw+2); | 51 | % for(mz=[0,1]) mirror([0,0,mz]) translate([0,0,-belts_apart/2]) belt(l=cw+2); |
52 | difference() { | 52 | difference() { |
53 | translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) | 53 | translate([-cw/2,-belt_width/2,-(rods_apart+bearings_d+bearings_m)/2]) |
54 | cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); | 54 | cube(size=[cw,bearings_d/2+bearings_s+belt_width/2,rods_apart+bearings_d+bearings_m]); |
55 | 55 | ||
56 | for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { | 56 | for(sz=[-1,1]) translate([0,0,sz*rods_apart/2]) { |
57 | rotate([0,90,0]) | 57 | rotate([0,90,0]) |
58 | cylinder(d=bearings_d,bearings_l,center=true,$fn=60); | 58 | cylinder(d=bearings_d,h=bearings_l,center=true,$fn=60); |
59 | for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) | 59 | for(sx=[-1,1]) translate([sx*bearings_l/4,0,0]) |
60 | rotate([0,90,0]) difference() { | 60 | rotate([0,90,0]) difference() { |
61 | cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); | 61 | cylinder(d=tiehole_od,h=tiehole_w,center=true,$fn=60); |
62 | cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); | 62 | cylinder(d=tiehole_id,h=tiehole_w+2,center=true,$fn=60); |
63 | } | 63 | } |
64 | rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); | 64 | rotate([0,90,0]) cylinder(d=bearings_d-bearings_m,h=cw+2,center=true,$fn=60); |
65 | translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]); | 65 | translate([-cw/2-1,-belt_width,-(bearings_d-bearings_m)/2]) cube(size=[cw+2,belt_width,bearings_d-bearings_m]); |
66 | } | 66 | } |
67 | 67 | ||
68 | difference() { | 68 | difference() { |
69 | gap=belts_apart/6; | 69 | gap=belts_apart/6; |
70 | translate([0,-.5,-gap/2]) | 70 | translate([0,-.5,-gap/2]) |
71 | cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); | 71 | cube(size=[cw+2,belt_width+2,belts_apart+2*belt_thickness+gap],center=true); |
72 | for(mx=[0,1]) mirror([mx,0,0]) { | 72 | for(mx=[0,1]) mirror([mx,0,0]) { |
73 | ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center | 73 | ofc = mounting_holes_apart/2+screwhead_d/2+belt_thickness+belt_tooth+play_tolerance; // offset from center |
74 | r=1; | 74 | r=1; |
75 | x0 = ofc+r; x1=cw/2-r; | 75 | x0 = ofc+r; x1=cw/2-r; |
76 | z0 = r; z1 = belts_apart/2-belt_thickness; | 76 | z0 = r; z1 = belts_apart/2-belt_thickness; |
77 | difference() { | 77 | difference() { |
78 | hull() for(x=[x0,x1]) for(z=[z0,z1]) | 78 | hull() for(x=[x0,x1]) for(z=[z0,z1]) |
79 | translate([x,0,z]) | 79 | translate([x,0,z]) |
80 | rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30); | 80 | rotate([90,0,0]) cylinder(r=r,h=belt_width+2,center=true,$fn=30); |
81 | translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); | 81 | translate([cw/2,0,belts_apart/2]) mirror([0,0,1]) belt(width=belt_width+2,l=cw/2+2,tolerance=fit_tolerance); |
82 | } | 82 | } |