summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad33
1 files changed, 18 insertions, 15 deletions
diff --git a/another.scad b/another.scad
index f4e8904..23243d9 100644
--- a/another.scad
+++ b/another.scad
@@ -94,2 +94,11 @@ module the_extruder(
+ module teardrop(r,d,h,center=false,angle=45) {
+ dd = d ? d : (2*r);
+ $fn = dd*fnd;
+ cylinder(d=dd,h=h,center=center);
+ if(angle>0) translate([0,0,center?-h/2:0])
+ rotate([0,0,angle])
+ cube(size=[d/2,d/2,h]);
+ }
+
module mirrorleft() {
@@ -166,10 +175,7 @@ module the_extruder(
// filament path
- place_idler() {
- translate([-idler_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) {
- cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30);
- translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45])
- cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true);
- }//rotate translate
- translate([-idler_d/2-idler_filament_offset,0,0])
- rotate([90,0,0])
+ place_idler()
+ translate([-idler_d/2-idler_filament_offset,0,0])
+ rotate([90,0,0]) {
+ mirror([0,1,0])
+ teardrop(d=filament_path_d,h=3*gearbox_d,center=true);
translate([0,0,
@@ -181,5 +187,5 @@ module the_extruder(
cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd);
- }
- }//place_idler
-
+ }//translate
+ }//rotate translate place_idler
+
// idler space and mounting hole
@@ -312,6 +318,3 @@ module the_extruder(
pushfit(pf);
- cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d);
- translate([0,-filament_guide_d/2/sqrt(2),0])
- rotate([0,0,45])
- cube(size=[filament_guide_d/2,filament_guide_d/2,gearbox_d],center=true);
+ mirror([0,1,0]) teardrop(d=filament_guide_d,h=gearbox_d,center=true);
}//rotate translate rotate translate rotate translate