Position render fix and little code cleanup
							parent
							
								
									7778a206d1
								
							
						
					
					
						commit
						689f49f2ad
					
				| 
						 | 
				
			
			@ -252,26 +252,20 @@ module Cyclone_X_carriage() {
 | 
			
		|||
			nut(size=8, echoPart=true);
 | 
			
		||||
			
 | 
			
		||||
	translate([-dimX/2,axes_effective_Xsmooth_separation,0]) rotate([-135,0,0]){
 | 
			
		||||
	//translate([0,dimY/2+rod_nut_len/2,0])
 | 
			
		||||
	//	rotate([0,90,0]) rotate([90,0,0])
 | 
			
		||||
	//translate([0,-rod_nut_len-3-washer_thickness/2,0])
 | 
			
		||||
	translate([-rod_nut_len/2+1,0,0]) rotate([90,90,90])
 | 
			
		||||
		nut(size=8, echoPart=true);
 | 
			
		||||
	//translate([0,-dimY/2,0])
 | 
			
		||||
	//	rotate([0,90,0]) rotate([-90,0,0])
 | 
			
		||||
	translate([rod_nut_len/2+3+1+holderExtension,0,0]) rotate([90,90,90])
 | 
			
		||||
		nut(size=8, echoPart=true);
 | 
			
		||||
	//translate([0,dimY/2+0.01-rod_nut_len/2-3,0])
 | 
			
		||||
	translate([rod_nut_len/2+3+1,0,0]) rotate([0,0,-90]) rotate([180,0,0])
 | 
			
		||||
		washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
 | 
			
		||||
		translate([-rod_nut_len/2+1,0,0]) rotate([90,90,90])
 | 
			
		||||
			nut(size=8, echoPart=true);
 | 
			
		||||
		translate([rod_nut_len/2+3+1+holderExtension,0,0]) rotate([90,90,90])
 | 
			
		||||
			nut(size=8, echoPart=true);
 | 
			
		||||
		translate([rod_nut_len/2+3+1,0,0]) rotate([0,0,-90]) rotate([180,0,0])
 | 
			
		||||
			washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
 | 
			
		||||
	}
 | 
			
		||||
			
 | 
			
		||||
	translate([-linearBearingLength/2-X_linearBearingSeparation/2,-screwLength/2-screwAditionalLength/2,-linearBearingDiameter/2-screwExtension/2])
 | 
			
		||||
		rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
		rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
	// Bottom left screw
 | 
			
		||||
	translate([linearBearingLength/2+X_linearBearingSeparation/2,-screwLength/2-screwAditionalLength/2,-linearBearingDiameter/2-screwExtension/2])
 | 
			
		||||
		rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
		rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
	// Top screw
 | 
			
		||||
	translate([0,axes_effective_Xsmooth_separation+screwExtension/2+linearBearingDiameter/2,axes_effective_Xsmooth_separation+screwLength/2+screwAditionalLength/2])
 | 
			
		||||
		rotate([90,0,0]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
		rotate([90,0,0]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,11 +32,13 @@ module Cyclone_X_rightFrame(isLeft=false) {
 | 
			
		|||
	dimY = max(-axes_Xreference_posY,axes_Xsmooth_separation+axes_XgearSeparation*cos(motorRotatedOffset)+Xmotor_sideLen/2+1.6);
 | 
			
		||||
	dimZ = axes_Yreference_height+axes_Xreference_height+axes_Xsmooth_separation;
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
	footSeparation = footScrewSize*3;
 | 
			
		||||
	footWidth = dimX+2*footSeparation;
 | 
			
		||||
	
 | 
			
		||||
  rod_nut_len = 0.8*axes_Xthreaded_rodD;
 | 
			
		||||
	rodNutSize = X_threaded_rodNutSize;
 | 
			
		||||
	rod_nut_len = METRIC_NUT_THICKNESS[rodNutSize];
 | 
			
		||||
	nut_separation = rod_nut_len/2;
 | 
			
		||||
  //rod_nut_len = 0.8*axes_Xthreaded_rodD;
 | 
			
		||||
	
 | 
			
		||||
	module Cyclone_XsubPart_gearCover() {
 | 
			
		||||
		margin = gearCover_margin;
 | 
			
		||||
| 
						 | 
				
			
			@ -232,7 +234,7 @@ module Cyclone_X_rightFrame(isLeft=false) {
 | 
			
		|||
			translate([+0.01,axes_Xsmooth_separation,0]) {
 | 
			
		||||
				
 | 
			
		||||
				// Rod radial bearing hole
 | 
			
		||||
				rotate([0,-90,0]) bearingHole(depth=X_threaded_rod_bearingDepth, thickness=partThickness);
 | 
			
		||||
				rotate([0,-90,0]) bearingHole(depth=X_threaded_rod_bearingDepth, thickness=partThickness, model=X_threaded_rodBearingModel);
 | 
			
		||||
				
 | 
			
		||||
				// Translate to motor position
 | 
			
		||||
				if(!isLeft)
 | 
			
		||||
| 
						 | 
				
			
			@ -280,15 +282,19 @@ module Cyclone_X_rightFrame(isLeft=false) {
 | 
			
		|||
			if(draw_references) color("green") %frame(20);
 | 
			
		||||
			translate([-X_threaded_rod_bearingDepth,0,0]) rotate([0,90,0])
 | 
			
		||||
				radialBearing(echoPart=true);
 | 
			
		||||
			translate([14-X_threaded_rod_bearingDepth-0.5,0,0]) rotate([0,-90,0]){ // replace 14 with bearing hight - X_threaded_rod_bearingDepth
 | 
			
		||||
				nut(size=rodNutSize, echoPart=true);
 | 
			
		||||
				if(isLeft) {
 | 
			
		||||
					translate([0,0,-rod_nut_len])
 | 
			
		||||
						rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(!isLeft) {
 | 
			
		||||
				translate([X_gear_thickness*2+axes_Xthreaded_rodD-7,0,0])
 | 
			
		||||
					rotate([0,-90,0])
 | 
			
		||||
						rotate([0,0,45]) nut(size=axes_Xthreaded_rodD, chamfer=true, echoPart=true);
 | 
			
		||||
				translate([axes_Xthreaded_rodD,0,0]){
 | 
			
		||||
					rotate([0,-90,0])
 | 
			
		||||
						nut(size=axes_Xthreaded_rodD, echoPart=true);
 | 
			
		||||
				translate([X_threaded_rod_bearingDepth+(2*rod_nut_len)-(nut_separation/2)-2,0,0]) {
 | 
			
		||||
					translate([X_gear_thickness+(nut_separation/2),0,0])
 | 
			
		||||
						rotate([0,-90,0])
 | 
			
		||||
							rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
 | 
			
		||||
					if(Render_X_rodGear) {
 | 
			
		||||
						translate([axes_Xthreaded_rodD-7,0,0])
 | 
			
		||||
							rotate([0,-90,0]) color(color_movingPart)
 | 
			
		||||
							cyclone_rod_gear(Gear_N_Teeth=X_rodGearRatio,gearHeight=X_gear_thickness,nutSize=8,tolerance=0);
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			@ -300,16 +306,16 @@ module Cyclone_X_rightFrame(isLeft=false) {
 | 
			
		|||
							translate([-motorWallSeparation,0,0]) rotate([0,90,0])
 | 
			
		||||
							  stepperMotor(screwHeight=motorWallSeparation, echoPart=true);
 | 
			
		||||
							if(Render_X_motorGear) {
 | 
			
		||||
								translate([axes_Xthreaded_rodD+1.5,0,0])
 | 
			
		||||
								translate([X_threaded_rod_bearingDepth+(2*rod_nut_len)-(nut_separation/2)-2,0,0])
 | 
			
		||||
									rotate([0,-90,0]) color(color_movingPart)
 | 
			
		||||
										cyclone_motor_gear(Gear_N_Teeth=X_motorGearRatio,gearHeight=X_gear_thickness,tolerance=0);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
				}
 | 
			
		||||
				if(Render_Y_gearCover) {
 | 
			
		||||
				// Draw the X gear cover
 | 
			
		||||
				translate([0.1,0,0])
 | 
			
		||||
					color(color_stillPart) Cyclone_XsubPart_gearCover();
 | 
			
		||||
					// Draw the X gear cover
 | 
			
		||||
					translate([0.1,0,0])
 | 
			
		||||
						color(color_stillPart) Cyclone_XsubPart_gearCover();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			translate([0,0,axes_Xsmooth_separation])
 | 
			
		||||
| 
						 | 
				
			
			@ -320,15 +326,15 @@ module Cyclone_X_rightFrame(isLeft=false) {
 | 
			
		|||
	translate([-axes_Xreference_posX-dimX-footSeparation,axes_Xreference_posY+footSeparation,-axes_Yreference_height+footThickness]) {
 | 
			
		||||
		rotate([0,90,0])
 | 
			
		||||
				rotate([0,0,90])
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
		translate([0,dimY/2,0])
 | 
			
		||||
			rotate([0,90,0])
 | 
			
		||||
					rotate([0,0,90])
 | 
			
		||||
						screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
						screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
		translate([0,dimY-2*footSeparation,0])
 | 
			
		||||
			rotate([0,90,0])
 | 
			
		||||
					rotate([0,0,90])
 | 
			
		||||
						screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
						screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -371,9 +377,9 @@ module rodHolder(rodD=8.5, screwSize=3, height=0, sideLen=0, thickness=5, space=
 | 
			
		|||
		// Draw screws
 | 
			
		||||
		translate([screwSize+screwAditionalDistance,-dimY/2,dimZ+0.01])
 | 
			
		||||
			rotate([90,0,0])
 | 
			
		||||
				screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, echoPart=true);
 | 
			
		||||
				screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,rot=90,echoPart=true);
 | 
			
		||||
		translate([-screwSize-screwAditionalDistance,-dimY/2,dimZ+0.01])
 | 
			
		||||
			rotate([90,0,0])
 | 
			
		||||
				screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, echoPart=true);
 | 
			
		||||
				screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,rot=90,echoPart=true);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,15 +62,15 @@ module Cyclone_YsubPart_nutHolder() {
 | 
			
		|||
				hole_for_screw(size=screwSize,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0,tolerance=screwHoleTolerance);
 | 
			
		||||
	}
 | 
			
		||||
	translate([0,dimY/2+rod_nut_len/2,0])
 | 
			
		||||
		rotate([0,90,0]) rotate([90,0,0]) nut(size=8, echoPart=true);
 | 
			
		||||
		rotate([0,90,0]) rotate([90,0,0]) nut(size=rodNutSize, echoPart=true);
 | 
			
		||||
	translate([0,-dimY/2,0])
 | 
			
		||||
		rotate([0,90,0]) rotate([-90,0,0]) nut(size=8, echoPart=true);
 | 
			
		||||
		rotate([0,90,0]) rotate([-90,0,0]) nut(size=rodNutSize, echoPart=true);
 | 
			
		||||
	translate([0,dimY/2+0.01-rod_nut_len/2-3,0])
 | 
			
		||||
		washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
 | 
			
		||||
	translate([0,-screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness+screwSize])
 | 
			
		||||
		rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
		rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
	translate([0,+screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness+screwSize])
 | 
			
		||||
		rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
		rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
use <libs/linear_bearing.scad>
 | 
			
		||||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ module Cyclone_YsubPart_singleLinearBearingHolder(onlyScrews=false) {
 | 
			
		|||
		translate([dimX/2+footSeparation,0,dimZ+workbed_thickness+workbed_screws_aditional_length])
 | 
			
		||||
			rotate([90,0,0]) hole_for_screw(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance);
 | 
			
		||||
		translate([dimX/2+footSeparation,0,dimZ+workbed_thickness+workbed_screws_aditional_length])
 | 
			
		||||
			rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
			rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
	} else {
 | 
			
		||||
		difference() {
 | 
			
		||||
			// Main part
 | 
			
		||||
| 
						 | 
				
			
			@ -223,12 +223,12 @@ module Cyclone_YsubPart_PCBholder() {
 | 
			
		|||
	translate([0,0,holderL_thickness+(holderL_thickness+holderL_thickness_btm)/2]) {
 | 
			
		||||
		for (x = [-1,1], y=[-1,0,1]) {
 | 
			
		||||
			translate([x*(PCB_dimX/2+screwSeparation),y*PCB_dimY/4,PCBholder_height+screwSize])
 | 
			
		||||
				rotate([0,0,x*-90]) rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
				rotate([0,0,x*-90]) rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
		}
 | 
			
		||||
		translate([PCB_dimX/2-holderArmLength/2,PCB_dimY/2+screwSeparation,PCBholder_height+screwSize])
 | 
			
		||||
			rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
			rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
		scale([-1,-1,1]) translate([PCB_dimX/2-holderArmLength/2,PCB_dimY/2+screwSeparation,PCBholder_height+screwSize])
 | 
			
		||||
			rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
			rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0,echoPart=true);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,8 +27,9 @@ module Cyclone_Y_frontFrame() {
 | 
			
		|||
	gearWallSeparation = Y_gearWallSeparation;
 | 
			
		||||
	
 | 
			
		||||
	motor_YgearSeparation_projected = axes_YgearSeparation*cos(-motorRotatedOffset);
 | 
			
		||||
	
 | 
			
		||||
	rod_nut_len = 0.8*axes_Ythreaded_rodD;
 | 
			
		||||
 | 
			
		||||
	rod_nut_len = METRIC_NUT_THICKNESS[Y_threaded_rodNutSize];
 | 
			
		||||
	nut_separation = rod_nut_len/2;
 | 
			
		||||
	gear_thickness = Y_gear_thickness;
 | 
			
		||||
	bearing_width = bearingWidth(Y_threaded_rodBearingModel);
 | 
			
		||||
	bearing_diam = bearingOuterDiameter(Y_threaded_rodBearingModel);
 | 
			
		||||
| 
						 | 
				
			
			@ -43,6 +44,8 @@ module Cyclone_Y_frontFrame() {
 | 
			
		|||
	foot_additional_separation = Y_foot_additional_separation;
 | 
			
		||||
	footThickness = Y_frame_footThickness;
 | 
			
		||||
	
 | 
			
		||||
	rodNutSize = Y_threaded_rodNutSize;
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
	module Cyclone_YsubPart_gearCover() {
 | 
			
		||||
		margin = gearCover_margin;
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +143,7 @@ module Cyclone_Y_frontFrame() {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	translate([0,2*rod_nut_len+gear_thickness,0]) {
 | 
			
		||||
	translate([0,2*rod_nut_len+gear_thickness-nut_separation,0]) {
 | 
			
		||||
		translate([0,bearing_width-bearingDepth,0]) {
 | 
			
		||||
			if(draw_references) color("blue") %frame(20);
 | 
			
		||||
			difference() {
 | 
			
		||||
| 
						 | 
				
			
			@ -179,7 +182,7 @@ module Cyclone_Y_frontFrame() {
 | 
			
		|||
				}
 | 
			
		||||
				translate([0,-0.01,0])
 | 
			
		||||
					rotate([-90,0,0])
 | 
			
		||||
						bearingHole(depth=bearingDepth, thickness=partThickness);
 | 
			
		||||
						bearingHole(depth=bearingDepth, thickness=partThickness, model=Y_threaded_rodBearingModel);
 | 
			
		||||
				translate([0,dimY/2,-dimZ+footThickness]) {
 | 
			
		||||
					translate([footSeparation+dimX/2,0,0])
 | 
			
		||||
						rotate([0,90,0])
 | 
			
		||||
| 
						 | 
				
			
			@ -210,15 +213,15 @@ module Cyclone_Y_frontFrame() {
 | 
			
		|||
				translate([footSeparation+dimX/2,0,0])
 | 
			
		||||
					rotate([0,90,0])
 | 
			
		||||
						rotate([0,0,90])
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
				translate([dimX/3,dimY/2+footSeparation+foot_additional_separation,0])
 | 
			
		||||
					rotate([0,90,0])
 | 
			
		||||
						rotate([0,0,90])
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
				translate([-footSeparation-foot_additional_separation-motor_YgearSeparation_projected-Ymotor_sideLen/2,0,0])
 | 
			
		||||
					rotate([0,90,0])
 | 
			
		||||
						rotate([0,0,90])
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
			}
 | 
			
		||||
			// Translate to motor position
 | 
			
		||||
			rotate([0,-motorRotatedOffset,0]) {
 | 
			
		||||
| 
						 | 
				
			
			@ -228,39 +231,39 @@ module Cyclone_Y_frontFrame() {
 | 
			
		|||
							rotate([90,0,0])
 | 
			
		||||
								stepperMotor(screwHeight=motorWallSeparation, echoPart=true);
 | 
			
		||||
						if(Render_Y_motorGear) {
 | 
			
		||||
							translate([0,-rod_nut_len-gear_thickness,0])
 | 
			
		||||
							translate([0,-(bearing_width-bearingDepth)-motorWallSeparation-nut_separation,0])
 | 
			
		||||
								rotate([-90,180,0]) color(color_movingPart) 
 | 
			
		||||
									cyclone_motor_gear(Gear_N_Teeth=Y_motorGearRatio,gearHeight=gear_thickness,tolerance=0);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
			}
 | 
			
		||||
			if(Render_Y_gearCover) {
 | 
			
		||||
			// Draw the Y gear cover
 | 
			
		||||
			translate([0,-0.1,0])
 | 
			
		||||
				color(color_stillPart) Cyclone_YsubPart_gearCover();
 | 
			
		||||
				// Draw the Y gear cover
 | 
			
		||||
				translate([0,-0.1,0])
 | 
			
		||||
					color(color_stillPart) Cyclone_YsubPart_gearCover();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		rotate([-90,0,0])
 | 
			
		||||
			radialBearing(echoPart=true);
 | 
			
		||||
	}
 | 
			
		||||
	translate([0,-METRIC_NUT_THICKNESS[axes_Ythreaded_rodD]/2,0])
 | 
			
		||||
		rotate([-90,0,0])
 | 
			
		||||
			rotate([0,0,45]) nut(size=axes_Ythreaded_rodD, chamfer=true, echoPart=true);
 | 
			
		||||
	translate([0,rod_nut_len+gear_thickness,0])
 | 
			
		||||
		rotate([-90,0,0])
 | 
			
		||||
			nut(size=axes_Ythreaded_rodD, echoPart=true);
 | 
			
		||||
	translate([0,0.1,0])
 | 
			
		||||
		rotate([-90,0,0]) rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
 | 
			
		||||
	if(Render_Y_rodGear) {
 | 
			
		||||
		translate([0,METRIC_NUT_THICKNESS[axes_Ythreaded_rodD]/4+rod_nut_len,0])
 | 
			
		||||
		translate([0,2*rod_nut_len-(nut_separation/2),0])
 | 
			
		||||
			rotate([-90,0,0]) color(color_movingPart)
 | 
			
		||||
				cyclone_rod_gear(Gear_N_Teeth=Y_rodGearRatio,gearHeight=gear_thickness,nutSize=8,tolerance=0);
 | 
			
		||||
				cyclone_rod_gear(Gear_N_Teeth=Y_rodGearRatio,gearHeight=gear_thickness,nutSize=Y_threaded_rodNutSize,tolerance=0);
 | 
			
		||||
	}
 | 
			
		||||
	translate([0,rod_nut_len+gear_thickness-nut_separation,0])
 | 
			
		||||
		rotate([-90,0,0])	nut(size=rodNutSize, echoPart=true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module Cyclone_Y_backFrame() {
 | 
			
		||||
	
 | 
			
		||||
	screwSize = Y_backFrame_footScrewSize;
 | 
			
		||||
	
 | 
			
		||||
	rod_nut_len = 0.8*axes_Ythreaded_rodD;
 | 
			
		||||
	rodNutSize = Y_threaded_rodNutSize;
 | 
			
		||||
	//rod_nut_len = 0.8*axes_Ythreaded_rodD;
 | 
			
		||||
	rod_nut_len = METRIC_NUT_THICKNESS[rodNutSize];
 | 
			
		||||
	bearing_width = bearingWidth(Y_threaded_rodBearingModel);
 | 
			
		||||
	bearing_diam = bearingOuterDiameter(Y_threaded_rodBearingModel);
 | 
			
		||||
	bearingDepth = Y_threaded_rodBearingDepth;
 | 
			
		||||
| 
						 | 
				
			
			@ -306,7 +309,7 @@ module Cyclone_Y_backFrame() {
 | 
			
		|||
				
 | 
			
		||||
				translate([0,0.01,0])
 | 
			
		||||
					rotate([90,0,0])
 | 
			
		||||
						bearingHole(depth=bearingDepth, thickness=partThickness);
 | 
			
		||||
						bearingHole(depth=bearingDepth, thickness=partThickness, model=Y_threaded_rodBearingModel);
 | 
			
		||||
				translate([0,-dimY/2,-axes_Y_threaded_height+footThickness]) {
 | 
			
		||||
					translate([-footSeparation-dimX/2,0,0])
 | 
			
		||||
						rotate([0,90,0])
 | 
			
		||||
| 
						 | 
				
			
			@ -328,15 +331,15 @@ module Cyclone_Y_backFrame() {
 | 
			
		|||
				translate([-footSeparation-dimX/2,0,0])
 | 
			
		||||
					rotate([0,90,0])
 | 
			
		||||
						rotate([0,0,90])
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
				translate([footSeparation+dimX/2,0,0])
 | 
			
		||||
					rotate([0,90,0])
 | 
			
		||||
						rotate([0,0,90])
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
				translate([0,dimY/2+footSeparation+foot_additional_separation,0])
 | 
			
		||||
					rotate([0,90,0])
 | 
			
		||||
						rotate([0,0,90])
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
							screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		rotate([90,0,0])
 | 
			
		||||
| 
						 | 
				
			
			@ -344,10 +347,10 @@ module Cyclone_Y_backFrame() {
 | 
			
		|||
	}
 | 
			
		||||
	translate([0,0.01,0])
 | 
			
		||||
		rotate([90,0,0])
 | 
			
		||||
			rotate([0,0,45]) nut(size=axes_Ythreaded_rodD, chamfer=true, echoPart=true);
 | 
			
		||||
			rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
 | 
			
		||||
	translate([0,-rod_nut_len,0])
 | 
			
		||||
		rotate([90,0,0])
 | 
			
		||||
			nut(size=axes_Ythreaded_rodD, echoPart=true);
 | 
			
		||||
			nut(size=rodNutSize, echoPart=true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module Cyclone_logo(sizemm = 30, thickness = 10, mirrorLogo = false) {
 | 
			
		||||
| 
						 | 
				
			
			@ -428,20 +431,20 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
 | 
			
		|||
	translate([2.5+holderOuterRadius,dimY/2,holderOuterRadius])
 | 
			
		||||
		rotate([0,90,0])
 | 
			
		||||
				rotate([0,0,90])
 | 
			
		||||
					screw_and_nut(size=rodScrewSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, echoPart=true);
 | 
			
		||||
					screw_and_nut(size=rodScrewSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=0,rot=90,echoPart=true);
 | 
			
		||||
	translate([0,dimY/2,-axes_Yreference_height+footThickness]) {
 | 
			
		||||
		translate([-holderOuterRadius-footSeparation,0,0])
 | 
			
		||||
			rotate([0,90,0])
 | 
			
		||||
				rotate([0,0,90])
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, rot=90, invert=true, echoPart=true);
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,autoNutOffset=true,rot=90,invert=true,echoPart=true);
 | 
			
		||||
		translate([holderOuterRadius*2+footSeparation,0,0])
 | 
			
		||||
			rotate([0,90,0])
 | 
			
		||||
				rotate([0,0,90])
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, rot=90, invert=true, echoPart=true);
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,autoNutOffset=true,rot=90,invert=true,echoPart=true);
 | 
			
		||||
		translate([holderOuterRadius/2,dimY/2+footSeparation,0])
 | 
			
		||||
			rotate([0,90,0])
 | 
			
		||||
				rotate([0,0,90])
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, rot=90, invert=true, echoPart=true);
 | 
			
		||||
					screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,autoNutOffset=true,rot=90,invert=true,echoPart=true);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,6 +47,8 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
 | 
			
		|||
	Z_threaded_pos = motor_width/2+axis_distance+axes_Xsmooth_separation;
 | 
			
		||||
	spindle_front_offset = 10+ZthreadedOffset;
 | 
			
		||||
	
 | 
			
		||||
	rodNutSize = Z_threaded_rodNutSize;
 | 
			
		||||
	
 | 
			
		||||
	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);
 | 
			
		||||
| 
						 | 
				
			
			@ -73,7 +75,7 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
 | 
			
		|||
			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);
 | 
			
		||||
			translate ([spindiam/2+15,10.5,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, echoPart=true);
 | 
			
		||||
			translate ([spindiam/2+15,10.5,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,autoNutOffset=true,echoPart=true);
 | 
			
		||||
			}		
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +85,7 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
 | 
			
		|||
			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);
 | 
			
		||||
			translate ([spindiam/2+15,17,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
 | 
			
		||||
			translate ([spindiam/2+15,17,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
 | 
			
		||||
			}
 | 
			
		||||
			}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +121,7 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
 | 
			
		|||
 | 
			
		||||
			// Bearing holes
 | 
			
		||||
			translate([0,axis_distance,0]) {
 | 
			
		||||
				bearingHole(depth=Z_bearing_width, thickness=partThickness);
 | 
			
		||||
				bearingHole(depth=Z_bearing_width, thickness=partThickness, model=Z_threaded_rodBearingModel);
 | 
			
		||||
 | 
			
		||||
				hull() {
 | 
			
		||||
						cylinder(r=(axes_Zsmooth_rodD*2)/2,h=10*wall_thickness,center=true);
 | 
			
		||||
| 
						 | 
				
			
			@ -254,9 +256,9 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
 | 
			
		|||
		
 | 
			
		||||
	// Nuts	
 | 
			
		||||
	translate([0,axes_Xsmooth_separation,spindle_holder_distance+1.5-wall_thickness/2-Z_bearing_width*2])
 | 
			
		||||
	  nut(size=axes_Zthreaded_rodD, echoPart=true);
 | 
			
		||||
	  nut(size=rodNutSize, echoPart=true);
 | 
			
		||||
	translate([0,axes_Xsmooth_separation,spindle_holder_distance+1.5-wall_thickness/2-Z_bearing_width*2-gear_thickness*1.4])
 | 
			
		||||
	  nut(size=axes_Zthreaded_rodD, chamfer=true, echoPart=true);
 | 
			
		||||
	  nut(size=rodNutSize, chamfer=true, echoPart=true);
 | 
			
		||||
	
 | 
			
		||||
  // Dremel tool
 | 
			
		||||
	translate([0,-40,-40]) {
 | 
			
		||||
| 
						 | 
				
			
			@ -270,8 +272,4 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
 | 
			
		|||
		translate([0,0,-20-20])
 | 
			
		||||
			color([0.9,0.9,0.9]) %cylinder(r1=0.5/2, r2=3/2, h=20);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
  //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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -97,11 +97,12 @@
 | 
			
		|||
		Y_linearBearingModel = "LM8UU";
 | 
			
		||||
		X_linearBearingModel = "LM8UU";
 | 
			
		||||
		X_linearBearingSeparation = 0;
 | 
			
		||||
		X_threaded_rod_bearingDepth = 3;
 | 
			
		||||
		Z_linearBearingModel = "LM8UU";
 | 
			
		||||
		Z_threaded_rodBearingModel = 608;
 | 
			
		||||
		Y_threaded_rodBearingModel = 608;
 | 
			
		||||
		Y_threaded_rodBearingDepth = 3;
 | 
			
		||||
		X_threaded_rodBearingModel = 608;
 | 
			
		||||
		X_threaded_rod_bearingDepth = 3;
 | 
			
		||||
		
 | 
			
		||||
	// --- Steppers ---
 | 
			
		||||
		//Y_motorModel = Nema17;
 | 
			
		||||
| 
						 | 
				
			
			@ -147,7 +148,7 @@
 | 
			
		|||
		axes_YgearSeparation = 37;
 | 
			
		||||
		Y_rodGearRatio = 21; // Number of tooth
 | 
			
		||||
		Y_motorGearRatio = 21; // Number of tooth
 | 
			
		||||
		Y_gear_thickness = 5;
 | 
			
		||||
		Y_gear_thickness = 10;
 | 
			
		||||
		
 | 
			
		||||
	// --- Gear Cover ---
 | 
			
		||||
	  gearCover_margin = 4;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -197,15 +197,8 @@ motor_rod_diam = 5/2+tolerance;
 | 
			
		|||
				//shaft
 | 
			
		||||
				cylinder( r=9, h=8);
 | 
			
		||||
				//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);
 | 
			
		||||
				}
 | 
			
		||||
				translate( [0, 13, 3.5] ) //rotate([90,0,0]) union() {
 | 
			
		||||
				  rotate([0,180,0]) hole_for_screw(size=3,length=14,nutDepth=4.5,nutAddedLen=0,captiveLen=10, rot=90);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -218,12 +211,13 @@ motor_rod_diam = 5/2+tolerance;
 | 
			
		|||
		//shaft hole
 | 
			
		||||
		translate( [0, 0, -6] ) cylinder( r=motor_rod_diam, h=20);
 | 
			
		||||
	}
 | 
			
		||||
	translate( [0, 13, 12-3.5]) //rotate([180,0,180])
 | 
			
		||||
	screw_and_nut(size=3,length=8,nutDepth=1,nutAddedLen=0,autoNutOffset=true,invert=false,rot=90,echoPart=true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module cyclone_rod_gear(Gear_N_Teeth = 21, gearHeight=10, nutSize = 8, saveMaterial=false, tolerance=0) {
 | 
			
		||||
rod_diam = COURSE_METRIC_BOLT_MAJOR_THREAD_DIAMETERS[nutSize]+tolerance;
 | 
			
		||||
nut_separation = METRIC_NUT_THICKNESS[nutSize]/2+tolerance;
 | 
			
		||||
nut_radius = METRIC_NUT_AC_WIDTHS[nutSize]/2+tolerance;
 | 
			
		||||
// Rod Gear
 | 
			
		||||
	difference() {
 | 
			
		||||
		union() {
 | 
			
		||||
| 
						 | 
				
			
			@ -238,7 +232,7 @@ nut_radius = METRIC_NUT_AC_WIDTHS[nutSize]/2+tolerance;
 | 
			
		|||
						cylinder( r=holes_diam/2, h=11, center=true);
 | 
			
		||||
 | 
			
		||||
		translate( [0, 0, (nut_separation/2)] )
 | 
			
		||||
  		cylinder(r=nut_radius,h=7,$fn=6);
 | 
			
		||||
			rotate([-90,0,0]) hole_for_nut(size=nutSize);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -318,7 +312,7 @@ module control_board(plasticColor="green") {
 | 
			
		|||
	translate([15,0]) {
 | 
			
		||||
		difference() {
 | 
			
		||||
			translate([-15,-12.5])
 | 
			
		||||
				cube([102.5,64.5,1.6]);
 | 
			
		||||
				color("green") cube([102.5,64.5,1.6]);
 | 
			
		||||
			translate([0,0,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
			translate([82.5,0,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
			translate([0,48.5,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue