Improved color representation, Z carriage imported to improve 3D representation
							parent
							
								
									749f6f53cc
								
							
						
					
					
						commit
						b2effc7467
					
				| 
						 | 
				
			
			@ -56,8 +56,8 @@ function animatePart(n,dist=30,overlap=animated_timePerPart*0.25) = dist*animati
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
// Parameters for the bottom base
 | 
			
		||||
base_size_X			= 304.8+animatePart(1,overlap=0);
 | 
			
		||||
base_size_Y			= 261.62+animatePart(2);
 | 
			
		||||
base_size_X			= 304.8 + animatePart(1,overlap=0);
 | 
			
		||||
base_size_Y			= 261.62 + animatePart(2);
 | 
			
		||||
base_thickness		= 8;
 | 
			
		||||
base_corner_radius	= 20;
 | 
			
		||||
base_corner_res		= 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -65,45 +65,45 @@ foot_offset = 25;
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
// Parameters for the axes sizes
 | 
			
		||||
axes_Xsmooth_rodLen	= animatePart(1,overlap=0)+250;//265;
 | 
			
		||||
axes_Ysmooth_rodLen	= animatePart(2)+210;
 | 
			
		||||
axes_Zsmooth_rodLen	= 90+animatePart(3);
 | 
			
		||||
axes_Xsmooth_rodLen	= 250 + animatePart(1,overlap=0);
 | 
			
		||||
axes_Ysmooth_rodLen	= 210 + animatePart(2);
 | 
			
		||||
axes_Zsmooth_rodLen	= 110 + animatePart(3);
 | 
			
		||||
 | 
			
		||||
axes_Xthreaded_rodLen	= axes_Xsmooth_rodLen+50;
 | 
			
		||||
axes_Ythreaded_rodLen	= axes_Ysmooth_rodLen-10;
 | 
			
		||||
axes_Zthreaded_rodLen	= axes_Zsmooth_rodLen-20;
 | 
			
		||||
axes_Zthreaded_rodLen	= 90;
 | 
			
		||||
 | 
			
		||||
axes_Xsmooth_rodD	= 8.5+animatePart(4,dist=5);
 | 
			
		||||
axes_Ysmooth_rodD	= 8.5+animatePart(4,dist=5);
 | 
			
		||||
axes_Zsmooth_rodD	= 8.2+animatePart(4,dist=5);
 | 
			
		||||
axes_Xsmooth_rodD	= 8.5 + animatePart(4,dist=5);
 | 
			
		||||
axes_Ysmooth_rodD	= 8.5 + animatePart(4,dist=5);
 | 
			
		||||
axes_Zsmooth_rodD	= 8.2 + animatePart(4,dist=5);
 | 
			
		||||
 | 
			
		||||
axes_Xthreaded_rodD	= 8.5+animatePart(4,dist=5);
 | 
			
		||||
axes_Ythreaded_rodD	= 8.5+animatePart(4,dist=5);
 | 
			
		||||
axes_Zthreaded_rodD	= 8.5+animatePart(4,dist=5);
 | 
			
		||||
axes_Xthreaded_rodD	= 8.5 + animatePart(4,dist=5);
 | 
			
		||||
axes_Ythreaded_rodD	= 8.5 + animatePart(4,dist=5);
 | 
			
		||||
axes_Zthreaded_rodD	= 8.5 + animatePart(4,dist=5);
 | 
			
		||||
 | 
			
		||||
// Parameters for the axes reference position
 | 
			
		||||
// Note: The reference coordinates are centered like this:
 | 
			
		||||
// Y axis reference is the Y smooth rod end, BACK of RIGHT FRAME
 | 
			
		||||
// X axis reference is the frontal X smooth rod end, RIGHT FRAME
 | 
			
		||||
// Z axis reference is the Z threaded rod, at the height of the Z nut, and relative to the X reference
 | 
			
		||||
axes_Yreference_height	= 40+animatePart(5);
 | 
			
		||||
axes_Xreference_height	= 74+animatePart(6); // relative to Y reference
 | 
			
		||||
axes_Zreference_height	= -3+animatePart(7)+animatePart(9); // relative to X reference
 | 
			
		||||
axes_Yreference_height	= 40 + animatePart(5);
 | 
			
		||||
axes_Xreference_height	= 74 + animatePart(6); // relative to Y reference
 | 
			
		||||
axes_Zreference_height	= -3 + animatePart(7) + animatePart(9); // relative to X reference
 | 
			
		||||
 | 
			
		||||
axes_Xreference_posY	= -81-animatePart(8)-animatePart(9); // relative to Y reference. Moves the X axis towards the front of the machine
 | 
			
		||||
axes_Zreference_posY	= 14; // relative to X reference. Positions Z rods between the Y rods
 | 
			
		||||
 | 
			
		||||
axes_Y_threaded_height = 30+animatePart(5);
 | 
			
		||||
axes_Y_threaded_height = 30 + animatePart(5);
 | 
			
		||||
 | 
			
		||||
axes_Ysmooth_separation	= 165+animatePart(1,overlap=0);
 | 
			
		||||
axes_Xsmooth_separation = 40+animatePart(9);
 | 
			
		||||
axes_Zsmooth_separation = 40+animatePart(10,overlap=0);
 | 
			
		||||
axes_Ysmooth_separation	= 165 + animatePart(1,overlap=0);
 | 
			
		||||
axes_Xsmooth_separation = 40 + animatePart(9);
 | 
			
		||||
axes_Zsmooth_separation = 40 + animatePart(10,overlap=0);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Carriage positions (for rendering)
 | 
			
		||||
axes_Xcarriage_pos = axes_Xsmooth_rodLen/2+sin($t*360)*axes_Xsmooth_rodLen/3;
 | 
			
		||||
axes_Ycarriage_pos = axes_Ysmooth_rodLen/2+sin($t*360)*axes_Ysmooth_rodLen/4.1;
 | 
			
		||||
axes_Zcarriage_pos = axes_Zsmooth_rodLen/3+sin($t*360)*axes_Zsmooth_rodLen/4;
 | 
			
		||||
axes_Zcarriage_pos = axes_Zsmooth_rodLen/2+sin($t*360)*axes_Zsmooth_rodLen/8;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -117,8 +117,12 @@ workbed_separation_from_Y_smooth_rod = 10;
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
// Part colors
 | 
			
		||||
color_movingPart = [0.4,0.5,0.9];
 | 
			
		||||
color_stillPart = [0.9,0.9,0.1];
 | 
			
		||||
blueColor = [0.3,0.6,0.9];
 | 
			
		||||
redColor = [0.8,0.3,0.3];
 | 
			
		||||
yellowColor = [0.9,0.9,0.1];
 | 
			
		||||
blackColor = [0.2,0.2,0.2];
 | 
			
		||||
color_movingPart = yellowColor+[0.1,0.1,0.1];
 | 
			
		||||
color_stillPart = yellowColor;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Calculations
 | 
			
		||||
| 
						 | 
				
			
			@ -128,7 +132,7 @@ axes_Y_smoothThreaded_verticalSeparation = axes_Yreference_height-axes_Y_threade
 | 
			
		|||
axes_ZthreadedReference_posY = axes_Xsmooth_separation-axes_Zreference_posY-axes_Zreference_posY; // Relative to X carriage reference
 | 
			
		||||
 | 
			
		||||
// Activate/Deactivate rendering auxiliary references (LCS axis, etc)
 | 
			
		||||
draw_references = true;
 | 
			
		||||
draw_references = false;
 | 
			
		||||
render_DXF_base = false;
 | 
			
		||||
render_DXF_workbed = false;
 | 
			
		||||
render_bases_outline = false; // Toggle for rendering outline DXFs
 | 
			
		||||
| 
						 | 
				
			
			@ -233,11 +237,7 @@ render_2D_or_3D() {
 | 
			
		|||
						translate([0,0,axes_Zcarriage_pos]) {
 | 
			
		||||
							if(draw_references) %frame();
 | 
			
		||||
						
 | 
			
		||||
							//Cyclone_Z_carriage();
 | 
			
		||||
							
 | 
			
		||||
							linearBearing_single(model="LM8UU", echoPart=true);
 | 
			
		||||
							translate([axes_Zsmooth_separation,0,0])
 | 
			
		||||
								linearBearing_single(model="LM8UU", echoPart=true);
 | 
			
		||||
							Cyclone_Z_carriage();
 | 
			
		||||
						}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -228,7 +228,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
 | 
			
		|||
		}
 | 
			
		||||
		
 | 
			
		||||
		// TRANSLATE REFERENCE POSITION to the left frame, X lower smooth rod end
 | 
			
		||||
		translate([-axes_Xreference_posX,axes_Xreference_posY,axes_Xreference_height]) {
 | 
			
		||||
		color(color_stillPart) translate([-axes_Xreference_posX,axes_Xreference_posY,axes_Xreference_height]) {
 | 
			
		||||
			rotate([0,0,90]) standard_rod(diam=axes_Xsmooth_rodD, length=partThickness*4, threaded=false, renderPart=true, center=true);
 | 
			
		||||
			rotate([0,0,-90])
 | 
			
		||||
				rotate([0,90,0])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -161,9 +161,9 @@ module Cyclone_YsubPart_PCBholder() {
 | 
			
		|||
	
 | 
			
		||||
	// Draw the PCB (transparent)
 | 
			
		||||
	%translate([0,0,PCBholder_height])
 | 
			
		||||
		color([0.2,0.6,0,0.5]) cube([PCB_dimX+PCB_holder_tolerance*2,PCB_dimY+PCB_holder_tolerance*2,PCB_dimZ], center=true);
 | 
			
		||||
		color([0.2,0.6,0, 1]) cube([PCB_dimX+PCB_holder_tolerance*2,PCB_dimY+PCB_holder_tolerance*2,PCB_dimZ], center=true);
 | 
			
		||||
	%translate([0,0,PCBholder_height+PCB_dimZ/2])
 | 
			
		||||
		color([0.8,0.5,0,0.5]) cube([PCB_dimX+PCB_holder_tolerance*2,PCB_dimY+PCB_holder_tolerance*2,PCB_dimZ/10], center=true);
 | 
			
		||||
		color([0.8,0.5,0, 1]) cube([PCB_dimX+PCB_holder_tolerance*2,PCB_dimY+PCB_holder_tolerance*2,PCB_dimZ/10], center=true);
 | 
			
		||||
	
 | 
			
		||||
	difference() {
 | 
			
		||||
		color(color_stillPart) translate([0,0,PCBholder_height/2])
 | 
			
		||||
| 
						 | 
				
			
			@ -199,7 +199,9 @@ module Cyclone_YsubPart_PCBholder() {
 | 
			
		|||
			bcube([PCB_dimX+PCB_holder_tolerance*2+holderL_width, PCB_dimY+PCB_holder_tolerance*2+holderL_width, holderL_thickness+holderL_thickness_btm], cr=8, cres=0);
 | 
			
		||||
		translate([0,0,PCBholder_height+holderL_thickness_btm/2])
 | 
			
		||||
			bcube([PCB_dimX+PCB_holder_tolerance*2+holderL_innerWidth, PCB_dimY+PCB_holder_tolerance*2+holderL_innerWidth, holderL_thickness_btm], cr=8, cres=0);
 | 
			
		||||
		#frame(100);
 | 
			
		||||
		
 | 
			
		||||
		if(draw_references) %frame();
 | 
			
		||||
		
 | 
			
		||||
		translate([0,0,PCBholder_height/2])
 | 
			
		||||
			cube([PCB_dimX-PCB_holder_edge_length*2,PCB_dimY-PCB_holder_edge_length*2, 2*PCBholder_height+1], center=true);
 | 
			
		||||
		translate([-PCB_dimX/2+PCB_holder_edge_length,0,-0.5])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -394,8 +394,8 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
 | 
			
		|||
	footSeparation = screwSize*2;
 | 
			
		||||
	footThickness = 10;
 | 
			
		||||
	
 | 
			
		||||
	difference() {
 | 
			
		||||
		color(color_stillPart) union() {
 | 
			
		||||
	color(color_stillPart) difference() {
 | 
			
		||||
		union() {
 | 
			
		||||
			translate([0,0,-axes_Yreference_height])
 | 
			
		||||
				cube([dimX,dimY,dimZ+holderThickness+axes_Ysmooth_rodD/2]);
 | 
			
		||||
			translate([-holderOuterRadius,0,-axes_Yreference_height])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,13 +4,37 @@
 | 
			
		|||
// License: CC BY-SA 4.0 (Attribution-ShareAlike 4.0 International, http://creativecommons.org/licenses/by-sa/4.0/)
 | 
			
		||||
// Designed with http://www.openscad.org/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// TO-DO: Re-program the carriage in a parametric manner
 | 
			
		||||
 | 
			
		||||
module Cyclone_Z_carriage() {
 | 
			
		||||
	color("cyan") translate([-5,-100+5,0]) {
 | 
			
		||||
	cube([axes_Zsmooth_separation+10,100,10]);
 | 
			
		||||
	translate([0,0,30])
 | 
			
		||||
		cube([axes_Zsmooth_separation+10,100,10]);
 | 
			
		||||
	color(color_stillPart)
 | 
			
		||||
		translate([axes_Zsmooth_separation/2,0,0]) rotate([0,0,-90])
 | 
			
		||||
			import("INHERITED/stl/Cyclone_Zcarriage.stl");
 | 
			
		||||
	
 | 
			
		||||
	// Bearings
 | 
			
		||||
	linearBearing_single(model="LM8UU", echoPart=true);
 | 
			
		||||
	translate([axes_Zsmooth_separation,0,0])
 | 
			
		||||
		linearBearing_single(model="LM8UU", echoPart=true);
 | 
			
		||||
	translate([0,0,24.5])
 | 
			
		||||
		linearBearing_single(model="LM8UU", echoPart=true);
 | 
			
		||||
	translate([axes_Zsmooth_separation,0,24.5])
 | 
			
		||||
		linearBearing_single(model="LM8UU", echoPart=true);
 | 
			
		||||
	
 | 
			
		||||
	// Motor
 | 
			
		||||
	translate([axes_Zsmooth_separation/2,30,51]) rotate([180,0,0])
 | 
			
		||||
		stepperMotor(screwHeight=motorWallSeparation, echoPart=true);
 | 
			
		||||
	
 | 
			
		||||
	// Dremel tool
 | 
			
		||||
	translate([axes_Zsmooth_separation/2,-40,-40]) {
 | 
			
		||||
		color([0.2,0.2,0.2]) %cylinder(r1=30/2, r2=50/2, h=40);
 | 
			
		||||
		translate([0,0,50])
 | 
			
		||||
			color([0.2,0.2,0.2]) %cylinder(r=50/2, h=80);
 | 
			
		||||
		translate([0,0,50+80])
 | 
			
		||||
			color([0.2,0.2,0.2]) %cylinder(r1=50/2, r2=30/2, h=10);
 | 
			
		||||
		translate([0,0,-20])
 | 
			
		||||
			color([0.4,0.4,0.4]) %cylinder(r1=12/2, r2=10/2, h=20);
 | 
			
		||||
		translate([0,0,-20-20])
 | 
			
		||||
			color([0.9,0.9,0.9]) %cylinder(r1=0.5/2, r2=3/2, h=20);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,11 +17,8 @@ Adressing all the issues from the original design, and implementing improvements
 | 
			
		|||
Work in progress. Pending tasks:  
 | 
			
		||||
--  
 | 
			
		||||
* Improve vacuum cleaner attachment (make it detachable)
 | 
			
		||||
* Finish protective covers for the gears
 | 
			
		||||
* Endstop integration for Z
 | 
			
		||||
* Better plastic-saving holes for the X frames
 | 
			
		||||
* Improve the nut holder in the X carriage (with the same spring mechanism as in Y)
 | 
			
		||||
* Re-design the [Z carriage](INHERITED) after testing performance
 | 
			
		||||
* Endstop integration for Z (integrated probe)
 | 
			
		||||
* Re-implement the [Z carriage](INHERITED), currently inherited from Cyclone V1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -1,4 +1,17 @@
 | 
			
		|||
 | 
			
		||||
Obsolete!! Use only for reference on how to print the parts
 | 
			
		||||
Last updated: September 15th 2014
 | 
			
		||||
---
 | 
			
		||||
This plate can serve as a reference on how to print the parts.  
 | 
			
		||||
You can also open the STL with [Cura](http://wiki.ultimaker.com/Cura) and use the option "split into parts" to easily arrange your own plates.  
 | 
			
		||||
 | 
			
		||||
Tested Cura slicing settings:  
 | 
			
		||||
 | 
			
		||||
	Material: PLA, 1.75 mm
 | 
			
		||||
	Nozzle diameter: 0.4 mm
 | 
			
		||||
	Layer height: 0.25 mm
 | 
			
		||||
	Shell thickness: 1.2 mm
 | 
			
		||||
	Bottom/Top thickness: 1 mm
 | 
			
		||||
	Fill density: 15 %
 | 
			
		||||
	Print speed: 60 mm/s
 | 
			
		||||
	Printing temperature: 210 deg
 | 
			
		||||
	
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 60 KiB  | 
		Loading…
	
		Reference in New Issue