Added workbed DXF generation. Updated anti-backlash part measures

pull/20/head
Carlos Garcia 2014-07-23 17:25:18 +02:00
parent dacc0d7192
commit f3fe2bd578
10 changed files with 7445 additions and 205128 deletions

View File

@ -90,7 +90,9 @@ axes_Y_smoothThreaded_verticalSeparation = axes_Yreference_height-axes_Y_threade
// Activate/Deactivate rendering auxiliary references (LCS axis, etc)
draw_references = true;
render_2D_plane = false;
render_DXF_base = false;
render_DXF_workbed = false;
render_bases_outline = false; // Useful when rendering DXFs
// Include Cyclone parts
include <Cyclone_X_carriage.scad>
@ -102,7 +104,7 @@ include <Cyclone_Y_frames.scad>
// This small module is used to select if an object is rendered as a 2D plane or as a 3D object
module render_2D_or_3D() {
if(render_2D_plane) {
if(render_DXF_base) {
projection(cut = true) children();
} else children();
}
@ -112,7 +114,7 @@ render_2D_or_3D() {
if(draw_references) %frame();
// Main base for the machine
beveledBase([base_size_X,base_size_Y,base_thickness], radius=base_corner_radius, res=base_corner_res, echoPart=true);//, renderPart=render_2D_plane);
beveledBase([base_size_X,base_size_Y,base_thickness], radius=base_corner_radius, res=base_corner_res, echoPart=true, renderPart=render_bases_outline);
//%color("brown") translate([0,0,-base_thickness/2]) bcube([base_size_X,base_size_Y,base_thickness], cr=base_corner_radius, cres=base_corner_res);
@ -247,8 +249,10 @@ render_2D_or_3D() {
// TRANSLATE REFERENCE POSITION to the CENTERED Y carriage nut, Y threaded rod
translate([0,-axes_Ysmooth_rodLen/2+axes_Ycarriage_pos,axes_Y_threaded_height]) {
if(draw_references) %frame();
Cyclone_Y_carriage();
if(render_DXF_workbed)
!Cyclone_Y_carriage(); // Render carriage exclusively
else Cyclone_Y_carriage();
}
}

View File

@ -6,13 +6,15 @@
include <MCAD/nuts_and_bolts.scad>
workbed_separation_from_Y_threaded_rod = axes_Y_smoothThreaded_verticalSeparation+workbed_separation_from_Y_smooth_rod+axes_Ysmooth_rodD/2;
module Cyclone_YsubPart_nutHolder() {
workbed_separation_from_Y_threaded_rod = axes_Y_smoothThreaded_verticalSeparation+workbed_separation_from_Y_smooth_rod+axes_Ysmooth_rodD/2;
footThickness = 10;
screwSeparation = 25;
screwSeparation = 10;
rod_nut_len = 0.8*axes_Ythreaded_rodD;
dimX = axes_Ythreaded_rodD*2+5;
dimY = screwSeparation+10;
dimY = screwSeparation+20;
dimZ = workbed_separation_from_Y_threaded_rod;
holderExtension = 10;
rodTolerance = 0.5;
@ -31,24 +33,24 @@ module Cyclone_YsubPart_nutHolder() {
standard_rod(diam=axes_Ythreaded_rodD+rodTolerance, length=dimY*4, threaded=true, renderPart=true, center=true);
}
// Hole for the main nut
translate([0,dimY/2+0.01,0])
translate([0,dimY/2+0.01+rod_nut_len/2,0])
hull() {
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=0,captiveLen=0,tolerance=0.1);
translate([0,0,-holderExtension*2])
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=0,captiveLen=0,tolerance=0.1);
}
translate([0,dimY/2+0.01-rod_nut_len-3,0]) {
translate([0,dimY/2+0.01-rod_nut_len/2-3,0]) {
// Hole for the sliding nut
hull() {
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=dimY,captiveLen=0,tolerance=0.5);
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=dimY,captiveLen=0,tolerance=0.3);
translate([0,0,-holderExtension*2])
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=dimY,captiveLen=0,tolerance=0.5);
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=dimY,captiveLen=0,tolerance=0.3);
}
// Hole for the washer
hull() {
washer_single(diam=washer_D, thickness=washer_thickness, renderPart=true);
washer_single(diam=washer_D, thickness=washer_thickness, renderPart=true, tolerance=0.3);
translate([0,0,-holderExtension*2])
washer_single(diam=washer_D, thickness=washer_thickness, renderPart=true);
washer_single(diam=washer_D, thickness=washer_thickness, renderPart=true, tolerance=0.3);
}
}
// Holes for the supporting screws
@ -59,33 +61,46 @@ module Cyclone_YsubPart_nutHolder() {
rotate([90,0,0])
hole_for_screw(size=3,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0);
}
translate([0,dimY/2,0])
translate([0,dimY/2+rod_nut_len/2,0])
rotate([0,90,0]) rotate([90,0,0]) nut(size=8, echoPart=true);
translate([0,-dimY/2,0])
rotate([0,90,0]) rotate([-90,0,0]) nut(size=8, echoPart=true);
translate([0,dimY/2+0.01-rod_nut_len-3,0])
washer_single(diam=washer_D, thickness=washer_thickness, tolerance=0, echoPart=true);
translate([0,dimY/2+0.01-rod_nut_len/2-3,0])
washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
}
module Cyclone_YsubPart_linearBearingHolders() {
baseHeight = workbed_separation_from_Y_smooth_rod-1;
color("lightgreen") {
translate([0,0,axes_Y_smoothThreaded_verticalSeparation+baseHeight/2]) {
translate([axes_Ysmooth_separation/2,Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
translate([-axes_Ysmooth_separation/2,Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
translate([-axes_Ysmooth_separation/2,-Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
translate([axes_Ysmooth_separation/2,-Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
}
}
}
module Cyclone_Y_carriage() {
baseHeight = workbed_separation_from_Y_smooth_rod-1;
//projection(cut = true) translate([0,0,-axes_Y_smoothThreaded_verticalSeparation-baseHeight-axes_Ysmooth_rodD/2]){
Cyclone_YsubPart_nutHolder();
color("lightgreen") {
translate([0,0,axes_Y_smoothThreaded_verticalSeparation+baseHeight/2]) {
translate([axes_Ysmooth_separation/2,Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
translate([-axes_Ysmooth_separation/2,Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
translate([-axes_Ysmooth_separation/2,-Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
translate([axes_Ysmooth_separation/2,-Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true);
if(render_DXF_workbed) {
projection(cut = true)
translate([0,0,-workbed_separation_from_Y_threaded_rod]) {
Cyclone_YsubPart_nutHolder();
Cyclone_YsubPart_linearBearingHolders();
color([0.9,0.8,0.8,0.5]) translate([0,0,workbed_separation_from_Y_threaded_rod+workbed_thickness])
beveledBase(size=[workbed_size_X,workbed_size_Y,workbed_thickness], radius=3, res=15, echoPart=true, renderPart=render_bases_outline);
}
}
color([0.9,0.8,0.8,0.5]) translate([0,0,8+5+axes_Y_smoothThreaded_verticalSeparation+baseHeight])
} else {
Cyclone_YsubPart_nutHolder();
Cyclone_YsubPart_linearBearingHolders();
color([0.9,0.8,0.8,0.5]) translate([0,0,workbed_separation_from_Y_threaded_rod+workbed_thickness])
beveledBase(size=[workbed_size_X,workbed_size_Y,workbed_thickness], radius=3, res=15, echoPart=true);
//}
}
}

View File

@ -209,7 +209,7 @@ module radialBearing(model=608, renderPart=false, echoPart=false) {
if(echoPart) echo(str("BOM: Radial bearing. Model ",model));
}
module washer_single(diam=15.8, thickness=1.6, tolerance=0.2, renderPart=false, echoPart=false) {
module washer_single(diam=15.8, thickness=1.6, tolerance=0, renderPart=false, echoPart=false) {
renderStandardPart(renderPart)
color(steel)
rotate([90,0,0]) translate([0,0,-tolerance])

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,838 @@
0
SECTION
2
BLOCKS
0
ENDSEC
0
SECTION
2
ENTITIES
0
LINE
8
0
10
-107.5
11
-107.486
20
-57
21
-57.2941
0
LINE
8
0
10
-107.486
11
-107.442
20
-57.2941
21
-57.5853
0
LINE
8
0
10
-107.442
11
-107.371
20
-57.5853
21
-57.8709
0
LINE
8
0
10
-107.371
11
-107.272
20
-57.8709
21
-58.1481
0
LINE
8
0
10
-107.272
11
-107.146
20
-58.1481
21
-58.4142
0
LINE
8
0
10
-107.146
11
-106.994
20
-58.4142
21
-58.6667
0
LINE
8
0
10
-106.994
11
-106.819
20
-58.6667
21
-58.9032
0
LINE
8
0
10
-106.819
11
-106.621
20
-58.9032
21
-59.1213
0
LINE
8
0
10
-106.621
11
-106.403
20
-59.1213
21
-59.319
0
LINE
8
0
10
-106.403
11
-106.167
20
-59.319
21
-59.4944
0
LINE
8
0
10
-106.167
11
-105.914
20
-59.4944
21
-59.6458
0
LINE
8
0
10
-105.914
11
-105.648
20
-59.6458
21
-59.7716
0
LINE
8
0
10
-105.648
11
-105.371
20
-59.7716
21
-59.8708
0
LINE
8
0
10
-105.371
11
-105.085
20
-59.8708
21
-59.9424
0
LINE
8
0
10
-105.085
11
-104.794
20
-59.9424
21
-59.9856
0
LINE
8
0
10
-104.794
11
-104.5
20
-59.9856
21
-60
0
LINE
8
0
10
-104.5
11
104.5
20
-60
21
-60
0
LINE
8
0
10
104.5
11
104.794
20
-60
21
-59.9856
0
LINE
8
0
10
104.794
11
105.085
20
-59.9856
21
-59.9424
0
LINE
8
0
10
105.085
11
105.371
20
-59.9424
21
-59.8708
0
LINE
8
0
10
105.371
11
105.648
20
-59.8708
21
-59.7716
0
LINE
8
0
10
105.648
11
105.914
20
-59.7716
21
-59.6458
0
LINE
8
0
10
105.914
11
106.167
20
-59.6458
21
-59.4944
0
LINE
8
0
10
106.167
11
106.403
20
-59.4944
21
-59.319
0
LINE
8
0
10
106.403
11
106.621
20
-59.319
21
-59.1213
0
LINE
8
0
10
106.621
11
106.819
20
-59.1213
21
-58.9032
0
LINE
8
0
10
106.819
11
106.994
20
-58.9032
21
-58.6667
0
LINE
8
0
10
106.994
11
107.146
20
-58.6667
21
-58.4142
0
LINE
8
0
10
107.146
11
107.272
20
-58.4142
21
-58.1481
0
LINE
8
0
10
107.272
11
107.371
20
-58.1481
21
-57.8709
0
LINE
8
0
10
107.371
11
107.442
20
-57.8709
21
-57.5853
0
LINE
8
0
10
107.442
11
107.486
20
-57.5853
21
-57.2941
0
LINE
8
0
10
107.486
11
107.5
20
-57.2941
21
-57
0
LINE
8
0
10
107.5
11
107.5
20
-57
21
57
0
LINE
8
0
10
107.5
11
107.486
20
57
21
57.2941
0
LINE
8
0
10
107.486
11
107.442
20
57.2941
21
57.5853
0
LINE
8
0
10
107.442
11
107.371
20
57.5853
21
57.8709
0
LINE
8
0
10
107.371
11
107.272
20
57.8709
21
58.1481
0
LINE
8
0
10
107.272
11
107.146
20
58.1481
21
58.4142
0
LINE
8
0
10
107.146
11
106.994
20
58.4142
21
58.6667
0
LINE
8
0
10
106.994
11
106.819
20
58.6667
21
58.9032
0
LINE
8
0
10
106.819
11
106.621
20
58.9032
21
59.1213
0
LINE
8
0
10
106.621
11
106.403
20
59.1213
21
59.319
0
LINE
8
0
10
106.403
11
106.167
20
59.319
21
59.4944
0
LINE
8
0
10
106.167
11
105.914
20
59.4944
21
59.6458
0
LINE
8
0
10
105.914
11
105.648
20
59.6458
21
59.7716
0
LINE
8
0
10
105.648
11
105.371
20
59.7716
21
59.8708
0
LINE
8
0
10
105.371
11
105.085
20
59.8708
21
59.9424
0
LINE
8
0
10
105.085
11
104.794
20
59.9424
21
59.9856
0
LINE
8
0
10
104.794
11
104.5
20
59.9856
21
60
0
LINE
8
0
10
104.5
11
-104.5
20
60
21
60
0
LINE
8
0
10
-104.5
11
-104.794
20
60
21
59.9856
0
LINE
8
0
10
-104.794
11
-105.085
20
59.9856
21
59.9424
0
LINE
8
0
10
-105.085
11
-105.371
20
59.9424
21
59.8708
0
LINE
8
0
10
-105.371
11
-105.648
20
59.8708
21
59.7716
0
LINE
8
0
10
-105.648
11
-105.914
20
59.7716
21
59.6458
0
LINE
8
0
10
-105.914
11
-106.167
20
59.6458
21
59.4944
0
LINE
8
0
10
-106.167
11
-106.403
20
59.4944
21
59.319
0
LINE
8
0
10
-106.403
11
-106.621
20
59.319
21
59.1213
0
LINE
8
0
10
-106.621
11
-106.819
20
59.1213
21
58.9032
0
LINE
8
0
10
-106.819
11
-106.994
20
58.9032
21
58.6667
0
LINE
8
0
10
-106.994
11
-107.146
20
58.6667
21
58.4142
0
LINE
8
0
10
-107.146
11
-107.272
20
58.4142
21
58.1481
0
LINE
8
0
10
-107.272
11
-107.371
20
58.1481
21
57.8709
0
LINE
8
0
10
-107.371
11
-107.442
20
57.8709
21
57.5853
0
LINE
8
0
10
-107.442
11
-107.486
20
57.5853
21
57.2941
0
LINE
8
0
10
-107.486
11
-107.5
20
57.2941
21
57
0
LINE
8
0
10
-107.5
11
-107.5
20
57
21
-57
0
ENDSEC
0
SECTION
2
OBJECTS
0
DICTIONARY
0
ENDSEC
0
EOF

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB