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
|
// Parameters for the bottom base
|
||||||
base_size_X = 304.8+animatePart(1,overlap=0);
|
base_size_X = 304.8 + animatePart(1,overlap=0);
|
||||||
base_size_Y = 261.62+animatePart(2);
|
base_size_Y = 261.62 + animatePart(2);
|
||||||
base_thickness = 8;
|
base_thickness = 8;
|
||||||
base_corner_radius = 20;
|
base_corner_radius = 20;
|
||||||
base_corner_res = 0;
|
base_corner_res = 0;
|
||||||
|
@ -65,45 +65,45 @@ foot_offset = 25;
|
||||||
|
|
||||||
|
|
||||||
// Parameters for the axes sizes
|
// Parameters for the axes sizes
|
||||||
axes_Xsmooth_rodLen = animatePart(1,overlap=0)+250;//265;
|
axes_Xsmooth_rodLen = 250 + animatePart(1,overlap=0);
|
||||||
axes_Ysmooth_rodLen = animatePart(2)+210;
|
axes_Ysmooth_rodLen = 210 + animatePart(2);
|
||||||
axes_Zsmooth_rodLen = 90+animatePart(3);
|
axes_Zsmooth_rodLen = 110 + animatePart(3);
|
||||||
|
|
||||||
axes_Xthreaded_rodLen = axes_Xsmooth_rodLen+50;
|
axes_Xthreaded_rodLen = axes_Xsmooth_rodLen+50;
|
||||||
axes_Ythreaded_rodLen = axes_Ysmooth_rodLen-10;
|
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_Xsmooth_rodD = 8.5 + animatePart(4,dist=5);
|
||||||
axes_Ysmooth_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_Zsmooth_rodD = 8.2 + animatePart(4,dist=5);
|
||||||
|
|
||||||
axes_Xthreaded_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_Ythreaded_rodD = 8.5 + animatePart(4,dist=5);
|
||||||
axes_Zthreaded_rodD = 8.5+animatePart(4,dist=5);
|
axes_Zthreaded_rodD = 8.5 + animatePart(4,dist=5);
|
||||||
|
|
||||||
// Parameters for the axes reference position
|
// Parameters for the axes reference position
|
||||||
// Note: The reference coordinates are centered like this:
|
// Note: The reference coordinates are centered like this:
|
||||||
// Y axis reference is the Y smooth rod end, BACK of RIGHT FRAME
|
// 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
|
// 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
|
// 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_Yreference_height = 40 + animatePart(5);
|
||||||
axes_Xreference_height = 74+animatePart(6); // relative to Y reference
|
axes_Xreference_height = 74 + animatePart(6); // relative to Y reference
|
||||||
axes_Zreference_height = -3+animatePart(7)+animatePart(9); // relative to X 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_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_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_Ysmooth_separation = 165 + animatePart(1,overlap=0);
|
||||||
axes_Xsmooth_separation = 40+animatePart(9);
|
axes_Xsmooth_separation = 40 + animatePart(9);
|
||||||
axes_Zsmooth_separation = 40+animatePart(10,overlap=0);
|
axes_Zsmooth_separation = 40 + animatePart(10,overlap=0);
|
||||||
|
|
||||||
|
|
||||||
// Carriage positions (for rendering)
|
// Carriage positions (for rendering)
|
||||||
axes_Xcarriage_pos = axes_Xsmooth_rodLen/2+sin($t*360)*axes_Xsmooth_rodLen/3;
|
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_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
|
// Part colors
|
||||||
color_movingPart = [0.4,0.5,0.9];
|
blueColor = [0.3,0.6,0.9];
|
||||||
color_stillPart = [0.9,0.9,0.1];
|
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
|
// 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
|
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)
|
// Activate/Deactivate rendering auxiliary references (LCS axis, etc)
|
||||||
draw_references = true;
|
draw_references = false;
|
||||||
render_DXF_base = false;
|
render_DXF_base = false;
|
||||||
render_DXF_workbed = false;
|
render_DXF_workbed = false;
|
||||||
render_bases_outline = false; // Toggle for rendering outline DXFs
|
render_bases_outline = false; // Toggle for rendering outline DXFs
|
||||||
|
@ -233,11 +237,7 @@ render_2D_or_3D() {
|
||||||
translate([0,0,axes_Zcarriage_pos]) {
|
translate([0,0,axes_Zcarriage_pos]) {
|
||||||
if(draw_references) %frame();
|
if(draw_references) %frame();
|
||||||
|
|
||||||
//Cyclone_Z_carriage();
|
Cyclone_Z_carriage();
|
||||||
|
|
||||||
linearBearing_single(model="LM8UU", echoPart=true);
|
|
||||||
translate([axes_Zsmooth_separation,0,0])
|
|
||||||
linearBearing_single(model="LM8UU", echoPart=true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -228,7 +228,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TRANSLATE REFERENCE POSITION to the left frame, X lower smooth rod end
|
// 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]) standard_rod(diam=axes_Xsmooth_rodD, length=partThickness*4, threaded=false, renderPart=true, center=true);
|
||||||
rotate([0,0,-90])
|
rotate([0,0,-90])
|
||||||
rotate([0,90,0])
|
rotate([0,90,0])
|
||||||
|
|
|
@ -161,9 +161,9 @@ module Cyclone_YsubPart_PCBholder() {
|
||||||
|
|
||||||
// Draw the PCB (transparent)
|
// Draw the PCB (transparent)
|
||||||
%translate([0,0,PCBholder_height])
|
%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])
|
%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() {
|
difference() {
|
||||||
color(color_stillPart) translate([0,0,PCBholder_height/2])
|
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);
|
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])
|
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);
|
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])
|
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);
|
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])
|
translate([-PCB_dimX/2+PCB_holder_edge_length,0,-0.5])
|
||||||
|
|
|
@ -394,8 +394,8 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
|
||||||
footSeparation = screwSize*2;
|
footSeparation = screwSize*2;
|
||||||
footThickness = 10;
|
footThickness = 10;
|
||||||
|
|
||||||
difference() {
|
color(color_stillPart) difference() {
|
||||||
color(color_stillPart) union() {
|
union() {
|
||||||
translate([0,0,-axes_Yreference_height])
|
translate([0,0,-axes_Yreference_height])
|
||||||
cube([dimX,dimY,dimZ+holderThickness+axes_Ysmooth_rodD/2]);
|
cube([dimX,dimY,dimZ+holderThickness+axes_Ysmooth_rodD/2]);
|
||||||
translate([-holderOuterRadius,0,-axes_Yreference_height])
|
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/)
|
// 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/
|
// Designed with http://www.openscad.org/
|
||||||
|
|
||||||
|
// TO-DO: Re-program the carriage in a parametric manner
|
||||||
|
|
||||||
module Cyclone_Z_carriage() {
|
module Cyclone_Z_carriage() {
|
||||||
color("cyan") translate([-5,-100+5,0]) {
|
color(color_stillPart)
|
||||||
cube([axes_Zsmooth_separation+10,100,10]);
|
translate([axes_Zsmooth_separation/2,0,0]) rotate([0,0,-90])
|
||||||
translate([0,0,30])
|
import("INHERITED/stl/Cyclone_Zcarriage.stl");
|
||||||
cube([axes_Zsmooth_separation+10,100,10]);
|
|
||||||
|
// 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:
|
Work in progress. Pending tasks:
|
||||||
--
|
--
|
||||||
* Improve vacuum cleaner attachment (make it detachable)
|
* Improve vacuum cleaner attachment (make it detachable)
|
||||||
* Finish protective covers for the gears
|
* Endstop integration for Z (integrated probe)
|
||||||
* Endstop integration for Z
|
* Re-implement the [Z carriage](INHERITED), currently inherited from Cyclone V1
|
||||||
* 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
|
|
||||||
|
|
||||||
|
|
||||||
![ScreenShot](output/cyclone.png)
|
![ScreenShot](output/cyclone.png)
|
||||||
|
|
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