Deleted obsolete files from inherited folder
							parent
							
								
									b403f61945
								
							
						
					
					
						commit
						6abe5e6531
					
				| 
						 | 
				
			
			@ -1,390 +0,0 @@
 | 
			
		|||
// Cyclone PCB Factory: a 3D printable CNC machine for PCB manufacture
 | 
			
		||||
// Created by Carlosgs (http://carlosgs.es)
 | 
			
		||||
// License: Attribution - Share Alike - Creative Commons (http://creativecommons.org/licenses/by-sa/3.0/)
 | 
			
		||||
 /*
 | 
			
		||||
 * August 2013 changes to design top-part mounting screw at same side as bottom-part.
 | 
			
		||||
 * also started introduced 2nd spindle diameter for a-symmetrical spindles. this is not working yet.
 | 
			
		||||
 * by Harry Binnema. 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
include <MCAD/stepper.scad>
 | 
			
		||||
include <MCAD/bearing.scad>
 | 
			
		||||
include <MCAD/metric_fastners.scad>
 | 
			
		||||
include <MCAD/nuts_and_bolts.scad>
 | 
			
		||||
include <MCAD/materials.scad>
 | 
			
		||||
use <../libs/obiscad/bcube.scad>
 | 
			
		||||
use <../libs/build_plate.scad>
 | 
			
		||||
use <../libs/Write/Write.scad>
 | 
			
		||||
use <../libs/linear_bearing.scad>
 | 
			
		||||
use <../libs/rod.scad>
 | 
			
		||||
use <motor_gear.scad>
 | 
			
		||||
use <rod_gear.scad>
 | 
			
		||||
 | 
			
		||||
// Increase the resolution of default shapes
 | 
			
		||||
$fa = 5; // Minimum angle for fragments [degrees]
 | 
			
		||||
$fs = 0.5; // Minimum fragment size [mm]
 | 
			
		||||
 | 
			
		||||
spindle_motor_diam_top = 51.3;
 | 
			
		||||
spindle_motor_diam_top_smaller = 47.5;
 | 
			
		||||
spindle_motor_diam = 47.5;
 | 
			
		||||
spindle_motor_sidelen = 32;
 | 
			
		||||
spindle_holder_thickness = 8;
 | 
			
		||||
spindle_holder_distance = linearBearing_L("LM8UU")*2+3;
 | 
			
		||||
spindle_motor_length = 90;
 | 
			
		||||
 | 
			
		||||
bottom_thickness = 4;
 | 
			
		||||
base_width = 20;
 | 
			
		||||
base_length = 25;
 | 
			
		||||
base_screw_diameter = 5;
 | 
			
		||||
 | 
			
		||||
motor_width = 43;
 | 
			
		||||
motor_length = 49; // not used
 | 
			
		||||
motor_screw_distance = 31.3;
 | 
			
		||||
motor_center_diameter = 23;
 | 
			
		||||
 | 
			
		||||
motor_adjust_margin = 5;
 | 
			
		||||
 | 
			
		||||
motor_screw_diameter = 3.7;
 | 
			
		||||
motor_screw_head_diameter = 8;
 | 
			
		||||
 | 
			
		||||
bearing_diameter = 22.4;
 | 
			
		||||
M8_rod_diameter = 8.2;
 | 
			
		||||
 | 
			
		||||
axis_distance = 21;
 | 
			
		||||
 | 
			
		||||
wall_thickness = 9;
 | 
			
		||||
wall_height = motor_width;
 | 
			
		||||
wall_width = 54;
 | 
			
		||||
 | 
			
		||||
idler_width = 25;
 | 
			
		||||
 | 
			
		||||
lbearing_holder_length = 23*2;
 | 
			
		||||
 | 
			
		||||
ZthreadedOffset = -3.5;
 | 
			
		||||
 | 
			
		||||
axes_Xsmooth_separation = 16+ZthreadedOffset;
 | 
			
		||||
 | 
			
		||||
Z_threaded_pos = motor_width/2+axis_distance+axes_Xsmooth_separation;
 | 
			
		||||
 | 
			
		||||
spindle_front_offset = 10+ZthreadedOffset;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Z_smooth_rods_sep = 40;
 | 
			
		||||
 | 
			
		||||
textHscale = 0.8;
 | 
			
		||||
textThickness = 1.5;
 | 
			
		||||
 | 
			
		||||
LM8UU_dia = 14.95+0.5;
 | 
			
		||||
 | 
			
		||||
Cyclone_Nema17 = [
 | 
			
		||||
                [NemaModel, 17],
 | 
			
		||||
                [NemaLengthShort, 33*mm],
 | 
			
		||||
                [NemaLengthMedium, 39*mm],
 | 
			
		||||
                [NemaLengthLong, 48*mm],
 | 
			
		||||
                [NemaSideSize, 42.30*mm],
 | 
			
		||||
                [NemaDistanceBetweenMountingHoles, 31.0*mm],
 | 
			
		||||
                [NemaMountingHoleDiameter, 4*mm],
 | 
			
		||||
                [NemaMountingHoleDepth, 5.5*mm], //actual is 4.5mm, motor() module is generating 1mm short
 | 
			
		||||
                [NemaMountingHoleLip, -1*mm],
 | 
			
		||||
                [NemaMountingHoleCutoutRadius, 0*mm],
 | 
			
		||||
                [NemaEdgeRoundingRadius, 7*mm],
 | 
			
		||||
                [NemaRoundExtrusionDiameter, 22*mm],
 | 
			
		||||
                [NemaRoundExtrusionHeight, 1.9*mm],
 | 
			
		||||
                [NemaAxleDiameter, 5*mm],
 | 
			
		||||
                [NemaFrontAxleLength, 24*mm],
 | 
			
		||||
                [NemaBackAxleLength, 15*mm],
 | 
			
		||||
                [NemaAxleFlatDepth, 0.5*mm],
 | 
			
		||||
                [NemaAxleFlatLengthFront, 15*mm],
 | 
			
		||||
                [NemaAxleFlatLengthBack, 14*mm]
 | 
			
		||||
         ];
 | 
			
		||||
 | 
			
		||||
module dummySpindle(length=0) {
 | 
			
		||||
	translate([0,0,-length]) {
 | 
			
		||||
		translate([0,0,spindle_motor_length-5]) color([0.95,0.95,0.95]) cylinder(r=26,h=30);
 | 
			
		||||
		translate([0,0,spindle_motor_length-10]) color([0.95,0.95,0.95]) cylinder(r=10/2,h=5);
 | 
			
		||||
		translate([0,0,-10]) color([0.6,0.6,0.6]) cylinder(r=26,h=spindle_motor_length);
 | 
			
		||||
		translate([0,0,-40]) color([0.9,0.9,0.9]) cylinder(r=15/2,h=40);
 | 
			
		||||
		translate([0,0,-50]) color([0.4,0.4,0.4]) cylinder(r=20/2,h=10);
 | 
			
		||||
		translate([0,0,-50-20]) color([0.9,0.9,0.9]) cylinder(r1=1/2,r2=3/2,h=20);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Derived from Spindle mount for ShapeOko by Misan (http://www.thingiverse.com/thing:26740)
 | 
			
		||||
module spindle_holder_holes(length,spindiam, basediam,top_part) {
 | 
			
		||||
	//$fn=6;
 | 
			
		||||
 | 
			
		||||
	translate([20,8,-0.05]) cylinder(r=basediam/2,h=length+2);
 | 
			
		||||
	translate([-20,8,-0.05]) cylinder(r=basediam/2,h=length+2);
 | 
			
		||||
	translate([0,spindle_front_offset,0])
 | 
			
		||||
	if (top_part){
 | 
			
		||||
		translate([0,38,0]) rotate([0,0,0]) {
 | 
			
		||||
		translate([0,0,-0.05]) {
 | 
			
		||||
			cylinder(r=spindle_motor_diam_top_smaller/2,h=length+2);
 | 
			
		||||
			intersection() {
 | 
			
		||||
				cylinder(r=spindle_motor_diam_top/2,h=length+2);
 | 
			
		||||
				cube([spindle_motor_diam_top,spindle_motor_sidelen,2*(length+2)],center=true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		translate([0,-4,-0.01]) cube([90,4,length+2]);
 | 
			
		||||
		translate ([spindiam/2+15,15,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
 | 
			
		||||
		translate ([spindiam/2+15,-10.5,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
 | 
			
		||||
		}		
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		translate([0,38,0]) rotate([0,0,180]) {
 | 
			
		||||
		translate([0,0,-0.05]) cylinder(r=spindle_motor_diam/2,h=length+2);
 | 
			
		||||
		translate([0,0,-0.01]) cube([90,4,length+2]);
 | 
			
		||||
		translate ([spindiam/2+15,20,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
 | 
			
		||||
		translate ([spindiam/2+15,15,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
 | 
			
		||||
		}
 | 
			
		||||
		}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module motorHolesZ() {
 | 
			
		||||
    // Hole for the motor shaft
 | 
			
		||||
    hull() {
 | 
			
		||||
      translate([0,motor_adjust_margin/2,0])
 | 
			
		||||
        cylinder(r=motor_center_diameter/2,h=10*wall_thickness,center=true);
 | 
			
		||||
      translate([0,-motor_adjust_margin/2,0])
 | 
			
		||||
        cylinder(r=motor_center_diameter/2,h=10*wall_thickness,center=true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Hole for the screwdriver
 | 
			
		||||
    translate([0,-wall_width/2,wall_thickness/2]) rotate([0,90,90]) bcube([2*(wall_thickness-5),5,wall_height],cr=1);
 | 
			
		||||
 | 
			
		||||
    // Screws for holding the motor
 | 
			
		||||
    for(i=[-1,1]) for(j=[-1,1])
 | 
			
		||||
    translate([i*motor_screw_distance/2,j*motor_screw_distance/2,2.5-wall_thickness/2+3]) {
 | 
			
		||||
      hull() {
 | 
			
		||||
        translate([0,motor_adjust_margin/2,0])
 | 
			
		||||
          cylinder(r=motor_screw_diameter/2,h=10*wall_thickness,center=true);
 | 
			
		||||
        translate([0,-motor_adjust_margin/2,0])
 | 
			
		||||
          cylinder(r=motor_screw_diameter/2,h=10*wall_thickness,center=true);
 | 
			
		||||
      }
 | 
			
		||||
      hull() {
 | 
			
		||||
        translate([0,motor_adjust_margin/2,0])
 | 
			
		||||
          cylinder(r=motor_screw_head_diameter/2,h=10*wall_thickness,center=false);
 | 
			
		||||
        translate([0,-motor_adjust_margin/2,0])
 | 
			
		||||
          cylinder(r=motor_screw_head_diameter/2,h=10*wall_thickness,center=false);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module motor_stand_holes_Z() {
 | 
			
		||||
//difference() {
 | 
			
		||||
//  translate([wall_height/2,wall_width/2,wall_thickness/2])
 | 
			
		||||
//    bcube([wall_height,wall_width,wall_thickness],cr=4,cres=10);
 | 
			
		||||
 | 
			
		||||
  // Position relative to motor shaft
 | 
			
		||||
  translate([motor_width/2,motor_width/2,wall_thickness/2]) {
 | 
			
		||||
    motorHolesZ();
 | 
			
		||||
 | 
			
		||||
    // Bearing holes
 | 
			
		||||
    rotate([0,0,0]) translate([0,axis_distance,0]) {
 | 
			
		||||
		hull() {
 | 
			
		||||
      	cylinder(r=(M8_rod_diameter*2)/2,h=10*wall_thickness,center=true);
 | 
			
		||||
			translate([0,-axis_distance,0])
 | 
			
		||||
				cylinder(r=(M8_rod_diameter*2)/2,h=10*wall_thickness,center=true);
 | 
			
		||||
		}
 | 
			
		||||
      cylinder(r=bearing_diameter/2,h=10*wall_thickness,center=false);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  } // End of translate relative to motor shaft
 | 
			
		||||
//} // End of difference
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module linearBearingHolderZ(h=10) {
 | 
			
		||||
	translate([0,0,1.5]) cylinder(r=LM8UU_dia/2,h=h);
 | 
			
		||||
	cylinder(r=LM8UU_dia/2.5,h=10*h,center=true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module Z_solid_body(top_part=true) {
 | 
			
		||||
	hull() {
 | 
			
		||||
		if(top_part)
 | 
			
		||||
			translate([wall_height/2,wall_width/2,wall_thickness/2])
 | 
			
		||||
				bcube([wall_height,wall_width,wall_thickness],cr=4,cres=10);
 | 
			
		||||
		else
 | 
			
		||||
			translate([wall_height/2,wall_width,wall_thickness/2])
 | 
			
		||||
				bcube([wall_height,wall_width/2,wall_thickness],cr=4,cres=10);
 | 
			
		||||
		translate([0,spindle_front_offset,0])
 | 
			
		||||
			translate([wall_height/2,wall_width-4,0])
 | 
			
		||||
			translate([0,38,0])
 | 
			
		||||
				if(top_part)
 | 
			
		||||
					cylinder(r=spindle_motor_diam_top/2+spindle_holder_thickness,h=wall_thickness);
 | 
			
		||||
				else
 | 
			
		||||
					cylinder(r=spindle_motor_diam/2+spindle_holder_thickness,h=wall_thickness);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// For the linear bearing holders
 | 
			
		||||
	hull() {
 | 
			
		||||
		translate([wall_height/2-Z_smooth_rods_sep/2,Z_threaded_pos,0])
 | 
			
		||||
			cylinder(r=3+LM8UU_dia/2,h=wall_thickness);
 | 
			
		||||
		translate([wall_height/2+Z_smooth_rods_sep/2,Z_threaded_pos,0])
 | 
			
		||||
			cylinder(r=3+LM8UU_dia/2,h=wall_thickness);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// For the claw of the spindle holder
 | 
			
		||||
translate([0,spindle_front_offset,0])
 | 
			
		||||
if(top_part){
 | 
			
		||||
	translate([wall_height/2,wall_width-4,0])
 | 
			
		||||
		translate([0,38,0]) {
 | 
			
		||||
			rotate([0,0,0]) {
 | 
			
		||||
				translate([spindle_motor_diam_top/2,-12.5,0]) cube([20,20,wall_thickness]);
 | 
			
		||||
				
 | 
			
		||||
	// Write text in the front
 | 
			
		||||
	color([0.5,0.5,0.5])
 | 
			
		||||
			rotate([0,0,180]) scale([-1,1,-textHscale])
 | 
			
		||||
				writecylinder("CYCLONE",[0,0,-wall_thickness/(2*textHscale)],spindle_motor_diam_top/2+spindle_holder_thickness,0,font="orbitron.dxf",space=1.1,h=wall_thickness,t=textThickness,center=true,ccw=true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
translate([wall_height/2,wall_width-4,0])
 | 
			
		||||
		translate([0,38,0]) {
 | 
			
		||||
			
 | 
			
		||||
			rotate([0,0,180]) {
 | 
			
		||||
			translate([spindle_motor_diam/2,-7-0.5,0]) cube([22,20,wall_thickness]);
 | 
			
		||||
			color([0.2,0.2,0.5])
 | 
			
		||||
			scale([1,1,textHscale])
 | 
			
		||||
				writecylinder("PCB Factory",[0,0,wall_thickness/(2*textHscale)+1],spindle_motor_diam/2+spindle_holder_thickness,0,font="orbitron.dxf",space=1.1,h=wall_thickness-2,t=textThickness,center=true,ccw=true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//for display only, doesn't contribute to final object
 | 
			
		||||
//build_plate(3,200,200);
 | 
			
		||||
 | 
			
		||||
module Z_carriage(showSpindle=false,top_part=true, with_extra_parts=false, exploded=false) {
 | 
			
		||||
 | 
			
		||||
	difference() {
 | 
			
		||||
		rotate([0,0,-90]) translate([-wall_height/2,-Z_threaded_pos,0]) {
 | 
			
		||||
			difference () {
 | 
			
		||||
				Z_solid_body(top_part);
 | 
			
		||||
				if(top_part) motor_stand_holes_Z();
 | 
			
		||||
				translate([wall_height/2,wall_width-4,0])
 | 
			
		||||
					spindle_holder_holes(wall_thickness,spindle_motor_diam,base_screw_diameter,top_part);
 | 
			
		||||
				translate([wall_height/2-Z_smooth_rods_sep/2,Z_threaded_pos,0])
 | 
			
		||||
					linearBearingHolderZ(wall_thickness);
 | 
			
		||||
				translate([wall_height/2+Z_smooth_rods_sep/2,Z_threaded_pos,0])
 | 
			
		||||
					linearBearingHolderZ(wall_thickness);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Hole for the threaded rod
 | 
			
		||||
		if(!top_part) {
 | 
			
		||||
			translate([-axes_Xsmooth_separation,0,0]) 
 | 
			
		||||
				cylinder(r=6+M8_rod_diameter,h=wall_thickness*10,center=true);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Truncation in the base for avoiding collision with the X axis
 | 
			
		||||
		if(!top_part) translate([-15-axes_Xsmooth_separation+11+ZthreadedOffset,0,0]) cube([20,100,50],center=true);
 | 
			
		||||
	}
 | 
			
		||||
	*if(showSpindle) rotate([0,0,-90]) translate([0,wall_width-4-Z_threaded_pos,0])
 | 
			
		||||
			translate([0,38,-20+8]) dummySpindle();
 | 
			
		||||
    if(with_extra_parts) {
 | 
			
		||||
      Z_carriage_extras(top_part=top_part, exploded_distance=exploded?27:0);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module Z_carriage_extras(top_part=true, exploded_distance=0) {
 | 
			
		||||
  if(top_part) {
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Nema 17 for Z axis");
 | 
			
		||||
    translate([-motor_width/2,0,1-exploded_distance])
 | 
			
		||||
      rotate([0,180,0])
 | 
			
		||||
        motor(Cyclone_Nema17, NemaLengthLong);
 | 
			
		||||
 | 
			
		||||
    echo("Non-Plastic Parts, 4, Bolt M3 x 6 mm for Z motor");
 | 
			
		||||
    for(i=[-1,1]) for(j=[-1,1])
 | 
			
		||||
      translate([-motor_width/2,0,0])
 | 
			
		||||
        translate([i*motor_screw_distance/2,j*motor_screw_distance/2,2.5+exploded_distance*0.7]) {
 | 
			
		||||
          rotate([0,180,0]) color(Steel) boltHole(size=3, length=6);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    translate([-motor_width/2,0,7+5+wall_thickness/2+2.9])
 | 
			
		||||
      rotate([0,0,-90])
 | 
			
		||||
        cyclone_motor_z_gear(with_extra_parts=true, exploded=(exploded_distance!=0));
 | 
			
		||||
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Bearing 608 for Z motor");
 | 
			
		||||
    translate([0,0,wall_thickness/2])
 | 
			
		||||
      bearing(model=608);
 | 
			
		||||
 | 
			
		||||
    translate([0,0,3/2+0.8*8+wall_thickness/2+7+exploded_distance/2])
 | 
			
		||||
      rotate([180,0,11])
 | 
			
		||||
        cyclone_rod_z_gear(with_extra_parts=true, exploded=(exploded_distance!=0));
 | 
			
		||||
 | 
			
		||||
    echo("Non-Plastic Parts, 2, Bolt M5 x 55 mm to attach Z_carriage top and bottom");
 | 
			
		||||
    rotate([0,0,-90]) translate([-wall_height/2,-Z_threaded_pos,0])
 | 
			
		||||
      translate([wall_height/2,wall_width-4,0]) color(Steel) {
 | 
			
		||||
        translate([20,8,-0.05-2.5*exploded_distance])
 | 
			
		||||
          boltHole(size=5, length=55);
 | 
			
		||||
        translate([-20,8,-0.05-2.5*exploded_distance])
 | 
			
		||||
          boltHole(size=5, length=55);
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Spindle");
 | 
			
		||||
 | 
			
		||||
    echo("Non-Plastic Parts, 2, Nut M5 to attach Z_carriage top and bottom");
 | 
			
		||||
    rotate([0,0,-90]) translate([-wall_height/2,-Z_threaded_pos,0])
 | 
			
		||||
      translate([wall_height/2,wall_width-4,0]) color(Steel) {
 | 
			
		||||
        translate([20,8,-0.8*5-0.5*exploded_distance])
 | 
			
		||||
          flat_nut(5);
 | 
			
		||||
        translate([-20,8,-0.8*5-0.5*exploded_distance])
 | 
			
		||||
          flat_nut(5);
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(top_part)
 | 
			
		||||
    echo("Non-Plastic Parts, 2, Linear Bearing LM8UU for Z_carriage top part");
 | 
			
		||||
  else
 | 
			
		||||
    echo("Non-Plastic Parts, 2, Linear Bearing LM8UU for Z_carriage bottom part");
 | 
			
		||||
  rotate([0,0,-90])
 | 
			
		||||
  translate([-wall_height/2,-Z_threaded_pos,0]) {
 | 
			
		||||
    translate([wall_height/2-Z_smooth_rods_sep/2,Z_threaded_pos,0])
 | 
			
		||||
      translate([0,0,1.5-exploded_distance])
 | 
			
		||||
        linearBearing(model="LM8UU");
 | 
			
		||||
    translate([wall_height/2+Z_smooth_rods_sep/2,Z_threaded_pos,0])
 | 
			
		||||
	    translate([0,0,1.5-exploded_distance])
 | 
			
		||||
	      linearBearing(model="LM8UU");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if(top_part) {
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Bolt M3 x 20 mm for Z_carriage part");
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Nut M3 for Z_carriage top part");
 | 
			
		||||
  }
 | 
			
		||||
  else {
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Bolt M3 x 20 mm for Z_carriage bottom part");
 | 
			
		||||
    echo("Non-Plastic Parts, 1, Nut M3 for Z_carriage bottom part");
 | 
			
		||||
  }
 | 
			
		||||
  rotate([0,top_part ? 0:180,-90]) translate([-wall_height/2,0,0])
 | 
			
		||||
  translate([wall_height/2,wall_width+(top_part?-1:-1.5),0]) {
 | 
			
		||||
    translate ([spindle_motor_diam/2+15,exploded_distance,top_part ? wall_thickness/2:-wall_thickness/2]) rotate([90,0,0])
 | 
			
		||||
      color(Steel) boltHole(size=3, length=20);
 | 
			
		||||
    translate ([spindle_motor_diam/2+15,-20.4-0.5*exploded_distance,top_part ? wall_thickness/2:-wall_thickness/2]) rotate([90,0,180])
 | 
			
		||||
      color(Steel) flat_nut(3);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module Z_carriage_assembled(z_thread_rod_length=120, with_extra_parts=false, exploded=false) {
 | 
			
		||||
	Z_carriage(showSpindle=true,top_part=false,with_extra_parts=with_extra_parts, exploded=exploded);
 | 
			
		||||
	translate([0,0,spindle_holder_distance]) rotate([180,0,0]) Z_carriage(showSpindle=false,top_part=true,
 | 
			
		||||
      with_extra_parts=with_extra_parts, exploded=exploded);
 | 
			
		||||
 | 
			
		||||
    if(z_thread_rod_length)
 | 
			
		||||
      translate([-axes_Xsmooth_separation,0,-z_thread_rod_length/2+spindle_holder_distance]) rotate([90,0,0])
 | 
			
		||||
        %rod(len=z_thread_rod_length, threaded=true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Z_carriage_assembled();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,129 +0,0 @@
 | 
			
		|||
/* Derived by Carlosgs from:
 | 
			
		||||
 * http://www.thingiverse.com/thing:12789
 | 
			
		||||
 * An extruder gear set for the TechZone Huxley,
 | 
			
		||||
 *	featuring Herringbone teeth.
 | 
			
		||||
 * You will have to recalibrate your E_STEPS_PER_MM in
 | 
			
		||||
 *	your firmware (ratio changing from original techzone
 | 
			
		||||
 *	lasercut gears).
 | 
			
		||||
 * This use 2 modules from the MCAD library that you can
 | 
			
		||||
 *	get from https://github.com/elmom/MCAD.
 | 
			
		||||
 * 
 | 
			
		||||
 * Part - the motor gear mount hub with set screw hole -
 | 
			
		||||
 *	derived from http://www.thingiverse.com/thing:3104
 | 
			
		||||
 *	(thanks GilesBathgate) which is under GPL CC license.
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2011	Guy 'DeuxVis' P.
 | 
			
		||||
 *
 | 
			
		||||
 * August 2013 added 2 extra setscrews to ensure centered usage.
 | 
			
		||||
 * by Harry Binnema. 
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU General Public License
 | 
			
		||||
 * as published by the Free Software Foundation; either version 2
 | 
			
		||||
 * of the License, or (at your option) any later version.
 | 
			
		||||
 * 
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA	02110-1301, USA.
 | 
			
		||||
 * -- 
 | 
			
		||||
 *		 DeuxVis - device@ymail.com */
 | 
			
		||||
 | 
			
		||||
include <MCAD/materials.scad>
 | 
			
		||||
include <MCAD/teardrop.scad>
 | 
			
		||||
include <MCAD/involute_gears.scad>
 | 
			
		||||
 | 
			
		||||
motor_shaft_diameter=5.6;
 | 
			
		||||
BigGear_N_Teeth = 21; // 24
 | 
			
		||||
 | 
			
		||||
nholes = 9; // 7
 | 
			
		||||
holes_diam = 6;
 | 
			
		||||
hole_distance_from_center = 13.5-4.5+holes_diam/2;
 | 
			
		||||
 | 
			
		||||
// Increase the resolution of default shapes
 | 
			
		||||
$fa = 5; // Minimum angle for fragments [degrees]
 | 
			
		||||
$fs = 0.5; // Minimum fragment size [mm]
 | 
			
		||||
 | 
			
		||||
/* Herringbone gear module, adapted from MCAD/involute_gears */
 | 
			
		||||
module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
 | 
			
		||||
	twist=0;//100;
 | 
			
		||||
	height=10;
 | 
			
		||||
	pressure_angle=30;
 | 
			
		||||
	
 | 
			
		||||
	diam = teeth*2;
 | 
			
		||||
	
 | 
			
		||||
	truncation_length = 2.8;
 | 
			
		||||
	truncation_height = height/2.5;
 | 
			
		||||
 | 
			
		||||
	module myGear() {
 | 
			
		||||
		difference() {
 | 
			
		||||
			gear(
 | 
			
		||||
				number_of_teeth=teeth,
 | 
			
		||||
				circular_pitch=320,
 | 
			
		||||
				pressure_angle=pressure_angle,
 | 
			
		||||
				clearance = 0.2,
 | 
			
		||||
				gear_thickness = height/2,
 | 
			
		||||
				rim_thickness = height/2,
 | 
			
		||||
				rim_width = 1,
 | 
			
		||||
				hub_thickness = height/2,
 | 
			
		||||
				hub_diameter=1,
 | 
			
		||||
				bore_diameter=shaft,
 | 
			
		||||
				circles=circles,
 | 
			
		||||
				twist=twist/teeth
 | 
			
		||||
			);
 | 
			
		||||
			mirror([0,0,1]) translate([0,0,-height/2-0.01]) {
 | 
			
		||||
				difference() {
 | 
			
		||||
					cylinder(r=diam/2, h=truncation_height);
 | 
			
		||||
					translate([0,0,-0.01])
 | 
			
		||||
						cylinder(r1=diam/2-truncation_length, r2=diam/2+1, h=truncation_height+0.02);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	myGear();
 | 
			
		||||
	mirror( [0,0,1] )
 | 
			
		||||
		myGear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module cyclone_motor_gear(with_extra_parts=false, exploded=false) {
 | 
			
		||||
// Motor gear
 | 
			
		||||
union() difference() {	 
 | 
			
		||||
	union() {
 | 
			
		||||
 | 
			
		||||
		//gear
 | 
			
		||||
		herringbone_gear( teeth=BigGear_N_Teeth );
 | 
			
		||||
 | 
			
		||||
		translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() {
 | 
			
		||||
			//shaft
 | 
			
		||||
			cylinder( r=9, h=15);
 | 
			
		||||
			//captive nut and grub holes
 | 
			
		||||
			translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() {
 | 
			
		||||
				//enterance
 | 
			
		||||
				translate( [0, -3, 14.8] ) cube( [6.3, 6, 2.8], center=true );
 | 
			
		||||
				//nut
 | 
			
		||||
				translate( [0, 0, 14.8] ) rotate( [0, 0, 30] )
 | 
			
		||||
					cylinder( r=6/2+0.5, h=2.8, $fn=6, center=true);
 | 
			
		||||
				//grub hole
 | 
			
		||||
				translate( [0, 0, 9] ) cylinder( r=3.6/2, h=10);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//holes to save plastic
 | 
			
		||||
	//for(i=[0:nholes-1])
 | 
			
		||||
	//	rotate( [0, 0, i*360/(nholes)+45])
 | 
			
		||||
	//		translate( [hole_distance_from_center, 0] )
 | 
			
		||||
	//			cylinder( r=holes_diam/2, h=11, center=true);
 | 
			
		||||
 | 
			
		||||
	//shaft hole
 | 
			
		||||
	translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20);
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cyclone_motor_gear();
 | 
			
		||||
| 
						 | 
				
			
			@ -1,99 +0,0 @@
 | 
			
		|||
/* Derived by Carlosgs from:
 | 
			
		||||
 * http://www.thingiverse.com/thing:12789
 | 
			
		||||
 * An extruder gear set for the TechZone Huxley,
 | 
			
		||||
 *	featuring Herringbone teeth.
 | 
			
		||||
 * You will have to recalibrate your E_STEPS_PER_MM in
 | 
			
		||||
 *	your firmware (ratio changing from original techzone
 | 
			
		||||
 *	lasercut gears).
 | 
			
		||||
 * This use 2 modules from the MCAD library that you can
 | 
			
		||||
 *	get from https://github.com/elmom/MCAD.
 | 
			
		||||
 * 
 | 
			
		||||
 * Part - the motor gear mount hub with set screw hole -
 | 
			
		||||
 *	derived from http://www.thingiverse.com/thing:3104
 | 
			
		||||
 *	(thanks GilesBathgate) which is under GPL CC license.
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2011	Guy 'DeuxVis' P.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU General Public License
 | 
			
		||||
 * as published by the Free Software Foundation; either version 2
 | 
			
		||||
 * of the License, or (at your option) any later version.
 | 
			
		||||
 * 
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA	02110-1301, USA.
 | 
			
		||||
 * -- 
 | 
			
		||||
 *		 DeuxVis - device@ymail.com */
 | 
			
		||||
 | 
			
		||||
include <MCAD/involute_gears.scad>
 | 
			
		||||
 | 
			
		||||
M8_nut_diameter = 15.3;
 | 
			
		||||
nut_separation = 5;
 | 
			
		||||
 | 
			
		||||
SmallGear_N_Teeth = 21;
 | 
			
		||||
M8_rod_diam = 8.6;
 | 
			
		||||
 | 
			
		||||
// Increase the resolution of default shapes
 | 
			
		||||
$fa = 5; // Minimum angle for fragments [degrees]
 | 
			
		||||
$fs = 0.5; // Minimum fragment size [mm]
 | 
			
		||||
 | 
			
		||||
/* Herringbone gear module, adapted from MCAD/involute_gears */
 | 
			
		||||
module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
 | 
			
		||||
	twist=0;//100;
 | 
			
		||||
	height=10;
 | 
			
		||||
	pressure_angle=30;
 | 
			
		||||
 | 
			
		||||
	diam = teeth*2;
 | 
			
		||||
	
 | 
			
		||||
	truncation_length = 2.8;
 | 
			
		||||
	truncation_height = height/2.5;
 | 
			
		||||
 | 
			
		||||
	module myGear() {
 | 
			
		||||
		difference() {
 | 
			
		||||
			gear(
 | 
			
		||||
				number_of_teeth=teeth,
 | 
			
		||||
				circular_pitch=320,
 | 
			
		||||
				pressure_angle=pressure_angle,
 | 
			
		||||
				clearance = 0.2,
 | 
			
		||||
				gear_thickness = height/2,
 | 
			
		||||
				rim_thickness = height/2,
 | 
			
		||||
				rim_width = 1,
 | 
			
		||||
				hub_thickness = height/2,
 | 
			
		||||
				hub_diameter=1,
 | 
			
		||||
				bore_diameter=shaft,
 | 
			
		||||
				circles=circles,
 | 
			
		||||
				twist=twist/teeth
 | 
			
		||||
			);
 | 
			
		||||
			mirror([0,0,1]) translate([0,0,-height/2-0.01]) {
 | 
			
		||||
				difference() {
 | 
			
		||||
					cylinder(r=diam/2+1, h=truncation_height);
 | 
			
		||||
					translate([0,0,-0.01])
 | 
			
		||||
						cylinder(r1=diam/2-truncation_length, r2=diam/2+1, h=truncation_height+0.02);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	myGear();
 | 
			
		||||
	mirror( [0,0,1] )
 | 
			
		||||
		myGear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module cyclone_rod_gear(with_extra_parts=false, exploded=false) {
 | 
			
		||||
// Extruder Gear
 | 
			
		||||
difference() {
 | 
			
		||||
	union() {
 | 
			
		||||
		//gear
 | 
			
		||||
		rotate([180,0,0]) herringbone_gear( teeth=SmallGear_N_Teeth, circles=0, shaft=M8_rod_diam);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	translate( [0, 0, (nut_separation/2)] ) cylinder( r=M8_nut_diameter/2, h=7, $fn=6 );
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cyclone_rod_gear();
 | 
			
		||||
| 
						 | 
				
			
			@ -1,107 +0,0 @@
 | 
			
		|||
/* Derived by Carlosgs from:
 | 
			
		||||
 * http://www.thingiverse.com/thing:12789
 | 
			
		||||
 * An extruder gear set for the TechZone Huxley,
 | 
			
		||||
 *	featuring Herringbone teeth.
 | 
			
		||||
 * You will have to recalibrate your E_STEPS_PER_MM in
 | 
			
		||||
 *	your firmware (ratio changing from original techzone
 | 
			
		||||
 *	lasercut gears).
 | 
			
		||||
 * This use 2 modules from the MCAD library that you can
 | 
			
		||||
 *	get from https://github.com/elmom/MCAD.
 | 
			
		||||
 * 
 | 
			
		||||
 * Part - the motor gear mount hub with set screw hole -
 | 
			
		||||
 *	derived from http://www.thingiverse.com/thing:3104
 | 
			
		||||
 *	(thanks GilesBathgate) which is under GPL CC license.
 | 
			
		||||
 *
 | 
			
		||||
 * August 2013 added 2 extra setscrews to ensure centered usage.
 | 
			
		||||
 * by Harry Binnema. 
 | 
			
		||||
 *
 | 
			
		||||
* Copyright (C) 2011	Guy 'DeuxVis' P.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU General Public License
 | 
			
		||||
 * as published by the Free Software Foundation; either version 2
 | 
			
		||||
 * of the License, or (at your option) any later version.
 | 
			
		||||
 * 
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA	02110-1301, USA.
 | 
			
		||||
 * -- 
 | 
			
		||||
 *		 DeuxVis - device@ymail.com */
 | 
			
		||||
 | 
			
		||||
include <MCAD/materials.scad>
 | 
			
		||||
include <MCAD/teardrop.scad>
 | 
			
		||||
include <MCAD/involute_gears.scad>
 | 
			
		||||
 | 
			
		||||
motor_shaft_diameter=5.6;
 | 
			
		||||
pos=15.4-1; //position hole for grubnut
 | 
			
		||||
nholes = 7;
 | 
			
		||||
shaft_diam=9;
 | 
			
		||||
shaft_height=7;
 | 
			
		||||
 | 
			
		||||
// Increase the resolution of default shapes
 | 
			
		||||
$fa = 5; // Minimum angle for fragments [degrees]
 | 
			
		||||
$fs = 0.5; // Minimum fragment size [mm]
 | 
			
		||||
 | 
			
		||||
/* Herringbone gear module, adapted from MCAD/involute_gears */
 | 
			
		||||
module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
 | 
			
		||||
	twist=0;//100;
 | 
			
		||||
	height=10;
 | 
			
		||||
	pressure_angle=30;
 | 
			
		||||
 | 
			
		||||
	module myGear() {
 | 
			
		||||
		gear(
 | 
			
		||||
			number_of_teeth=teeth,
 | 
			
		||||
			circular_pitch=320,
 | 
			
		||||
			pressure_angle=pressure_angle,
 | 
			
		||||
			clearance = 0.2,
 | 
			
		||||
			gear_thickness = height/2,
 | 
			
		||||
			rim_thickness = height/2,
 | 
			
		||||
			rim_width = 1,
 | 
			
		||||
			hub_thickness = height/2,
 | 
			
		||||
			hub_diameter=1,
 | 
			
		||||
			bore_diameter=shaft,
 | 
			
		||||
			circles=circles,
 | 
			
		||||
			twist=twist/teeth
 | 
			
		||||
		);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	myGear();
 | 
			
		||||
	mirror( [0,0,1] )
 | 
			
		||||
		myGear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module cyclone_motor_z_gear(with_extra_parts=false, exploded=false) {
 | 
			
		||||
// Motor gear
 | 
			
		||||
rotate([180,0,0]) union() difference() {	 
 | 
			
		||||
	union() {
 | 
			
		||||
 | 
			
		||||
		//gear
 | 
			
		||||
		herringbone_gear( teeth=8 );
 | 
			
		||||
 | 
			
		||||
		translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() {
 | 
			
		||||
			//shaft
 | 
			
		||||
			cylinder( r=shaft_diam, h=shaft_height);
 | 
			
		||||
			//captive nut and grub holes
 | 
			
		||||
			translate( [0, 19.5, 3.5] ) rotate( [90, 0, 0] ) union() {
 | 
			
		||||
				//enterance
 | 
			
		||||
				translate( [0, -3, 14.5] ) cube( [6, 6, 2.8], center=true );
 | 
			
		||||
				//nut
 | 
			
		||||
				translate( [0, 0, 14.5] ) rotate( [0, 0, 30] )
 | 
			
		||||
					cylinder( r=6/2+0.5, h=2.8, $fn=6, center=true);
 | 
			
		||||
				//grub hole
 | 
			
		||||
				translate( [0, 0, 9] ) cylinder( r=3.3/2, h=10);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//shaft hole
 | 
			
		||||
	translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20);
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cyclone_motor_z_gear();
 | 
			
		||||
| 
						 | 
				
			
			@ -1,99 +0,0 @@
 | 
			
		|||
/* Derived by Carlosgs from:
 | 
			
		||||
 * http://www.thingiverse.com/thing:12789
 | 
			
		||||
 * An extruder gear set for the TechZone Huxley,
 | 
			
		||||
 *	featuring Herringbone teeth.
 | 
			
		||||
 * You will have to recalibrate your E_STEPS_PER_MM in
 | 
			
		||||
 *	your firmware (ratio changing from original techzone
 | 
			
		||||
 *	lasercut gears).
 | 
			
		||||
 * This use 2 modules from the MCAD library that you can
 | 
			
		||||
 *	get from https://github.com/elmom/MCAD.
 | 
			
		||||
 * 
 | 
			
		||||
 * Part - the motor gear mount hub with set screw hole -
 | 
			
		||||
 *	derived from http://www.thingiverse.com/thing:3104
 | 
			
		||||
 *	(thanks GilesBathgate) which is under GPL CC license.
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2011	Guy 'DeuxVis' P.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU General Public License
 | 
			
		||||
 * as published by the Free Software Foundation; either version 2
 | 
			
		||||
 * of the License, or (at your option) any later version.
 | 
			
		||||
 * 
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA	02110-1301, USA.
 | 
			
		||||
 * -- 
 | 
			
		||||
 *		 DeuxVis - device@ymail.com */
 | 
			
		||||
 | 
			
		||||
include <MCAD/involute_gears.scad>
 | 
			
		||||
 | 
			
		||||
M8_nut_diameter = 15.3;
 | 
			
		||||
nut_separation = 5;
 | 
			
		||||
 | 
			
		||||
SmallGear_N_Teeth = 15;
 | 
			
		||||
M8_rod_diam = 8.6;
 | 
			
		||||
 | 
			
		||||
// Increase the resolution of default shapes
 | 
			
		||||
$fa = 5; // Minimum angle for fragments [degrees]
 | 
			
		||||
$fs = 0.5; // Minimum fragment size [mm]
 | 
			
		||||
 | 
			
		||||
/* Herringbone gear module, adapted from MCAD/involute_gears */
 | 
			
		||||
module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
 | 
			
		||||
	twist=0;//100;
 | 
			
		||||
	height=10;
 | 
			
		||||
	pressure_angle=30;
 | 
			
		||||
 | 
			
		||||
	diam = teeth*2;
 | 
			
		||||
	
 | 
			
		||||
	truncation_length = 2.8;
 | 
			
		||||
	truncation_height = height/2.5;
 | 
			
		||||
 | 
			
		||||
	module myGear() {
 | 
			
		||||
		difference() {
 | 
			
		||||
			gear(
 | 
			
		||||
				number_of_teeth=teeth,
 | 
			
		||||
				circular_pitch=320,
 | 
			
		||||
				pressure_angle=pressure_angle,
 | 
			
		||||
				clearance = 0.2,
 | 
			
		||||
				gear_thickness = height/2,
 | 
			
		||||
				rim_thickness = height/2,
 | 
			
		||||
				rim_width = 1,
 | 
			
		||||
				hub_thickness = height/2,
 | 
			
		||||
				hub_diameter=1,
 | 
			
		||||
				bore_diameter=shaft,
 | 
			
		||||
				circles=circles,
 | 
			
		||||
				twist=twist/teeth
 | 
			
		||||
			);
 | 
			
		||||
			mirror([0,0,1]) translate([0,0,-height/2-0.01]) {
 | 
			
		||||
				difference() {
 | 
			
		||||
					cylinder(r=diam/2+1, h=truncation_height);
 | 
			
		||||
					translate([0,0,-0.01])
 | 
			
		||||
						cylinder(r1=diam/2-truncation_length, r2=diam/2+1, h=truncation_height+0.02);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	myGear();
 | 
			
		||||
	mirror( [0,0,1] )
 | 
			
		||||
		myGear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module cyclone_rod_gear(with_extra_parts=false, exploded=false) {
 | 
			
		||||
// Extruder Gear
 | 
			
		||||
difference() {
 | 
			
		||||
	union() {
 | 
			
		||||
		//gear
 | 
			
		||||
		rotate([180,0,0]) herringbone_gear( teeth=SmallGear_N_Teeth, circles=0, shaft=M8_rod_diam);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	translate( [0, 0, (nut_separation/2)] ) cylinder( r=M8_nut_diameter/2, h=7, $fn=6 );
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cyclone_rod_gear();
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue