summaryrefslogtreecommitdiff
path: root/another.scad
Unidiff
Diffstat (limited to 'another.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad21
1 files changed, 13 insertions, 8 deletions
diff --git a/another.scad b/another.scad
index a93d21a..50b3a84 100644
--- a/another.scad
+++ b/another.scad
@@ -66,16 +66,17 @@ module the_extruder(
66 left=false, 66 left=false,
67 vitamins = true, 67 vitamins = true,
68 supports = false, bridges = true, 68 supports = false, bridges = true,
69 tensioner = true, 69 tensioner = true,
70 debug = false 70 debug = false
71) { 71) {
72 fnd = 2*PI; fnr = 2*fnd; 72 fnd = 2*PI; fnr = 2*fnd;
73 73
74 idler_filament_offset = filament_path_d/2; // -filament_offset;
74 lever_shell = mount_screwhead_h+0.5; 75 lever_shell = mount_screwhead_h+0.5;
75 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 76 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
76 lsd = idler_d-idler_clearance*2; 77 lsd = idler_d-idler_clearance*2;
77 longwing=gearbox_d/2+spring_d/2+lsd/2; 78 longwing=gearbox_d/2+spring_d/2+lsd/2;
78 h_ = (pulley_d+idler_d)/(2*sqrt(2)); 79 h_ = (pulley_d+idler_d)/(2*sqrt(2));
79 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); 80 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) );
80 spring_dl = idler_travel*longwing/ri; 81 spring_dl = idler_travel*longwing/ri;
81 82
@@ -117,22 +118,26 @@ module the_extruder(
117 translate([0,0,pulley_elevation]) { 118 translate([0,0,pulley_elevation]) {
118 cylinder(d=pulley_d,h=pulley_h,$fn=30); 119 cylinder(d=pulley_d,h=pulley_h,$fn=30);
119 translate([0,0,teeth_elevation]) { 120 translate([0,0,teeth_elevation]) {
120 place_idler() { 121 place_idler() {
121 cylinder(d=idler_d,h=idler_h,center=true,$fn=30); 122 cylinder(d=idler_d,h=idler_h,center=true,$fn=30);
122 cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30); 123 cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30);
123 }//place idler 124 }//place idler
124 // filament path 125 // filament path
125 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) { 126 rotate([0,0,45]) {
126 rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15); 127 translate([pulley_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) {
127 rotate([-90,0,0]) 128 cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15);
128 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d]) 129 }//rotate translate
129 pushfit(pf); 130 translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) {
130 } 131 cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15);
132 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d])
133 pushfit(pf);
134 }//rotate translate
135 }//rotate
131 }//translate teeth 136 }//translate teeth
132 }//translate pulley 137 }//translate pulley
133 }//translate protrusion 138 }//translate protrusion
134 }//vitamins 139 }//vitamins
135 140
136 module lever() { 141 module lever() {
137 translate([0,0,protrusion_h+pulley_elevation+teeth_elevation]) { 142 translate([0,0,protrusion_h+pulley_elevation+teeth_elevation]) {
138 difference() { 143 difference() {
@@ -148,22 +153,22 @@ module the_extruder(
148 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); 153 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
149 translate([mount_d/2,-longwing,0]) rotate([0,90,0]) 154 translate([mount_d/2,-longwing,0]) rotate([0,90,0])
150 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60); 155 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60);
151 }//hull 156 }//hull
152 }//union 157 }//union
153 158
154 // filament path 159 // filament path
155 place_idler() { 160 place_idler() {
156 translate([-idler_d/2+filament_offset,0,0]) rotate([90,0,0]) { 161 translate([-idler_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) {
157 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30); 162 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30);
158 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45]) 163 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45])
159 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true); 164 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true);
160 }//rotate translate 165 }//rotate translate
161 translate([-idler_d/2+filament_offset,0,0]) 166 translate([-idler_d/2-idler_filament_offset,0,0])
162 rotate([90,0,0]) 167 rotate([90,0,0])
163 translate([0,0, 168 translate([0,0,
164 sqrt(2)*(mount_d-pulley_d+lsd)/2 169 sqrt(2)*(mount_d-pulley_d+lsd)/2
165 ]) { 170 ]) {
166 cylinder(d1=filament_path_d,d2=2*filament_path_d, 171 cylinder(d1=filament_path_d,d2=2*filament_path_d,
167 h=filament_path_d,$fn=2*filament_path_d*fnd); 172 h=filament_path_d,$fn=2*filament_path_d*fnd);
168 translate([0,0,filament_path_d-epsilon]) 173 translate([0,0,filament_path_d-epsilon])
169 cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd); 174 cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd);