summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad22
1 files changed, 17 insertions, 5 deletions
diff --git a/another.scad b/another.scad
index 7e8a45f..342d70c 100644
--- a/another.scad
+++ b/another.scad
@@ -120,69 +120,81 @@ module the_extruder(
120 }//place idler 120 }//place idler
121 // filament path 121 // filament path
122 rotate([0,0,45]) translate([(pulley_d-filament_path_d)/2,0,0]) { 122 rotate([0,0,45]) translate([(pulley_d-filament_path_d)/2,0,0]) {
123 rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15); 123 rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15);
124 rotate([-90,0,0]) 124 rotate([-90,0,0])
125 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d]) 125 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d])
126 pushfit(pf); 126 pushfit(pf);
127 } 127 }
128 }//translate teeth 128 }//translate teeth
129 }//translate pulley 129 }//translate pulley
130 }//translate protrusion 130 }//translate protrusion
131 }//vitamins 131 }//vitamins
132 132
133 module lever() { 133 module lever() {
134 translate([0,0,protrusion_h+pulley_elevation+teeth_elevation]) { 134 translate([0,0,protrusion_h+pulley_elevation+teeth_elevation]) {
135 difference() { 135 difference() {
136 union() { 136 union() {
137 hull() { 137 hull() {
138 place_idler() 138 place_idler()
139 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); 139 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
140 translate([mount_d/2,0,0]) 140 translate([mount_d/2,0,0])
141 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); 141 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
142 }//hull 142 }//hull
143 hull() { 143 hull() {
144 translate([mount_d/2,0,0]) 144 translate([mount_d/2,0,0])
145 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); 145 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
146 translate([mount_d/2,-longwing,0]) rotate([0,90,0]) 146 translate([mount_d/2,-longwing,0]) rotate([0,90,0])
147 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60); 147 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60);
148 }//hull 148 }//hull
149 }//union 149 }//union
150 150
151 // filament path 151 // filament path
152 place_idler() translate([-(idler_d+filament_path_d)/2,0,0]) rotate([90,0,0]) { 152 place_idler() {
153 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30); 153 translate([-(idler_d+filament_path_d)/2,0,0]) rotate([90,0,0]) {
154 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45]) 154 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30);
155 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true); 155 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45])
156 } 156 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true);
157 }//rotate translate
158 translate([-(idler_d+filament_path_d)/2,0,0])
159 rotate([90,0,0])
160 translate([0,0,
161 sqrt(2)*(mount_d-pulley_d+filament_path_d+lsd)/2
162 ]) {
163 cylinder(d1=filament_path_d,d2=2*filament_path_d,
164 h=filament_path_d,$fn=2*filament_path_d*fnd);
165 translate([0,0,filament_path_d-epsilon])
166 cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd);
167 }
168 }//place_idler
157 169
158 // idler space and mounting hole 170 // idler space and mounting hole
159 place_idler() { 171 place_idler() {
160 difference() { 172 difference() {
161 cylinder(d=idler_d+idler_clearance*2,h=idler_h+idler_v_tolerance,center=true,$fn=60); 173 cylinder(d=idler_d+idler_clearance*2,h=idler_h+idler_v_tolerance,center=true,$fn=60);
162 if(supports) for(y=[-lsd/2+extrusion_width:(lsd-2*extrusion_width)/3:lsd/2-extrusion_width]) 174 if(supports) for(y=[-lsd/2+extrusion_width:(lsd-2*extrusion_width)/3:lsd/2-extrusion_width])
163 translate([-lsd/2-1,y-extrusion_width/2,-idler_h/2-idler_v_tolerance/2-1]) 175 translate([-lsd/2-1,y-extrusion_width/2,-idler_h/2-idler_v_tolerance/2-1])
164 cube(size=[lsd+2,extrusion_width,idler_h+idler_v_tolerance+2]); 176 cube(size=[lsd+2,extrusion_width,idler_h+idler_v_tolerance+2]);
165 } 177 }
166 cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30); 178 cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30);
167 translate([0,0,lever_thickness/2-idler_screwhead_h]) 179 translate([0,0,lever_thickness/2-idler_screwhead_h])
168 cylinder(d=idler_screwhead_d,h=idler_screwhead_h+1,$fn=fnd*idler_screwhead_d); 180 cylinder(d=idler_screwhead_d,h=idler_screwhead_h+1,$fn=fnd*idler_screwhead_d);
169 } 181 }
170 // mounting screw hole 182 // mounting screw hole
171 translate([mount_d/2,0,0]) 183 translate([mount_d/2,0,0])
172 cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=fnd*mount_screw_d); 184 cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=fnd*mount_screw_d);
173 185
174 // lever end 186 // lever end
175 translate([mount_d/2,0,0]) rotate([0,90,0]) { 187 translate([mount_d/2,0,0]) rotate([0,90,0]) {
176 translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15); 188 translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15);
177 translate([0,-longwing,0]) 189 translate([0,-longwing,0])
178 mirror([0,0,1]) 190 mirror([0,0,1])
179 difference() { 191 difference() {
180 cylinder(d=spring_d+spring_d_clearance,h=lsd,$fn=fnd*(spring_d+spring_d_clearance)); 192 cylinder(d=spring_d+spring_d_clearance,h=lsd,$fn=fnd*(spring_d+spring_d_clearance));
181 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); 193 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4);
182 } 194 }
183 }//rotate-translate 195 }//rotate-translate
184 }//difference 196 }//difference
185 // bridging patch 197 // bridging patch
186 if(bridges) place_idler() 198 if(bridges) place_idler()
187 translate([0,0,lever_thickness/2-mount_screwhead_h]) 199 translate([0,0,lever_thickness/2-mount_screwhead_h])
188 mirror([0,0,1]) 200 mirror([0,0,1])