more parts for assembly instruction
							parent
							
								
									3a69141e0a
								
							
						
					
					
						commit
						03774e6530
					
				| 
						 | 
				
			
			@ -9,6 +9,7 @@ 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 <../Gears/rod_gear.scad>
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +60,7 @@ Cyclone_Nema17 = [
 | 
			
		|||
                [NemaSideSize, 42.30*mm],
 | 
			
		||||
                [NemaDistanceBetweenMountingHoles, 31.0*mm],
 | 
			
		||||
                [NemaMountingHoleDiameter, 4*mm],
 | 
			
		||||
                [NemaMountingHoleDepth, 4.5*mm],
 | 
			
		||||
                [NemaMountingHoleDepth, 5.5*mm], //actual is 4.5mm, motor() module is generating 1mm short
 | 
			
		||||
                [NemaMountingHoleLip, -1*mm],
 | 
			
		||||
                [NemaMountingHoleCutoutRadius, 0*mm],
 | 
			
		||||
                [NemaEdgeRoundingRadius, 7*mm],
 | 
			
		||||
| 
						 | 
				
			
			@ -105,25 +106,38 @@ module motorHolesY() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
module motor_stand_no_base(with_motor=true, with_extra_parts=false) {
 | 
			
		||||
  // -- stepper, bearing, washer, nuts ---
 | 
			
		||||
  // --- additional parts for assembly instruction ---
 | 
			
		||||
  if(with_motor && with_extra_parts) {
 | 
			
		||||
    translate([motor_width/2,motor_width/2,0]) {
 | 
			
		||||
      // --- Nema 17 Stepper ---
 | 
			
		||||
      rotate([0,180,0])
 | 
			
		||||
        translate([0,0,-1])
 | 
			
		||||
          motor(Cyclone_Nema17, NemaLengthLong);
 | 
			
		||||
      translate([0,0,12+5.5])
 | 
			
		||||
      {
 | 
			
		||||
        rotate([180, 0, 0]) cyclone_motor_gear();
 | 
			
		||||
      // --- Motor Gear ---
 | 
			
		||||
      translate([0,0,12+5.5]) {
 | 
			
		||||
        rotate([180, 0, 30]) cyclone_motor_gear();
 | 
			
		||||
      }
 | 
			
		||||
      // --- M3 x 8mm grub screw to attach Gear to motor shaft ---
 | 
			
		||||
      translate([-2.5,0,12-3]) rotate([0, -90, 0]) color(Steel) cylinder(r=1.5, h=8);
 | 
			
		||||
    }
 | 
			
		||||
    translate([motor_width/2,motor_width/2,wall_thickness/2]) {
 | 
			
		||||
      rotate([0,0,15]) translate([0,axis_distance,2.5-wall_thickness/2]) {
 | 
			
		||||
      bearing(model=608);
 | 
			
		||||
      translate([0,0,7]) flat_nut(8);
 | 
			
		||||
      translate([0,0,1.5-wall_thickness/2+5+2.5+7+3]) rotate([0,180,0]) cyclone_rod_gear();
 | 
			
		||||
      translate([0,0,1.5-wall_thickness/2+5+2.5+7+3+1.5++10]) rotate([0,180,0]) flat_nut(8);
 | 
			
		||||
        // --- Bearing ---
 | 
			
		||||
        bearing(model=608);
 | 
			
		||||
        // --- M8 Nut ---
 | 
			
		||||
        translate([0,0,7]) color(Steel)  flat_nut(8);
 | 
			
		||||
        // --- Rod Gear ---
 | 
			
		||||
        translate([0,0,1.5-wall_thickness/2+5+2.5+7+3]) rotate([0,180,15]) cyclone_rod_gear();
 | 
			
		||||
        // --- M8 Nut ---
 | 
			
		||||
        translate([0,0,1.5-wall_thickness/2+5+2.5+7+3+1.5++10]) rotate([0,180,0]) color(Steel) flat_nut(8);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    // --- M3 x 6mm bolts for holding the motor ---
 | 
			
		||||
    for(i=[-1,1]) for(j=[-1,1])
 | 
			
		||||
      translate([motor_width/2,motor_width/2,wall_thickness/2])
 | 
			
		||||
        translate([i*motor_screw_distance/2,j*motor_screw_distance/2,2.5-wall_thickness/2]) {
 | 
			
		||||
          rotate([0,180,0]) color(Steel) boltHole(size=3, length=6);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
difference() {
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +163,7 @@ difference() {
 | 
			
		|||
} // End of difference
 | 
			
		||||
 | 
			
		||||
  translate([motor_width/2,motor_width/2,wall_thickness/2])
 | 
			
		||||
    rotate([0,0,15]) translate([0,axis_distance,2.5-wall_thickness/2]) {
 | 
			
		||||
    rotate([0,0,15]) translate([0,axis_distance,2.5-wall_thickness/2]) color(Steel) {
 | 
			
		||||
      if(!with_motor && with_extra_parts) {
 | 
			
		||||
        bearing(model=608);
 | 
			
		||||
        translate([0,0,7]) washer(8);
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +172,7 @@ difference() {
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module holder(h=35,noScrews=false,base_width_inc=0) {
 | 
			
		||||
module holder(h=35,noScrews=false,base_width_inc=0, with_extra_parts=false) {
 | 
			
		||||
    difference() {
 | 
			
		||||
      union() {
 | 
			
		||||
        translate([wall_height-bottom_thickness,0]) {
 | 
			
		||||
| 
						 | 
				
			
			@ -179,14 +193,25 @@ module holder(h=35,noScrews=false,base_width_inc=0) {
 | 
			
		|||
            cylinder(r=base_screw_diameter/2,h=100,center=true,$fn=7);
 | 
			
		||||
        }
 | 
			
		||||
    } // End of difference
 | 
			
		||||
 | 
			
		||||
    // --- Self tapping screw 2.9 x 16mm ---
 | 
			
		||||
    if(with_extra_parts) {
 | 
			
		||||
      translate([wall_height,base_width/2+2.5,base_length/1.5]) color(Steel)
 | 
			
		||||
        rotate([0,90,0]) {
 | 
			
		||||
          translate([-5,0,-bottom_thickness-.2])
 | 
			
		||||
            csk_bolt(2.9, 16);
 | 
			
		||||
          translate([5,0,-bottom_thickness-.2])
 | 
			
		||||
            csk_bolt(2.9, 16);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module motor_stand(with_motor=true, with_extra_parts=false) {
 | 
			
		||||
  union() {
 | 
			
		||||
    motor_stand_no_base(with_motor=with_motor, with_extra_parts=with_extra_parts);
 | 
			
		||||
    translate([0,wall_width]) holder(noScrews=true);
 | 
			
		||||
    translate([0,52.4-5/2]) holder(h=12,base_width_inc=1);
 | 
			
		||||
    translate([0,-wall_extraWidth_left+base_width]) scale([1,-1,1]) holder();
 | 
			
		||||
    translate([0,wall_width]) holder(noScrews=true, with_extra_parts=false);
 | 
			
		||||
    translate([0,52.4-5/2]) holder(h=12,base_width_inc=1, with_extra_parts=with_extra_parts);
 | 
			
		||||
    translate([0,-wall_extraWidth_left+base_width]) scale([1,-1,1]) holder(with_extra_parts=with_extra_parts);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -195,11 +220,15 @@ module idle_stand(with_extra_parts=false) {
 | 
			
		|||
	union() {
 | 
			
		||||
		intersection() { // Remove the motor part
 | 
			
		||||
			motor_stand(with_motor=false, with_extra_parts=with_extra_parts);
 | 
			
		||||
			translate([wall_height/2,wall_width/2+52.4-(wall_width+wall_extraWidth_right-52.4),wall_thickness/2])
 | 
			
		||||
			bcube([wall_height,wall_width,100],cr=4,cres=10);
 | 
			
		||||
           union() {
 | 
			
		||||
			  translate([wall_height/2,wall_width/2+52.4-(wall_width+wall_extraWidth_right-52.4),wall_thickness/2])
 | 
			
		||||
			    bcube([wall_height,wall_width,100],cr=4,cres=10);
 | 
			
		||||
			  translate([wall_height/2,wall_width/2+52.4-(wall_width+wall_extraWidth_right-52.4),wall_thickness/2])
 | 
			
		||||
			    bcube([wall_height*2,wall_width/6,100],cr=4,cres=10); //keep self tapping screw
 | 
			
		||||
           }
 | 
			
		||||
		}
 | 
			
		||||
		translate([0,wall_width+5-2*(wall_width+wall_extraWidth_right-52.4)]) holder(noScrews=true);
 | 
			
		||||
		translate([0,52.4+5/2]) scale([1,-1,1]) holder(h=15,base_width_inc=1);
 | 
			
		||||
		translate([0,wall_width+5-2*(wall_width+wall_extraWidth_right-52.4)]) holder(noScrews=true, with_extra_parts=with_extra_parts);
 | 
			
		||||
		translate([0,52.4+5/2]) scale([1,-1,1]) holder(h=15,base_width_inc=1, with_extra_parts=with_extra_parts);
 | 
			
		||||
	}
 | 
			
		||||
    if(!with_motor && with_extra_parts) {
 | 
			
		||||
      translate([0,motor_width-19.8/2,wall_thickness])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue