Compare commits
111 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
529e5ad689 | |
|
|
b34f8cb3fb | |
|
|
e439111a60 | |
|
|
a1a532a25f | |
|
|
1f5072f2c1 | |
|
|
7c7ad15237 | |
|
|
bc7818d10d | |
|
|
d7f81f2ef2 | |
|
|
e1982c8dda | |
|
|
d05a61a896 | |
|
|
d14c21ea89 | |
|
|
f60f00539e | |
|
|
88e9bc3533 | |
|
|
d4f24eb334 | |
|
|
c4281ea05c | |
|
|
b6ecb46f0f | |
|
|
fb1976ccb7 | |
|
|
5e0dca5306 | |
|
|
e55953ff51 | |
|
|
1bfc29ac0a | |
|
|
8b40bbb56c | |
|
|
a79344d866 | |
|
|
b52521ebfe | |
|
|
3175670635 | |
|
|
3117792b4f | |
|
|
62163d3b2f | |
|
|
803096cd2e | |
|
|
96856ce2ae | |
|
|
435cacfa8b | |
|
|
f35614d48b | |
|
|
c3713af117 | |
|
|
9d5c125e71 | |
|
|
a85b78b219 | |
|
|
cc82a4ec15 | |
|
|
3dc4e39104 | |
|
|
66e5114c90 | |
|
|
e9ba2ee1ed | |
|
|
4726f0892f | |
|
|
f41d7d656a | |
|
|
2246cdfa6f | |
|
|
eff1f295c8 | |
|
|
706a90d689 | |
|
|
b07f019bf3 | |
|
|
11122ca288 | |
|
|
93218fea29 | |
|
|
51d22ee474 | |
|
|
4ecca74ce7 | |
|
|
27d5be65f5 | |
|
|
e34c1c5a1a | |
|
|
e50f11aea5 | |
|
|
1f15da8dd1 | |
|
|
8e4a652d06 | |
|
|
74e435fc37 | |
|
|
b5007df863 | |
|
|
a4509ce139 | |
|
|
c9ac47dcff | |
|
|
17a1e0b019 | |
|
|
bbabf2b6ea | |
|
|
1e9c1d8e4b | |
|
|
d9e5d502b8 | |
|
|
93a88c63cb | |
|
|
3b3c073009 | |
|
|
cc11113b97 | |
|
|
fdd82146fd | |
|
|
6d0f2585ee | |
|
|
80998773af | |
|
|
3cdbebde97 | |
|
|
1f94de423e | |
|
|
684a74e9ce | |
|
|
800770f865 | |
|
|
b3d3a839d3 | |
|
|
7b3c846508 | |
|
|
d3c2147bdb | |
|
|
4f392f7660 | |
|
|
352f9353b3 | |
|
|
8b3554debb | |
|
|
22ea3d0024 | |
|
|
b900fa4381 | |
|
|
e486101ab1 | |
|
|
1b905ea4f0 | |
|
|
64f02fd453 | |
|
|
9b50c0305c | |
|
|
707258f919 | |
|
|
195949d302 | |
|
|
a83a3c1f1a | |
|
|
036dbcb873 | |
|
|
c98e112583 | |
|
|
429cb43fb8 | |
|
|
c395b01691 | |
|
|
c8ee2eaad1 | |
|
|
67a4212557 | |
|
|
b2c33fbad8 | |
|
|
35ede11705 | |
|
|
9004fc7777 | |
|
|
0bb85a3cff | |
|
|
ddde89ee76 | |
|
|
0076f897d4 | |
|
|
c5af9ab95e | |
|
|
09d22ee46a | |
|
|
6d7bdf8b7e | |
|
|
578f77c460 | |
|
|
c101b88b16 | |
|
|
8f9d917d21 | |
|
|
5f17685b3c | |
|
|
d62cd44730 | |
|
|
1819da93df | |
|
|
74dca33153 | |
|
|
2bd1ce6267 | |
|
|
eda499287c | |
|
|
74db1d268d | |
|
|
c8636c8c46 |
|
|
@ -1,47 +0,0 @@
|
|||
Original Prusa i3 MK2S to Original Prusa i3 MK3 upgrade
|
||||
|
||||
ATTENTION: Before printing the parts, check the version of the heatbed you have in your package. There are two versions with different cable cover.
|
||||
Soldered power cable - old design, use "MK3_Black_parts_PETG...soldered.gcode" or respective parts labeled "old".
|
||||
Not soldered power cable - new design, use "MK3_Black_parts_PETG...notsoldered.gcode" or respective part labeled "new".
|
||||
G-codes can be downloaded here: https://www.prusa3d.com/downloads/others/mk3_upgrade_gcodes.zip
|
||||
|
||||
Recommended print settings:
|
||||
0.2 mm layer height, infill 20% GRID, no supports and material PETG, only exception is nozzle-fan, which must be from ABS!
|
||||
|
||||
Orange parts bundle (parts can be also printed in black):
|
||||
X-end-motor (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-end-motor.stl
|
||||
X-end-idler (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-end-idler.stl
|
||||
Y-rod-holder (4x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-rod-holder.stl
|
||||
Y-motor-holder (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-motor-holder.stl
|
||||
Y-belt-holder (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-belt-holder.stl
|
||||
Y-belt-idler (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/y-belt-idler.stl
|
||||
Z-axis-top (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/z-axis-top.stl
|
||||
Z-axis-bottom (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/z-axis-bottom.stl
|
||||
LCD-supports (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/lcd-supports.stl
|
||||
nozzle-fan-45deg (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/nozzle-fan-45deg.stl
|
||||
nozzle-fan-45deg-support (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/nozzle-fan-45deg-support.stl
|
||||
|
||||
|
||||
Black parts bundle (Extruder parts MUST BE printed in BLACK):
|
||||
X-carriage* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-carriage.stl
|
||||
X-carriage-back* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/x-carriage-back.stl
|
||||
Cable-holder* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/cable-holder.stl
|
||||
Extruder-body* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-body.stl
|
||||
Extruder-cover* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-cover.stl
|
||||
Extruder-idler-plug* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-idler-plug.stl
|
||||
Extruder-idler* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/extruder-idler.stl
|
||||
Filament-sensor-cover* (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/filament-sensor-cover.stl
|
||||
Heatbed-cable-cover-new** (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/heatbed-cable-cover.stl
|
||||
Heatbed-cable-cover-old*** (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/heatbed-cable-cover-no-screw.stl
|
||||
Einsy-base (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Einsy-base.stl
|
||||
Extruder-cable-clip.stl (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Extruder-cable-clip.stl
|
||||
Heatbed-cable-clip.stl (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Heatbed-cable-clip.stl
|
||||
Einsy-doors (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Einsy-doors.stl
|
||||
Einsy-hinges (1x) https://raw.githubusercontent.com/prusa3d/Original-Prusa-i3/MK3/Printed-Parts/stl/Einsy-hinges.stl
|
||||
|
||||
License GNU GPL v3
|
||||
https://www.prusa3d.com/prusa-i3-printable-parts/
|
||||
|
||||
* Extruder parts MUST BE printed in BLACK.
|
||||
** Use this part for heatbed WITHOUT soldered power cable.
|
||||
*** Use these parts for heatbed WITH soldered power cable.
|
||||
|
|
@ -14,10 +14,10 @@ module main_body()
|
|||
{
|
||||
// main body
|
||||
translate( [ -77 , -4.5 , 0 ] ) cube( [ 155 , 59.8 , 2 ] );
|
||||
translate( [ -77 , -4.5 , 0 ] ) rotate([35,0,0]) cube( [ 155 , 2 , 20.08 ] );
|
||||
translate( [ -77 , -4.5 , 0 ] ) rotate([35,0,0]) cube( [ 155 , 3 , 20.08 ] );
|
||||
translate( [ -77 , -3.5 , -1 ] ) rotate([35,0,0]) cube( [ 7 , 5 , 15 ] );
|
||||
translate( [ 71 , -3.5 , -1 ] ) rotate([35,0,0]) cube( [ 7 , 5 , 15 ] );
|
||||
translate( [ -77 , -14.7 , 14.2 ] ) cube( [ 155 , 2 , 11.8 ] );
|
||||
translate( [ -77 , -15.2 , 14.2 ] ) cube( [ 155 , 3.1 , 11.8 ] );
|
||||
translate( [ -77 , 54 , 0 ] ) cube( [ 155 , 2 , 17 ] );
|
||||
|
||||
// M3 hole body
|
||||
|
|
@ -27,25 +27,14 @@ module main_body()
|
|||
|
||||
// LCD window
|
||||
translate( [ -61.5 , 1 , 1.2 ] ) cube( [ 98.5 , 42 , 10 ] );
|
||||
translate( [ -54.5 , 8 , -1 ] ) cube( [ 85 , 30.5 , 10 ] );
|
||||
|
||||
// buzzer holes
|
||||
translate( [ 55 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
translate( [ 57 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
translate( [ 59 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
translate( [ 61 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
translate( [ 63 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
translate( [ 65 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
translate( [ 67 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
|
||||
|
||||
// buzzer holes corners
|
||||
translate( [ 66.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ 64.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ 62.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ 60.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ 58.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ 56.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ 54.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
|
||||
translate( [ -52.5 , 8 , -1 ] ) cube( [ 80 , 30.5 , 10 ] );
|
||||
|
||||
for(buzz = [55 : 2 : 67])
|
||||
{
|
||||
translate([buzz,1.5,-1]) cube([1.3,4,10]);
|
||||
translate([buzz-0.75,1.5,-0.5]) rotate([0,45,0]) cube([2,4,2]);
|
||||
if(buzz<67) translate([buzz+1.25,1.5,-0.5]) rotate([0,45,0]) cube([2,4,2]);
|
||||
}
|
||||
|
||||
// knob hole
|
||||
translate( [ 62.5 , 21 , -1 ] ) cylinder( h = 10, r = 6, $fn=30);
|
||||
|
|
@ -62,10 +51,17 @@ module main_body()
|
|||
translate( [ 48.7 , 27.8 , -1 ] ) rotate([0,0,45]) cube( [ 3.55 , 1 , 9 ] );
|
||||
|
||||
// rear support cutout
|
||||
translate( [ -64.5 , -12.7 , 14 ] ) cube( [ 10 , 3 , 16 ] );
|
||||
translate( [ 55.5 , -12.7 , 14 ] ) cube( [ 10 , 3 , 16 ] );
|
||||
translate( [ -64.5 , -12.1 , 14 ] ) cube( [ 10 , 3 , 16 ] );
|
||||
translate( [ 55.5 , -12.1 , 14 ] ) cube( [ 10 , 3 , 16 ] );
|
||||
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
translate([-70,55.5,-2]) rotate([55,0,0]) cube([120,5,5]);
|
||||
translate([-100,40,-9.5]) cube([200,50,10]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module pcb_clip()
|
||||
|
|
@ -145,7 +141,7 @@ difference()
|
|||
translate( [ -80 , 9 , 16.5 ] ) cube( [ 10 , 28 , 4.5 ] );
|
||||
|
||||
// front and rear angle
|
||||
translate( [ -81 , -9.3 , -17 ] ) rotate([35,0,0]) cube( [ 164 , 14 , 54.08 ] );
|
||||
translate( [ -81 , -10.5 , -17 ] ) rotate([32,0,0]) cube( [ 164 , 14 , 54.08 ] );
|
||||
translate( [ -78 , 72.7 , -3 ] ) rotate([45,0,0]) cube( [ 160 , 14 , 54.08 ] );
|
||||
|
||||
// M3 screw thread
|
||||
|
|
@ -164,37 +160,42 @@ difference()
|
|||
translate( [ -21 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
|
||||
|
||||
// front cleanup
|
||||
translate( [ -100 , -64 , 0 ] ) cube( [ 200 , 50 , 50 ] );
|
||||
translate( [ -100 , -64.6 , 0 ] ) cube( [ 200 , 50 , 50 ] );
|
||||
|
||||
// X sign on reset button
|
||||
translate( [ 63 , 34 , -1 ] ) rotate([0,0,45]) cube( [ 2, 8, 2 ] );
|
||||
translate( [ 57.5 , 35.5 , -1 ] ) rotate([0,0,-45]) cube( [ 2, 8, 2 ] );
|
||||
|
||||
// corners
|
||||
translate( [ 73 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 7, 80, 7 ] );
|
||||
translate( [ -82 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 7, 80, 7 ] );
|
||||
|
||||
translate( [ -82 , 58 , -5 ] ) rotate([45,0,0]) cube( [ 200, 7, 7 ] );
|
||||
translate([74.05,-5,-2.7]) rotate([0,35,0]) cube([7,80,7]);
|
||||
translate([-82.8,-5,-1]) rotate([0,55,0]) cube([7,80,7]);
|
||||
translate( [ -82 , 58.5 , -5 ] ) rotate([55,0,0]) cube( [ 200, 7, 7 ] );
|
||||
translate( [ -77 , 51 , -4 ] ) rotate([0,0,45]) cube( [ 8, 8, 50 ] );
|
||||
translate( [ 78 , 51 , -4 ] ) rotate([0,0,45]) cube( [ 8, 8, 50 ] );
|
||||
translate( [ 78 , -19 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
|
||||
translate( [ -77 , -19 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
|
||||
|
||||
// LCD corners
|
||||
translate( [ -54.5 , 9.5 , -5.2 ] ) rotate([45,0,0]) cube( [ 85 , 5 , 5 ] ); // LCD window
|
||||
translate( [ -54.5 , 37 , -5.2 ] ) rotate([45,0,0]) cube( [ 85 , 5 , 5 ] ); // LCD window
|
||||
rotate([35,0,0]) translate( [ -78 , -8 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
|
||||
rotate([35,0,0]) translate( [ 79 , -8 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
|
||||
translate( [ -52.5 , 9.5 , -5.2 ] ) rotate([45,0,0]) cube( [ 80 , 5 , 5 ] ); // LCD window
|
||||
translate( [ -52.5 , 37 , -5.2 ] ) rotate([45,0,0]) cube( [ 80 , 5 , 5 ] ); // LCD window
|
||||
rotate([32,0,0]) translate( [ -78 , -9.1 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
|
||||
rotate([32,0,0]) translate( [ 79 , -9.1 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
|
||||
translate( [ -100 , -40 , -50 ] ) cube( [ 200 , 50 , 50 ] );
|
||||
|
||||
|
||||
// version
|
||||
translate([-73,15,4]) rotate([90,0,90]) linear_extrude(height = 2)
|
||||
{ text("R2",font = "helvetica:style=Bold", size=7, center=true); }
|
||||
|
||||
|
||||
{ text("R7",font = "helvetica:style=Bold", size=7, center=true); }
|
||||
|
||||
|
||||
}
|
||||
|
||||
// print support for SD card opening
|
||||
// SD card window support
|
||||
translate( [ -76.5 , 15 , 16.70 ] ) cube( [ 1 , 5 , 4.1 ] );
|
||||
translate( [ -76.5 , 25 , 16.70 ] ) cube( [ 1 , 5 , 4.1 ] );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -42,28 +42,63 @@ module horizontal_bearing_holes(bearings=1){
|
|||
|
||||
}
|
||||
|
||||
module horizontal_bearing_holes_nozip(bearings=1){
|
||||
cutter_lenght = 10+bearings*25;
|
||||
one_holder_lenght = 8+25;
|
||||
holder_lenght = 8+bearings*25;
|
||||
|
||||
// Main bearing cut
|
||||
difference(){
|
||||
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=50);
|
||||
// Bearing retainers
|
||||
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
}
|
||||
module horizontal_bearing_holes_nozip(bearings=1)
|
||||
{
|
||||
cutter_lenght = 10+bearings*25;
|
||||
one_holder_lenght = 8+25;
|
||||
holder_lenght = 8+bearings*25;
|
||||
|
||||
// Main bearing cut
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=50);
|
||||
// Bearing retainers
|
||||
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
module horizontal_bearing_holes_nozip_smooth(bearings=1)
|
||||
{
|
||||
cutter_lenght = 10+bearings*25;
|
||||
one_holder_lenght = 8+25;
|
||||
holder_lenght = 8+bearings*25;
|
||||
|
||||
// Main bearing cut
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=150);
|
||||
// Bearing retainers
|
||||
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
module horizontal_bearing_holes_smooth_nozip(bearings=1)
|
||||
{
|
||||
cutter_lenght = 10+bearings*25;
|
||||
one_holder_lenght = 8+25;
|
||||
holder_lenght = 8+bearings*25;
|
||||
|
||||
// Main bearing cut
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=(bearing_diameter/2)+0.2, $fn=120);
|
||||
// Bearing retainers
|
||||
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
thinwall = 3;
|
||||
bearing_size = bearing_diameter + 2 * thinwall;
|
||||
|
||||
module vertical_bearing_base(){
|
||||
translate(v=[-2-bearing_size/4,0,29]) cube(size = [4+bearing_size/2,bearing_size,58], center = true);
|
||||
cylinder(h = 58, r=bearing_size/2, $fn = 90);
|
||||
cylinder(h = 58, r=bearing_size/2, $fn = 250);
|
||||
}
|
||||
|
||||
module vertical_bearing_holes(){
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
// PRUSA iteration4
|
||||
// Endstop block
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module endstop_block()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
// body
|
||||
translate([1,-16,1]) cube([12,9,14]);
|
||||
translate([1,-16,1]) rotate([0,0,45]) cube([3,2.2,14]);
|
||||
translate([0.5,-8,1]) cube([3,1,14]);
|
||||
}
|
||||
|
||||
// screw
|
||||
translate([-4,-11,11]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=30);
|
||||
translate([5,-11,11]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=30);
|
||||
|
||||
// edges
|
||||
translate([-13,-22,-0]) rotate([45,45,0]) cube([15,15,15]);
|
||||
translate([-1,-0,-10]) rotate([60,0,0]) cube([15,15,15]);
|
||||
translate([-12,-20,0]) rotate([0,50,0]) cube([15,15,15]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rotate([0,180,0]) endstop_block();
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
// PRUSA iteration4
|
||||
// Heatbed cable cover clip MK3S
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module m3_nut()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
translate([0,0,2.5]) cylinder( h = 4, r1 = 3.15, r2=4,$fn=6);
|
||||
translate([0,0,-9]) cylinder( h = 12, r = 1.7, $fn=30);
|
||||
translate([0,0,-0.49]) cylinder( h = 0.5, r1 = 1.7, r2=1.95,$fn=30);
|
||||
}
|
||||
translate([1.7,-5,-1]) cube([5,10,2]);
|
||||
translate([-6.7,-5,-1]) cube([5,10,2]);
|
||||
|
||||
translate([-5,1.7,-1.5]) cube([10,5,2]);
|
||||
translate([-5,-6.7,-1.5]) cube([10,5,2]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module clip()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
// base body
|
||||
translate([-15,15.5,-3]) cube([30,20.5,6]);
|
||||
|
||||
// inner angled cut
|
||||
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
|
||||
translate([3.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
|
||||
translate([-10.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
|
||||
|
||||
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
|
||||
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
|
||||
|
||||
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
|
||||
|
||||
translate([-7,15,0]) rotate([0,0,0]) cube([14,11,6]);
|
||||
|
||||
translate([3,14,1]) rotate([0,0,10]) cube([7,13,6]);
|
||||
translate([-9.88,15.21,1]) rotate([0,0,-10]) cube([7,13,6]);
|
||||
|
||||
// cables cut
|
||||
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60);
|
||||
|
||||
translate([-11,30,0]) rotate([0,180,30]) m3_nut();
|
||||
translate([11,30,0]) rotate([0,180,30]) m3_nut();
|
||||
|
||||
// thermistor cable entry
|
||||
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3, $fn=60);
|
||||
|
||||
|
||||
// edges
|
||||
translate([-18.0,32,-5]) rotate([0,0,25]) cube([11,11,15]);
|
||||
translate([18,32,-5]) rotate([0,0,65]) cube([11,11,15]);
|
||||
|
||||
}
|
||||
|
||||
// cable rims
|
||||
difference()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 10, r=4.5, $fn=60);
|
||||
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3, $fn=60);
|
||||
|
||||
}
|
||||
translate([-15,18,3]) cube([30,20,6]);
|
||||
translate([-15,27,-5]) cube([30,2,16]);
|
||||
translate([-15,30,-5]) cube([30,2,16]);
|
||||
translate([-15,33,-5]) cube([30,2,16]);
|
||||
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
|
||||
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
|
||||
translate([-4,20,0]) rotate([0,0,0]) cube([8,11,6]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
clip();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
// PRUSA iteration4
|
||||
// Heatbed cable cover MK3S
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module m3_nut()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
translate([0,0,2.5]) cylinder( h = 4, r1 = 3.15, r2=4,$fn=6);
|
||||
translate([0,0,-9]) cylinder( h = 12, r = 1.7, $fn=30);
|
||||
translate([0,0,-0.49]) cylinder( h = 0.5, r1 = 1.7, r2=1.95,$fn=30);
|
||||
}
|
||||
translate([1.7,-5,-1]) cube([5,10,2]);
|
||||
translate([-6.7,-5,-1]) cube([5,10,2]);
|
||||
|
||||
translate([-5,1.7,-1.5]) cube([10,5,2]);
|
||||
translate([-5,-6.7,-1.5]) cube([10,5,2]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module m3_head()
|
||||
{
|
||||
// heatbed screw
|
||||
difference()
|
||||
{
|
||||
|
||||
|
||||
translate([0,0,5]) cylinder(h=4,r=3.15, $fn=50);
|
||||
|
||||
translate([-11.7,-7.5,0.8]) cube([10,40,5.7]);
|
||||
translate([1.7,-7.5,0.8]) cube([10,40,5.7]);
|
||||
translate([-5,-4.2-7.5,0.8]) cube([10,10,6]);
|
||||
translate([-5,9.2-7.5,0.8]) cube([10,10,6]);
|
||||
|
||||
translate([-2,-7.5,0.4]) cube([10,40,5.7]);
|
||||
|
||||
|
||||
}
|
||||
translate([0,0,-1]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([0,0,8.2]) cylinder(h = 2, r1=3.15, r2=4, $fn=50);
|
||||
}
|
||||
|
||||
|
||||
module cover()
|
||||
{
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
|
||||
|
||||
|
||||
// base block
|
||||
translate([-18,0,0]) cube([36,36,9]);
|
||||
|
||||
// inner cut
|
||||
difference()
|
||||
{
|
||||
translate([-15,-0.5,-3]) cube([30,16,9]);
|
||||
translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 2.2, r=2.75, $fn=50);
|
||||
}
|
||||
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $fn=60);
|
||||
translate([-15,15,-6]) cube([30,22,9]);
|
||||
|
||||
// inner edges
|
||||
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
|
||||
translate([2.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
|
||||
translate([-10.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
|
||||
|
||||
translate([6.96,19.45,0]) rotate([0,0,45]) cube([5,10,6]);
|
||||
translate([-6.96,19.45,0]) rotate([0,0,45]) cube([10,5,6]);
|
||||
|
||||
translate([3.96,18.45,0]) rotate([0,0,20]) cube([5,6,6]);
|
||||
translate([-3.96,18.45,0]) rotate([0,0,70]) cube([6,5,6]);
|
||||
|
||||
|
||||
|
||||
translate([-0,20,0.5]) rotate([90,0,0]) cube([11,11,11], center = true);
|
||||
|
||||
translate([2,14,-1]) rotate([0,0,10]) cube([8,13,6]);
|
||||
translate([-9.88,15.21,-1]) rotate([0,0,-10]) cube([8,13,6]);
|
||||
|
||||
// outer edges
|
||||
translate([-18.0,32,-1]) rotate([0,0,25]) cube([11,11,11]);
|
||||
translate([18,32,-1]) rotate([0,0,65]) cube([11,11,11]);
|
||||
|
||||
// heatbed terminal screw pockets
|
||||
translate([8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
|
||||
translate([-8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
|
||||
|
||||
|
||||
// clip nuts with print supports
|
||||
translate([11,30,0] ) m3_head();
|
||||
translate([-11,30,0] ) m3_head();
|
||||
|
||||
// hold screw
|
||||
translate([0,7.5,0]) m3_head();
|
||||
|
||||
// LED window
|
||||
translate([-2.5,-1,-4]) cube([5,3.5,10]);
|
||||
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
|
||||
// edges
|
||||
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
|
||||
translate([-23.3,-1,9.7]) rotate([0,45,0]) cube([6,45,6]);
|
||||
translate([14.8,-1,9.7]) rotate([0,45,0]) cube([6,45,5]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// heatbed pcb support
|
||||
translate([-17,0,4]) cube([3,20,2]);
|
||||
translate([14,0,4]) cube([3,20,2]);
|
||||
translate([-17,0,4]) cube([14,2,2]);
|
||||
translate([3,0,4]) cube([14,2,2]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
rotate([0,180,0]) cover();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
// PRUSA iteration4
|
||||
// Print fan support
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-4,-47,23]) rotate([0,0,0])cylinder(h = 5, r=5, $fn=50);
|
||||
translate([-2,-57,23]) rotate([0,0,0]) cube([5,15,30]);
|
||||
translate([-5,-52,23]) rotate([0,0,0]) cube([8,10,5]);
|
||||
translate([-5,-48,45]) rotate([48,0,0])cylinder(h = 10, r=6, $fn=6);
|
||||
}
|
||||
|
||||
translate([-5,-48,45]) rotate([48,0,0])cylinder(h = 30, r=1.65, $fn=50);
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-5,-48,45]) rotate([48,0,0])cylinder(h = 6, r=3.1, $fn=6);
|
||||
translate([-5,-47.9,45]) rotate([48,0,0])cylinder(h = 4, r2=3.1,r1=4, $fn=6);
|
||||
}
|
||||
translate([-2,-55,40]) rotate([0,0.6,0]) cube([10,10,10]);
|
||||
}
|
||||
translate([-5,-47,10]) rotate([0,0,0])cylinder(h = 25, r=1.65, $fn=50);
|
||||
translate([-5,-47,27]) rotate([0,0,0])cylinder(h = 1.1, r=3.1, $fn=50);
|
||||
|
||||
translate([10,-85,15]) rotate([0,-48,90]) cube([60,50,20]);
|
||||
translate([-15,-71,15]) rotate([10,0,0]) cube([50,20,40]);
|
||||
translate([-15,-41,15]) rotate([5,0,0]) cube([50,20,40]);
|
||||
translate([-15,-39.5,44]) rotate([48,0,0]) cube([20,20,20]);
|
||||
translate([-15,-60,52.5]) rotate([0,0,0]) cube([20,20,20]);
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module m3head()
|
||||
{
|
||||
intersection()
|
||||
|
|
@ -15,8 +16,9 @@ module m3head()
|
|||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module x_carriage_back()
|
||||
{
|
||||
difference()
|
||||
|
|
@ -24,8 +26,8 @@ module x_carriage_back()
|
|||
union()
|
||||
{
|
||||
// base block
|
||||
translate([-16,-39.0,15.1]) cube([33,72,8]);
|
||||
translate([-25.5,-5,15.1]) cube([52,39.5,8]);
|
||||
translate([-16,-40.0,15.1]) cube([33,73,8]);
|
||||
translate([-25.5,4,15.1]) cube([52,30.5,8]);
|
||||
}
|
||||
|
||||
// lower bearing cut
|
||||
|
|
@ -38,14 +40,17 @@ module x_carriage_back()
|
|||
translate([-20,-19.5,9]) cube([50,7.5,10]);
|
||||
|
||||
// bearings
|
||||
translate([-15,-25,11.75]) rotate([0,90,0]) cylinder( h=31, r=7.6, $fn=30 );
|
||||
translate([-30,20,11.75]) rotate([0,90,0]) cylinder( h=60, r=7.6, $fn=30 );
|
||||
translate([-15,-25,11.75]) rotate([0,90,0]) cylinder( h=31, r=7.6, $fn=150 );
|
||||
translate([-30,20,11.75]) rotate([0,90,0]) cylinder( h=60, r=7.6, $fn=150 );
|
||||
translate([-17,-25,11.75]) rotate([0,90,0]) cylinder( h=60, r=7, $fn=30 );
|
||||
translate([-32,20,11.75]) rotate([0,90,0]) cylinder( h=80, r=7, $fn=30 );
|
||||
|
||||
translate([-15,-25-2,18]) cube([30,4,2]);
|
||||
translate([-30,20-2,18]) cube([60,4,2]);
|
||||
|
||||
|
||||
// hold together screws
|
||||
translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
|
||||
translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
|
||||
translate([-5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
|
||||
translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
|
||||
translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
|
||||
translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.65, $fn=50 );
|
||||
|
|
@ -53,28 +58,56 @@ module x_carriage_back()
|
|||
translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 );
|
||||
|
||||
// lower screw heads
|
||||
translate([-9.5,-36,19]) cylinder( h=6, r=3.1, $fn=30 );
|
||||
translate([10.5,-36,19]) cylinder( h=50, r=3.1, $fn=30 );
|
||||
translate([-12.6,-46,18]) cube([6.2,10,10]);
|
||||
translate([7.4,-46,18]) cube([6.2,10,10]);
|
||||
translate([-5,-36,19]) cylinder( h=6, r=3.1, $fn=30 );
|
||||
translate([-8.1,-46,18]) cube([6.2,10,10]);
|
||||
|
||||
|
||||
// center screw head
|
||||
translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 );
|
||||
|
||||
// heat cables cut
|
||||
translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 );
|
||||
|
||||
translate([10.15,-37,4]) rotate([0,-20,0])
|
||||
union()
|
||||
{
|
||||
cylinder(r=3, h=40, $fn=30);
|
||||
translate([-3,-10,0])cube([6,10,40]);
|
||||
}
|
||||
translate([5.85,-37,4]) rotate([0,-10,0])
|
||||
union()
|
||||
{
|
||||
cylinder(r=3, h=40, $fn=30);
|
||||
translate([-3,-10,0])cube([6,10,40]);
|
||||
}
|
||||
// cable holder screw
|
||||
translate([0.5,-27,11]) rotate([0,0,90]) cylinder( h=40, r=1.6, $fn=30 );
|
||||
translate([0.5,-27,16.5]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
|
||||
translate([0.5,-27,16.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
|
||||
|
||||
// x-carriage screws in belt holders
|
||||
translate([11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
|
||||
translate([-11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([28,-4,10]) rotate([0,0,90]) cube([10,22,15]);
|
||||
translate([-4,-4,10]) rotate([0,0,90]) cube([10,22,15]);
|
||||
}
|
||||
difference()
|
||||
{
|
||||
translate([-14,-4,30]) rotate([0,45,0]) cube([22,22,22]);
|
||||
union()
|
||||
{
|
||||
translate([9,-4,15]) cube([22,22,22]);
|
||||
translate([-28,-4,15]) cube([22,22,22]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translate([9,0,16]) rotate([45,0,0]) cube([50,10,10]);
|
||||
translate([-36,0,16]) rotate([45,0,0]) cube([30,10,10]);
|
||||
// nice edges
|
||||
translate([-20.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||
translate([21.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||
translate([-20.8,-47.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||
translate([21.8,-47.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||
translate([-24.4,15.2,10]) rotate([0,0,45]) cube([14,10,15]);
|
||||
translate([26.9,15.2,10]) rotate([0,0,45]) cube([10,14,15]);
|
||||
translate([-19.55,28,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||
|
|
@ -83,6 +116,8 @@ module x_carriage_back()
|
|||
translate([-22,35,17]) rotate([30,0,0]) cube([14.5,10,10]);
|
||||
translate([10,35,17]) rotate([30,0,0]) cube([14.5,10,10]);
|
||||
|
||||
translate([-20.8,-40.5,16]) rotate([50,0,0]) cube([50,20,10]);
|
||||
|
||||
// upper side cuts
|
||||
translate([17,25,10]) rotate([0,0,0]) cube([10,10,15]);
|
||||
translate([-29.5,25,10]) rotate([0,0,0]) cube([15,15,15]);
|
||||
|
|
@ -92,30 +127,13 @@ module x_carriage_back()
|
|||
// side edges
|
||||
translate([27,-20,16]) rotate([0,-30,0]) cube([10,50,10]);
|
||||
translate([-34.2,-20,21]) rotate([0,30,0]) cube([10,50,10]);
|
||||
translate([19.5,-55,16]) rotate([0,-30,0]) cube([10,50,10]);
|
||||
translate([-27.1,-55,21]) rotate([0,30,0]) cube([10,50,10]);
|
||||
translate([19.5,-50,16]) rotate([0,-30,0]) cube([10,50,10]);
|
||||
translate([-27.1,-50,21]) rotate([0,30,0]) cube([10,50,10]);
|
||||
|
||||
// inner cable cleanup
|
||||
translate([-1,-19.5,14]) rotate([0,30,0]) cube([10,7.5,10]);
|
||||
translate([-5,-19.5,10]) rotate([0,-30,0]) cube([10,7.5,10]);
|
||||
|
||||
|
||||
// filament sensor cable
|
||||
translate([4.5,28.5,12]) rotate([0,0,0]) cube([3.5,4,20]);
|
||||
translate([0.5,28.5,12]) rotate([0,0,0]) cube([4.5,7,20]);
|
||||
translate([4.5,-5,19.5]) rotate([0,0,0]) cube([3.5,35,4.3]);
|
||||
translate([4.5,17.5,16.5]) rotate([0,0,0]) cube([3.5,5,4.3]);
|
||||
translate([-1.55,-9.60,19.5]) rotate([0,0,-45]) cube([3.5,10,4]);
|
||||
translate([-1.9,-9.95,15]) rotate([45,0,-45]) cube([3.5,10,4]);
|
||||
translate([4.5,29,16]) rotate([45,0,0]) cube([3.5,5,5]);
|
||||
translate([3.5,-4.60,19.5]) rotate([0,0,-15]) cube([3,4,4]);
|
||||
|
||||
// version
|
||||
translate([-14.5,13,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4)
|
||||
{ text("MK3",font = "helvetica:style=Bold", size=6, center=true); }
|
||||
translate([-15,3,15.8]) rotate([0,180,0]) linear_extrude(height = 0.8)
|
||||
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
translate([-23,2.3,14.3]) cube([9,5.0,1]);
|
||||
|
||||
|
||||
// upper ziptie left
|
||||
translate([-21.5,-25,0])difference()
|
||||
|
|
@ -137,9 +155,22 @@ module x_carriage_back()
|
|||
translate([-17,26,5]) m3head();
|
||||
translate([-40.5,26,5]) m3head();
|
||||
translate([-29,-1,4]) m3head();
|
||||
translate([-19.5,-41,5]) m3head();
|
||||
translate([-39.5,-41,5]) m3head();
|
||||
|
||||
translate([-35,-41,4]) m3head();
|
||||
translate([-8.1,-40,17.5]) cube([6.2,4,5]);
|
||||
translate([-8.1,-37.7,17.0]) cube([6.2,2,5]);
|
||||
translate([-5,-36,11.51]) rotate([0,0,0]) cylinder( h=5, r=1.8, $fn=50 );
|
||||
|
||||
|
||||
// selective infill
|
||||
translate([5,-8,16]) cube([0.5,20,6.5]);
|
||||
translate([-3.25,-8,16]) cube([0.5,20,6.5]);
|
||||
translate([0.75,-8,16]) cube([0.5,7,6.5]);
|
||||
|
||||
// version
|
||||
translate([-12,-29,22.6]) rotate([0,0,0]) linear_extrude(height = 0.6)
|
||||
{ text("R7",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,381 +1,462 @@
|
|||
// PRUSA iteration4
|
||||
// X carriage
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
use <bearing.scad>
|
||||
|
||||
module belt_cut()
|
||||
{
|
||||
rotate([0,0,180])
|
||||
{
|
||||
translate([-20,0,0]) cube([39,0.75,15]);
|
||||
translate([-20,0,5]) rotate([-7,0,0]) cube([39,0.75,10]);
|
||||
translate([-20,0,5]) rotate([10,0,0]) cube([39,0.75,10]);
|
||||
for (_step =[-20:2:18])
|
||||
{
|
||||
translate([_step,0.5,0]) cube([1,1.0,10]);
|
||||
}
|
||||
for (_step =[-20:2:18])
|
||||
{
|
||||
translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module x_carriage_base()
|
||||
{
|
||||
|
||||
// Small bearing holder
|
||||
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
|
||||
|
||||
// Long bearing holder
|
||||
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2);
|
||||
|
||||
// Base plate
|
||||
translate([-34,-14,0]) cube([34.5,70.5,7]);
|
||||
translate([-33,-15,0]) cube([33,7,15]);
|
||||
translate([-42.5,53.0,0]) cube([52,6.5,15]);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-12,30,1]) rotate([0,0,45]) cube([6,6,14]);
|
||||
translate([-20,30,1]) rotate([0,0,45]) cube([6,6,14]);
|
||||
}
|
||||
translate([-25,38,11]) rotate([43,0,0]) cube([20,8,8]);
|
||||
}
|
||||
|
||||
// upper motor screw block
|
||||
translate([-23,56.8,0]) rotate([0,0,0]) cube([32.5,18.2,8]);
|
||||
|
||||
// Belt holder base
|
||||
translate([-42.5,20,0]) cube([52,16,7]);
|
||||
|
||||
// new belt holder base block
|
||||
translate([-42.5,18,7]) cube([52,16.3,8]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
module x_carriage_holes()
|
||||
{
|
||||
// Small bearing holder holes cutter
|
||||
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(1);
|
||||
|
||||
// Long bearing holder holes cutter
|
||||
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(2);
|
||||
|
||||
// upper ziptie right
|
||||
translate([2,0,0])
|
||||
difference()
|
||||
{
|
||||
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25);
|
||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
|
||||
}
|
||||
|
||||
// upper ziptie left
|
||||
translate([-38,0,0])
|
||||
difference()
|
||||
{
|
||||
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25);
|
||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
|
||||
}
|
||||
|
||||
// upper ziptie head
|
||||
translate([0,52.5,12]) cube([10,10,5]);
|
||||
translate([-45,52.5,12]) cube([13.5,10,5]);
|
||||
|
||||
// Extruder mounting holes
|
||||
translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=25);
|
||||
translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25);
|
||||
translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
|
||||
|
||||
translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=25);
|
||||
translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25);
|
||||
translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
|
||||
|
||||
// Carriage slimer
|
||||
translate([-55.5+3,19,-1])cube([10,40,30]);
|
||||
translate([+12.5-3,19,-1])cube([10,40,30]);
|
||||
translate([+12.5-3.5-2,30.8,-1])rotate([0,90-65,0])cube([10,55,30]);
|
||||
translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]);
|
||||
|
||||
}
|
||||
|
||||
module x_carriage_fancy()
|
||||
{
|
||||
// Top right corner
|
||||
translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]);
|
||||
|
||||
// Top left corner
|
||||
translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
|
||||
|
||||
translate([-27,74.5,9]) rotate([0,45,0]) translate([0,-15,0]) cube([5,25,5]);
|
||||
translate([-23,86,16]) rotate([45,0,0]) translate([0,-15,0]) cube([45,5,5]);
|
||||
|
||||
// bottom side edges
|
||||
translate([-40,-15,-5]) rotate([30,0,0]) cube([45,6,15]);
|
||||
translate([-35,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
||||
translate([2,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
||||
translate([2,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
||||
translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
||||
|
||||
}
|
||||
|
||||
module cable_tray()
|
||||
{
|
||||
|
||||
// center screw block
|
||||
translate([-21,23,0]) cube([9,12,15]);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]);
|
||||
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]);
|
||||
}
|
||||
translate([-25,34.2,0]) cube([20,10,15]);
|
||||
}
|
||||
|
||||
translate([6.5,32,10]) cube([3,5,5]);
|
||||
translate([-42.5,32,10]) cube([4,5,5]);
|
||||
|
||||
//Left cable tray
|
||||
translate([-39.9,11,0]) cube([9,2,15]);
|
||||
translate([-39.9,5.5,0]) cube([9,2,15]);
|
||||
|
||||
//Right cable tray
|
||||
translate([-2,5.5,0]) cube([11.45,2,15]);
|
||||
translate([-2,11,7]) cube([11.45,2,8]);
|
||||
|
||||
translate([-31,11.5,7]) cube([30,1.5,8]);
|
||||
|
||||
difference(){
|
||||
translate([0,11,0]) cube([9.50,12,7]);
|
||||
translate([0,6,1])rotate([-30,0,0]) cube([7.5,12,7]);
|
||||
translate([0,3.5,6])rotate([-60,0,0]) cube([7.5,12,7]);
|
||||
translate([0,10+3,-1])cube([7.5,11,6]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
module final_cutout()
|
||||
{
|
||||
// cable guide edges
|
||||
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
||||
translate([6,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
||||
|
||||
// motor cable opening
|
||||
translate([0.5,10+3,-1])cube([7,9.2,6]);
|
||||
|
||||
// filament hole
|
||||
|
||||
|
||||
difference () {
|
||||
|
||||
union() {
|
||||
translate([-14.199,9.05,0]) rotate([-5,0,22.5]) cylinder(r=1.62, h=40, $fn=8);
|
||||
translate([-14.5,9.7,8]) rotate([-5,0,22.5]) cylinder(r=1.62,r2=3, h=8, $fn=8);
|
||||
}
|
||||
//translate([-18,6.7,12]) cube([7,7,5]);
|
||||
|
||||
}
|
||||
|
||||
// bottom back mounting screws
|
||||
translate([-6.5,-11,4]) cylinder(r=1.65, h=20, $fn=50);
|
||||
translate([-26.5,-11,4]) cylinder(r=1.65, h=20, $fn=50);
|
||||
|
||||
difference() {
|
||||
union(){
|
||||
translate([-29.3,-14,10]) cube([5.6,7,2.1]);
|
||||
translate([-09.3,-14,10]) cube([5.6,7,2.1]);
|
||||
}
|
||||
translate([-36,-8.1,10]) cube([40,1,0.5]);
|
||||
}
|
||||
// better printing bridges
|
||||
translate([-29.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
|
||||
translate([-09.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
|
||||
translate([-28.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
|
||||
translate([-8.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
|
||||
|
||||
|
||||
|
||||
// x-carriage-back mounting screws
|
||||
translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50);
|
||||
translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50);
|
||||
translate([-30.3,53,8]) cube([5.6,8,2]);
|
||||
translate([-6.8,53,8]) cube([5.6,8,2]);
|
||||
|
||||
// better printing bridges
|
||||
translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]);
|
||||
translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]);
|
||||
translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]);
|
||||
translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]);
|
||||
|
||||
|
||||
|
||||
// center mounting screw
|
||||
translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50);
|
||||
translate([-18.8,26,10.5]) cube([5.6,12,2.1]);
|
||||
translate([-21,33,11]) cube([10,8,6]);
|
||||
|
||||
// better printing bridges
|
||||
translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]);
|
||||
translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]);
|
||||
|
||||
// opening for power cables to hotend & termistor cable
|
||||
translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30);
|
||||
|
||||
}
|
||||
|
||||
|
||||
module x_carriage_block()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
x_carriage_base();
|
||||
x_carriage_holes();
|
||||
x_carriage_fancy();
|
||||
}
|
||||
cable_tray();
|
||||
}
|
||||
final_cutout();
|
||||
}
|
||||
}
|
||||
|
||||
module x_carriage()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
x_carriage_block();
|
||||
|
||||
// upper motor screw
|
||||
translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30);
|
||||
translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
|
||||
translate([2.5,67.5,5]) cylinder(r=3.2, h=8, $fn=30);
|
||||
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25);
|
||||
|
||||
// cable management cleanup
|
||||
difference()
|
||||
{
|
||||
translate([2.5,21.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.0, $fn=25);
|
||||
translate([2,16,-10]) cube([10,6,20]);
|
||||
}
|
||||
|
||||
// selective infill
|
||||
|
||||
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
|
||||
translate([8.45,11.5,1]) cube([0.5,1.8,4]);
|
||||
|
||||
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
|
||||
translate([5,-10.3,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
|
||||
translate([6,-16.5,-1]) cube([1,0.5,5]);
|
||||
translate([3,-16.5,-1]) cube([2,0.5,5]);
|
||||
translate([6,-10.2,-1]) cube([1,0.5,5]);
|
||||
translate([3,-10.2,-1]) cube([2,0.5,5]);
|
||||
translate([6,7.5,-1]) cube([1,0.5,5]);
|
||||
translate([6,10.5,-1]) cube([1,0.5,5]);
|
||||
|
||||
translate([-19,24,1.5]) cube([6,0.5,12.0]);
|
||||
|
||||
//cable openings in guides
|
||||
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
|
||||
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
|
||||
|
||||
// filament sensor connector
|
||||
translate([-12.5,64,-3]) cube([4,11.2,14]);
|
||||
translate([-12.5,65.75,-3]) cube([5,2.5,14]);
|
||||
translate([-12.5,71.75,-3]) cube([5,2.5,14]);
|
||||
translate([-14.5,67,-3]) cube([4,6,14]);
|
||||
translate([-14.5,65,4.7]) cube([4,10.2,5]);
|
||||
translate([-12.5,54.5,8]) cube([3.5,10.2,14]);
|
||||
translate([-12.5,57.5,9.5]) rotate([35,0,0]) cube([3.5,10.2,14]);
|
||||
translate([-12.5,58,8]) rotate([0,0,45]) cube([3,3,14]);
|
||||
translate([-10,58,8]) rotate([0,0,45]) cube([3,3,14]);
|
||||
|
||||
translate([0,-0.5,0]) left_belt_cut();
|
||||
translate([0,0.5,0]) right_belt_cut();
|
||||
|
||||
//version
|
||||
translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
|
||||
{ text("R3",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module left_belt_cut()
|
||||
{
|
||||
|
||||
translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30);
|
||||
translate([-23.0,20,7]) cube([2,10,30]);
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([13.5,20.5,0]) rotate([0,0,25])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-80,25,7]) cube([37.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([13.2,2.38,0]) rotate([0,0,0])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-82.42,25,7]) cube([37.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([-45,17.6,4]) rotate([0,0,-15]) cube([10,3,30]);
|
||||
translate([-31.5,30.4,10]) rotate([-10,0,15]) cylinder(r=0.2, h=100, $fn=30);
|
||||
translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
|
||||
}
|
||||
|
||||
|
||||
module right_belt_cut()
|
||||
{
|
||||
// right belt cut
|
||||
translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30);
|
||||
translate([-11.1,19.8,7]) cube([2,10,30]);
|
||||
translate([22.5,25.5,7]) belt_cut();
|
||||
translate([66.65,1.95,0]) rotate([0,0,0])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-71.55,25,7]) cube([37.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([43.2,-30.25,0]) rotate([0,0,-30])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-82.1,25,7]) cube([10,10,30]);
|
||||
translate([-61.5,25,7]) cube([20.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([2,14.6,7]) rotate([0,0,15]) cube([10,3,30]);
|
||||
translate([-5.1,30,10]) rotate([-10,0,-15]) cylinder(r=0.2, h=100, $fn=30);
|
||||
translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
|
||||
}
|
||||
|
||||
x_carriage();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// PRUSA iteration4
|
||||
// X carriage
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
use <bearing.scad>
|
||||
|
||||
module belt_cut()
|
||||
{
|
||||
rotate([0,0,180])
|
||||
{
|
||||
translate([-20,0,0]) cube([39,0.75,15]);
|
||||
translate([-20,0,5]) rotate([-7,0,0]) cube([39,0.75,10]);
|
||||
translate([-20,0,5]) rotate([10,0,0]) cube([39,0.75,10]);
|
||||
for (_step =[-20:2:18])
|
||||
{
|
||||
translate([_step,0.5,0]) cube([1,1.0,10]);
|
||||
}
|
||||
for (_step =[-20:2:18])
|
||||
{
|
||||
translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module x_carriage_base()
|
||||
{
|
||||
|
||||
// Small bearing holder
|
||||
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
|
||||
|
||||
// Long bearing holder
|
||||
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2);
|
||||
|
||||
// Base plate
|
||||
translate([-34,-14,0]) cube([34.5,70.5,7]);
|
||||
translate([-34,-15,0]) cube([35,7,15]);
|
||||
translate([-42.5,53.0,0]) cube([52,6.5,15]);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-12,30,1]) rotate([0,0,45]) cube([6,6,14]);
|
||||
translate([-20,30,1]) rotate([0,0,45]) cube([6,6,14]);
|
||||
}
|
||||
translate([-25,38,11]) rotate([43,0,0]) cube([20,8,8]);
|
||||
}
|
||||
|
||||
// upper motor screw block
|
||||
translate([-34,56.8,0]) rotate([0,0,0]) cube([43.5,19.7,8]);
|
||||
|
||||
// Belt holder base
|
||||
translate([-42.5,20,0]) cube([52,16,7]);
|
||||
|
||||
// new belt holder base block
|
||||
translate([-42.5,18,7]) cube([52,16.3,8]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
module x_carriage_holes()
|
||||
{
|
||||
// Small bearing holder holes cutter
|
||||
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip_smooth(1);
|
||||
translate([-4,-2.5,4]) rotate([0,0,90]) cube([5,25,2]);
|
||||
|
||||
// Long bearing holder holes cutter
|
||||
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip_smooth(2);
|
||||
translate([8.5,45-2.5,4]) rotate([0,0,90]) cube([5,50,2]);
|
||||
|
||||
|
||||
// upper ziptie right
|
||||
translate([2,0,0])
|
||||
difference()
|
||||
{
|
||||
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25);
|
||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
|
||||
}
|
||||
|
||||
// upper ziptie left
|
||||
translate([-38,0,0])
|
||||
difference()
|
||||
{
|
||||
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25);
|
||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
|
||||
}
|
||||
|
||||
// upper ziptie head
|
||||
translate([0,52.5,12]) cube([10,10,5]);
|
||||
translate([-45,52.5,12]) cube([13.5,10,5]);
|
||||
|
||||
// Extruder mounting holes
|
||||
translate([-7,15.5,-1])cylinder(r=1.65, h=20, $fn=25);
|
||||
translate([-27,15.5,-1])cylinder(r=1.65, h=20, $fn=25);
|
||||
|
||||
translate([-7,15.5,-1])cylinder(r2=1.65, r1=2.2,h=2, $fn=25);
|
||||
translate([-27,15.5,-1])cylinder(r2=1.65, r1=2.2,h=2, $fn=25);
|
||||
|
||||
translate([-7,15.5,4])cylinder(r=3.1, h=4, $fn=6);
|
||||
translate([-27,15.5,4])cylinder(r=3.1, h=4, $fn=6);
|
||||
translate([-7,15.5,7])cylinder(r=4, h=30, $fn=6);
|
||||
translate([-27,15.5,7])cylinder(r=3.5, h=30, $fn=6);
|
||||
|
||||
|
||||
|
||||
// Carriage slimer
|
||||
translate([-55.5+3,19,-1])cube([10,40,30]);
|
||||
translate([+12.5-3,19,-1])cube([10,40,30]);
|
||||
translate([+12.5-3.5-2,35.8,-1])rotate([0,90-65,0])cube([10,55,30]);
|
||||
translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]);
|
||||
|
||||
}
|
||||
|
||||
module x_carriage_fancy()
|
||||
{
|
||||
// Top right corner
|
||||
translate([11.5,10.5,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,40,20]);
|
||||
translate([12,65.3,-1]) rotate([0,0,45]) cube([10,10,20]);
|
||||
translate([4.9,72.38,-1]) cube([10,10,20]);
|
||||
|
||||
|
||||
// Top left corner
|
||||
translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
|
||||
|
||||
translate([-35,93,5]) rotate([35,0,0]) translate([0,-15,0]) cube([55,15,15]);
|
||||
translate([7.5,59.5,-18]) rotate([0,0,0]) cube([20,20,40]);
|
||||
|
||||
// bottom side edges
|
||||
translate([-37,-12,-6]) rotate([40,0,0]) cube([50,8,25]);
|
||||
translate([-35,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
||||
translate([2,-20.4,0]) rotate([0,0,45]) cube([6,6,16]);
|
||||
translate([2,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
||||
translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
||||
|
||||
}
|
||||
|
||||
module cable_tray()
|
||||
{
|
||||
|
||||
// center screw block
|
||||
translate([-21,23,0]) cube([9,12,15]);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]);
|
||||
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]);
|
||||
}
|
||||
translate([-25,34.2,0]) cube([20,10,15]);
|
||||
}
|
||||
|
||||
translate([6.5,32,10]) cube([3,5,5]);
|
||||
translate([-42.5,32,10]) cube([4,5,5]);
|
||||
|
||||
//Left cable tray
|
||||
translate([-39.9,11,0]) cube([9,2,15]);
|
||||
translate([-39.9,5.5,0]) cube([9,2,15]);
|
||||
|
||||
//Right cable tray
|
||||
translate([-2,5.5,0]) cube([11.45,2,15]);
|
||||
translate([-2,11,7]) cube([11.45,2,8]);
|
||||
|
||||
translate([-31,11.5,7]) cube([30,1.5,8]);
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
translate([0,11,0]) cube([9.50,22,7]);
|
||||
translate([0,6,1])rotate([-30,0,0]) cube([7.5,12,7]);
|
||||
translate([0,10+3,-1])cube([7.5,19,6]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
module final_cutout()
|
||||
{
|
||||
// cable guide edges
|
||||
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
||||
translate([6,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
||||
|
||||
// motor cable opening
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([0.5,10,-1]) cube([8,18,6]);
|
||||
translate([0.5,28,0]) rotate([0,90,0]) cylinder(r=5, h=8, $fn=25);
|
||||
translate([0.5,12,0.5]) rotate([45,0,0]) cube([8,4,6]);
|
||||
}
|
||||
translate([7.8,10,8]) rotate([0,85,0]) cube([15,25,10]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// filament hole
|
||||
difference ()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-14.199,9.05,0]) rotate([-5,0,22.5]) cylinder(r=1.62, h=40, $fn=8);
|
||||
translate([-14.5,9.7,8]) rotate([-5,0,22.5]) cylinder(r=1.62,r2=3, h=8, $fn=8);
|
||||
}
|
||||
}
|
||||
|
||||
// bottom back mounting screws
|
||||
translate([-22,-11,4]) cylinder(r=1.65, h=20, $fn=50);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-24.8,-14,10]) cube([5.6,7,2.1]);
|
||||
}
|
||||
translate([-36,-8.1,10]) cube([40,1,0.5]);
|
||||
}
|
||||
|
||||
// better printing bridges
|
||||
translate([-24.8,-12.65,10.35]) cube([5.6,3.3,2.1]);
|
||||
translate([-23.65,-12.65,10.7]) cube([3.3,3.3,2.1]);
|
||||
|
||||
|
||||
// x-carriage-back mounting screws
|
||||
translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50);
|
||||
translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50);
|
||||
translate([-30.3,53,8]) cube([5.6,8,2]);
|
||||
translate([-6.8,53,8]) cube([5.6,8,2]);
|
||||
|
||||
// better printing bridges
|
||||
translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]);
|
||||
translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]);
|
||||
translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]);
|
||||
translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]);
|
||||
|
||||
|
||||
|
||||
// center mounting screw
|
||||
translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50);
|
||||
translate([-18.8,26,10.5]) cube([5.6,12,2.1]);
|
||||
translate([-21,33,11]) cube([10,8,6]);
|
||||
|
||||
// better printing bridges
|
||||
translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]);
|
||||
translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]);
|
||||
|
||||
// selective infill
|
||||
translate([-23.7,57,5]) cube([15.9,0.7,9]);
|
||||
translate([-23.7,54.5,5]) cube([15.9,0.7,9]);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-11,-12,1]) rotate([0,0,0]) cylinder(r=3, h=10, $fn=30);
|
||||
translate([-11,-15,-0]) cube([3,6,10]);
|
||||
}
|
||||
translate([-8,-20,5]) rotate([0,-20,0]) cube([10,20,10]);
|
||||
}
|
||||
|
||||
translate([0.5,-0,5])
|
||||
difference()
|
||||
{
|
||||
rotate([0,-20,0])
|
||||
union()
|
||||
{
|
||||
translate([-7,-12,-5]) rotate([0,0,0]) cylinder(r=3, h=30, $fn=30);
|
||||
translate([-9,-12,-5]) rotate([0,0,0]) cylinder(r=3, h=30, $fn=30);
|
||||
translate([-12,-18,-5]) cube([8,6,30]);
|
||||
translate([-9,-15,-5]) cube([2,6,30]);
|
||||
}
|
||||
|
||||
translate([-20,-20,-15]) cube([20,20,10]);
|
||||
}
|
||||
|
||||
// 2.5 endstop hole
|
||||
translate([-8,-11,11]) rotate([0,90,0]) cylinder(r=1.4, h=10, $fn=30);
|
||||
translate([-0.5,-11,11]) rotate([0,90,0]) cylinder(r1=1.4, r2=1.7, h=2, $fn=30);
|
||||
|
||||
}
|
||||
|
||||
|
||||
module x_carriage_block()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
x_carriage_base();
|
||||
x_carriage_holes();
|
||||
x_carriage_fancy();
|
||||
}
|
||||
cable_tray();
|
||||
}
|
||||
final_cutout();
|
||||
}
|
||||
}
|
||||
|
||||
module x_carriage()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
x_carriage_block();
|
||||
|
||||
// upper motor screw
|
||||
translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30);
|
||||
translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
|
||||
translate([2.5,67.5,7.5]) cylinder(r=3.2, h=7, $fn=30);
|
||||
|
||||
translate([-28.5,67.5,7.5])cylinder(r=3.2, h=20, $fn=25);
|
||||
translate([-28.5,67.5,-1])cylinder(r=1.65, h=20, $fn=25);
|
||||
translate([-28.5,67.5,-1])cylinder(r2=1.65, r1=3, h=2, $fn=25);
|
||||
|
||||
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25);
|
||||
|
||||
|
||||
// selective infill
|
||||
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
|
||||
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
|
||||
translate([5,-10.3,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
|
||||
translate([6,-16.5,-1]) cube([1,0.5,5]);
|
||||
translate([3,-16.5,-1]) cube([2,0.5,5]);
|
||||
translate([6,-10.2,-1]) cube([1,0.5,5]);
|
||||
translate([3,-10.2,-1]) cube([2,0.5,5]);
|
||||
|
||||
translate([-19,24,1.5]) cube([6,0.5,12.0]);
|
||||
|
||||
//cable openings in guides
|
||||
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
|
||||
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
|
||||
|
||||
// filament sensor connector
|
||||
translate([-1.5,62,-1.3]) cube([1,5,5]);
|
||||
translate([-3.5,65,-1.3]) cube([3,5,5]);
|
||||
translate([-9,70.6,-1.3]) cube([9,15,15]);
|
||||
translate([-8.5,68,-1.3]) cube([8,15,15]);
|
||||
translate([-0.7,67.5,7.5]) cube([3.2,3.2,1]);
|
||||
difference()
|
||||
{
|
||||
translate([-9,69,-1]) cube([8.5,6,7]);
|
||||
translate([-9,77,2]) rotate([45,0,0]) cube([8.5,6,7]);
|
||||
}
|
||||
|
||||
// filament sensor cable
|
||||
difference()
|
||||
{
|
||||
translate([-1.5,30,-0.8]) cube([3.5,30,4.5]);
|
||||
|
||||
translate([0.5,34.46,-4]) cube([4,3,4.5]);
|
||||
translate([2,34.46,-4]) cylinder(r=1.5, h=4.5, $fn=25);
|
||||
translate([2,34.46+3,-4]) cylinder(r=1.5, h=4.5, $fn=25);
|
||||
|
||||
translate([0.5,54,-4]) cube([4,3,4.5]);
|
||||
translate([2,54,-4]) cylinder(r=1.5, h=4.5, $fn=25);
|
||||
translate([2,57,-4]) cylinder(r=1.5, h=4.5, $fn=25);
|
||||
|
||||
translate([-4.0,44,-4]) cube([4,3,4.5]);
|
||||
translate([-1.5,44,-4]) cylinder(r=1.5, h=4.5, $fn=25);
|
||||
translate([-1.5,47,-4]) cylinder(r=1.5, h=4.5, $fn=25);
|
||||
}
|
||||
|
||||
translate([-1.05,58.25,-0.8]) rotate([0,0,30]) cube([3.5,13,4.5]);
|
||||
translate([-9,66,-0.8]) cube([3.5,5,4.5]);
|
||||
|
||||
translate([-9,70.5,-0.8]) rotate([45,0,0]) cube([9,6,6]);
|
||||
|
||||
translate([0.45,30,-0.8]) cylinder(r=2, h=4.5, $fn=25);
|
||||
translate([-3.5,68,3]) cylinder(r=2, h=6, $fn=25);
|
||||
translate([-6.75,69,-0.8]) cube([4,10,10]);
|
||||
|
||||
|
||||
|
||||
|
||||
// hold together screws clearance
|
||||
translate([-4.5,25.5,-1]) cylinder(r1=2.2,r2=1.5, h=10, $fn=25);
|
||||
translate([-28.5,25.5,-1]) cylinder(r1=2.2,r2=1.5, h=10, $fn=25);
|
||||
translate([-4.5,25.5,-1]) cylinder(r2=2,r1=3,h=3, $fn=25);
|
||||
translate([-28.5,25.5,-1]) cylinder(r2=2,r1=3,h=3, $fn=25);
|
||||
|
||||
|
||||
translate([0,-0.5,0]) left_belt_cut();
|
||||
translate([0,0.5,0]) right_belt_cut();
|
||||
|
||||
//version
|
||||
translate([-12,-2,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
|
||||
{ text("R7",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module left_belt_cut()
|
||||
{
|
||||
|
||||
translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30);
|
||||
translate([-23.0,20,7]) cube([2,10,30]);
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([13.5,20.5,0]) rotate([0,0,25])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-80,25,7]) cube([37.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([13.2,2.38,0]) rotate([0,0,0])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-82.42,25,7]) cube([37.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([-45,18,4]) rotate([0,0,-13.5]) cube([10.5,3,32]);
|
||||
translate([-31.5,30.4,10]) rotate([-10,0,15]) cylinder(r=0.2, h=100, $fn=30);
|
||||
translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
|
||||
}
|
||||
|
||||
|
||||
module right_belt_cut()
|
||||
{
|
||||
// right belt cut
|
||||
translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30);
|
||||
translate([-11.1,19.8,7]) cube([2,10,30]);
|
||||
translate([22.5,25.5,7]) belt_cut();
|
||||
translate([66.65,1.95,0]) rotate([0,0,0])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-71.55,25,7]) cube([37.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([43.2,-30.25,0]) rotate([0,0,-30])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-56.5,28.5,7]) belt_cut();
|
||||
translate([-82.1,25,7]) cube([10,10,30]);
|
||||
translate([-61.5,25,7]) cube([20.5,10,30]);
|
||||
}
|
||||
}
|
||||
translate([2,14.6,7]) rotate([0,0,15]) cube([10,3,30]);
|
||||
translate([-5.1,30,10]) rotate([-10,0,-15]) cylinder(r=0.2, h=100, $fn=30);
|
||||
translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
|
||||
}
|
||||
|
||||
x_carriage();
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -11,35 +11,29 @@ module x_end_idler_holes()
|
|||
{
|
||||
x_end_holes();
|
||||
translate([0,3.5,0])
|
||||
{
|
||||
{
|
||||
// pulley screw
|
||||
translate(v=[0,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=50);
|
||||
translate(v=[-4,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 4, r=3, $fn=50);
|
||||
|
||||
translate(v=[-21.5,-19,30.25]) rotate([0,-90,0]){
|
||||
rotate([0,0,30])cylinder( h = 4, r = 3.1, $fn=6);
|
||||
}
|
||||
translate(v=[-21.5,-19,30.25]) rotate([0,-90,0]){
|
||||
rotate([0,0,30])cylinder( h = 4, r = 3.1, $fn=6);
|
||||
}
|
||||
|
||||
translate(v=[-24,-19,30.25]) rotate([0,-90,0]){
|
||||
translate(v=[-24,-19,30.25]) rotate([0,-90,0]){
|
||||
rotate([0,0,30])cylinder( h = 4, r1 = 3.1, r2 = 7, $fn=6);
|
||||
}
|
||||
|
||||
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
|
||||
|
||||
|
||||
|
||||
|
||||
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
|
||||
|
||||
|
||||
|
||||
|
||||
// pulley side cut
|
||||
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
|
||||
translate([-19,-35,21.25]) cube([10,20,18]);
|
||||
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
|
||||
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
|
||||
// pulley side cut
|
||||
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
|
||||
translate([-19,-35,21.25]) cube([10,20,18]);
|
||||
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
|
||||
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module waste_pocket()
|
||||
|
|
@ -65,34 +59,21 @@ module x_end_idler_base()
|
|||
x_end_base();
|
||||
difference()
|
||||
{
|
||||
|
||||
|
||||
translate(v=[-6.5,-21,13.5]) cube([1,12.5,42]);
|
||||
|
||||
|
||||
translate([-24,-11.5,19]) cube([20,10,24]);
|
||||
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
|
||||
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
|
||||
translate([-24,-11.5,19]) cube([20,10,24]);
|
||||
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
|
||||
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
|
||||
translate(v=[-5.5,-19,13.5]) rotate([90,0,-35]) cube([1.5,45,6]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
// pulley nut support
|
||||
difference() {
|
||||
translate(v=[-23.5,-15.5,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 1,r1=5.5, r2=3.7, $fn=30);
|
||||
translate([-26,-11.5,19]) cube([20,10,24]);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
translate(v=[-23.5,-15.5,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 1,r1=5.5, r2=3.7, $fn=30);
|
||||
translate([-26,-11.5,19]) cube([20,10,24]);
|
||||
}
|
||||
|
||||
}
|
||||
x_end_idler_holes();
|
||||
|
|
@ -110,16 +91,11 @@ module x_end_idler_base()
|
|||
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=30);
|
||||
}
|
||||
|
||||
// nut trap print supoorts
|
||||
|
||||
// nut trap print supoorts
|
||||
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
||||
|
||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||
|
||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -170,9 +146,9 @@ module x_end_idler()
|
|||
|
||||
translate(v=[-8,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 20, r=1.55, $fn=30);
|
||||
translate([-25,7.5,-1]) rotate([0,0,45]) cube([10,10,100]);
|
||||
//version
|
||||
//version
|
||||
translate([-23.7,-25,2]) rotate([90,0,90]) linear_extrude(height = 0.6)
|
||||
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
{ text("R6",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
}
|
||||
|
||||
// bearings stop
|
||||
|
|
@ -209,8 +185,6 @@ difference()
|
|||
x_end_idler();
|
||||
translate([-8,15,13.0]) rotate([0,0,-45.4]) cube([10,1.5,1]);
|
||||
}
|
||||
|
||||
// chamfers
|
||||
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
||||
translate([-20,10.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
||||
translate([-25,37,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||
|
|
@ -11,11 +11,13 @@ module x_end_motor_base()
|
|||
{
|
||||
x_end_base();
|
||||
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
module x_end_motor_holes()
|
||||
{
|
||||
x_end_holes();
|
||||
x_end_holes();
|
||||
|
||||
// Position to place
|
||||
translate(v=[-1,32,30.25])
|
||||
|
|
@ -24,28 +26,23 @@ module x_end_motor_holes()
|
|||
translate(v=[-19,-21,-12]) cube(size = [10,25,22]);
|
||||
|
||||
// Motor mounting holes
|
||||
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
|
||||
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
|
||||
|
||||
for (x =[-1:0.25:1])
|
||||
{
|
||||
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
|
||||
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
|
||||
|
||||
translate(v=[20,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
|
||||
translate(v=[20,16.,-15.0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,16.,-15.0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,15,-16]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,15,-16]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,14.5,-16.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,14.5,-16.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
|
||||
translate(v=[20,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[0,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
|
||||
translate(v=[20,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[0,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
};
|
||||
|
||||
|
||||
// Material saving cutout
|
||||
translate(v=[-10,12,12]) cube(size = [60,42,42], center = true);
|
||||
translate(v=[-25,10.5,-11]) rotate([45,0,0]) cube(size = [60,10,10]);
|
||||
|
|
@ -55,11 +52,9 @@ module x_end_motor_holes()
|
|||
translate(v=[-10,41,-30.5]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
|
||||
|
||||
|
||||
translate([-15,-2,-33]) rotate([-45,0,0]) cylinder(h=25, r=1.7, $fn=30);
|
||||
translate([-15,-2,-33]) rotate([-45,0,0]) cylinder(h=28-18, r=3.2, $fn=30);
|
||||
translate([-35+2.8,10,-25]) rotate([45,0,0]) cube(size = [20,2,5.6]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Motor shaft cutout
|
||||
|
|
@ -105,10 +100,11 @@ module x_end_motor()
|
|||
translate([-17,3,55]) cube([4,4,10]);
|
||||
translate([-17,3,-8]) cube([4,4,10]);
|
||||
translate([-30,-30,58]) cube([30,30,10]);
|
||||
|
||||
|
||||
// version
|
||||
translate([-23.2,-20,2]) rotate([90,0,270]) linear_extrude(height = 0.6)
|
||||
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
{ text("R6",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
|
||||
}
|
||||
|
||||
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
|
||||
|
|
@ -136,15 +132,13 @@ module x_end_motor()
|
|||
rotate([0,0,310-240]) translate([-2.5,0,26]) cube([5,15,10]);
|
||||
}
|
||||
|
||||
// nut trap print supoorts
|
||||
// nut trap print suports
|
||||
|
||||
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
||||
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -154,12 +148,37 @@ difference()
|
|||
{
|
||||
x_end_motor();
|
||||
translate([-8,-17,13.0]) rotate([0,0,44.7]) cube([10,1.5,1]);
|
||||
|
||||
// belt tensioner body
|
||||
translate([-24,9,30.25]) rotate(a=[90,30,0]) cylinder(h=27, r=4, $fn=6);
|
||||
difference()
|
||||
{
|
||||
translate([-30,9-27,30.25]) rotate(a=[0,45,0]) cube([11,27,11]);
|
||||
translate([-37.465,9-27-1,20]) cube([10,30,21]);
|
||||
translate([-29,9-27-1,35]) cube([10,30,21]);
|
||||
translate([-20,9-27-1,20]) cube([25,30,21]);
|
||||
}
|
||||
difference()
|
||||
{
|
||||
translate([-24,-18,30.25]) rotate(a=[90,0,0]) cylinder(h=10.5, r=5, $fn=30);
|
||||
translate([-24-19.5,-18,20]) rotate(a=[90,0,0]) cube([20,20,20]);
|
||||
}
|
||||
|
||||
}
|
||||
//chamfers
|
||||
|
||||
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
||||
translate([-20,-30.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
||||
translate([-25,-37,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||
translate([-25,23.5,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||
|
||||
|
||||
// belt tensioner
|
||||
translate(v=[0,32,30.25])
|
||||
{
|
||||
translate([-24,-15.5-2.5,0]) rotate(a=[90,0,0]) cylinder(h=35, r=1.6, $fn=30);
|
||||
translate([-24,-15.5-4.5-30,0]) rotate(a=[90,0,0]) cylinder(h=30, r=3.2, $fn=30);
|
||||
translate([-24-10+2.8,-29,0-2.8]) cube([10,2.1,5.6]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -11,9 +11,6 @@ rod_distance = 45;
|
|||
|
||||
module x_end_base()
|
||||
{
|
||||
|
||||
|
||||
|
||||
// Main block
|
||||
height = 58;
|
||||
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
|
||||
|
|
@ -24,7 +21,7 @@ module x_end_base()
|
|||
|
||||
//Nut trap
|
||||
// Cylinder
|
||||
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=100);
|
||||
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=250);
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,-17,13]) poly_cylinder(h = 3, r=12.5, $fn=25);
|
||||
|
|
@ -34,11 +31,6 @@ module x_end_base()
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
module reinforcement_selective_infill()
|
||||
{
|
||||
|
|
@ -46,7 +38,8 @@ module reinforcement_selective_infill()
|
|||
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,5],[12,0]] );
|
||||
}
|
||||
|
||||
|
||||
x_end_base();
|
||||
|
||||
|
||||
module x_end_holes()
|
||||
{
|
||||
|
|
@ -55,7 +48,6 @@ module x_end_holes()
|
|||
translate(v=[-1,0,0])
|
||||
{
|
||||
// Stress relief
|
||||
translate(v=[-5.5-10+1.5,-10-1,30]) cube(size = [18,1,28], center = true);
|
||||
difference()
|
||||
{
|
||||
|
||||
|
|
@ -84,29 +76,27 @@ module x_end_holes()
|
|||
translate(v=[0,-17, -0.1]) cylinder(h = 1, r1 = 7.2,r2 = 6.7, $fn = 60);
|
||||
|
||||
// Screw holes for TR nut
|
||||
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
||||
|
||||
|
||||
|
||||
|
||||
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65, $fn=50);
|
||||
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,-9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65,, $fn=50);
|
||||
|
||||
|
||||
// Nut traps for TR nut screws
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.1, $fn=6);
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.15, $fn=6);
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 4, r = 3.2, $fn=6);
|
||||
translate([-5.5,-17.2,10]) rotate([0,0,32]) cube([5,5.9,3.5]);
|
||||
translate([-0,-17.2,10]) rotate([0,0,58]) cube([5,10,3.5]);
|
||||
|
||||
|
||||
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.1, $fn=6);
|
||||
translate([-5.5,-17.2,10]) rotate([0,0,30]) cube([5,5,3]);
|
||||
translate([-0,-17.2,10]) rotate([0,0,60]) cube([5,10,3]);
|
||||
|
||||
translate([0,0,6.5])
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,5.8]) rotate([0,0,30])cylinder(h = 1, r = 3.1, $fn=6);
|
||||
translate([-11,-12.0,4.5]) rotate([0,0,45]) cube([8,3,3]);
|
||||
translate([-6.5,-16.85,4.5]) rotate([0,0,45]) cube([8,3,3]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -122,9 +112,13 @@ module x_end_plain()
|
|||
x_end_base();
|
||||
x_end_holes();
|
||||
}
|
||||
|
||||
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
|
||||
}
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,-17, 0.3]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.2, $fn=6);
|
||||
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -134,6 +128,7 @@ module x_end_plain()
|
|||
|
||||
|
||||
|
||||
|
||||
module pushfit_rod(diameter,length)
|
||||
{
|
||||
poly_cylinder(h = length, r=diameter/2);
|
||||
|
|
@ -143,8 +138,5 @@ module pushfit_rod(diameter,length)
|
|||
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
|
||||
}
|
||||
}
|
||||
difference () {
|
||||
x_end_plain();
|
||||
//translate([-50,-50,-1]) rotate([0,0,0]) cube([100,100,5]);
|
||||
}
|
||||
//
|
||||
|
||||
x_end_holes();
|
||||
|
|
@ -1,168 +1,176 @@
|
|||
// PRUSA iteration4
|
||||
// Z axis bottom holder
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module z_bottom_base()
|
||||
{
|
||||
translate([0,-1.5,0]) cube([7.5,49,16+20]); // plate touching the base
|
||||
translate([0,-5,0]) cube([30,3.7,22]); // plate touching the base
|
||||
translate([0,42,0]) cube([30,5.5,22]); // plate touching the base
|
||||
translate([0,-5,0]) cube([50,52.5,7]); // plate touching the base
|
||||
}
|
||||
|
||||
module z_bottom_fancy()
|
||||
{
|
||||
// corner cutouts
|
||||
translate([0.5,-2.5,-2]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
translate([0.5,40-0.5+5,-2]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
|
||||
translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
|
||||
translate([21,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
|
||||
translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
|
||||
translate([50-2.5,-5+2.5+67,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
translate([50-2.5,-5+2.5,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
|
||||
translate([-38,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
|
||||
|
||||
// Stiffner cut out
|
||||
translate([30,0,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
|
||||
|
||||
translate([-5,-10,-8.0]) rotate([45,0,0]) cube([60,10,10]);
|
||||
translate([-5,52.0,-8.5]) rotate([45,0,0]) cube([60,10,10]);
|
||||
translate([47,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
|
||||
|
||||
translate([49,37.5,-2]) rotate([0,45,45]) cube([30,30,30]);
|
||||
translate([29,-16.7,-2]) rotate([0,45,-45]) cube([30,30,30]);
|
||||
}
|
||||
|
||||
module z_bottom_holes()
|
||||
{
|
||||
// Frame mounting screw holes
|
||||
translate([-1,10,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
|
||||
translate([-1,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
|
||||
translate([-1,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
|
||||
|
||||
// Frame mounting screw head holes
|
||||
translate([4,10,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
||||
translate([4,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
||||
translate([4,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
||||
translate([4,10+10-3.1,10+20+2]) cube([10,6.2,10]);
|
||||
translate([4,10,38]) rotate([0,45,0]) cube([10,20,10]);
|
||||
|
||||
// Z rod holder
|
||||
difference() {
|
||||
|
||||
translate([25+4.3,3,-0.1]) rotate([0,0,0]) cylinder(h = 5.6, r=4.05, $fn=50);
|
||||
translate([23.3,-5,5.45-0.222]) cube([5,20,5]);
|
||||
translate([23.3+7,-5,5.45-0.22]) cube([5,20,5]);
|
||||
|
||||
}
|
||||
|
||||
translate([25+4.3-1,2,4.5]) rotate([0,0,0]) cube([2,10,3]) ;
|
||||
translate([25+4.3,3,-2.1]) rotate([0,0,0]) cylinder(h = 2.6, r1=6, r2=4, $fn=50);
|
||||
translate([25+4.3-1,3,0.5]) cube([2,10,8]); // it's bit up because it helps with printing
|
||||
|
||||
// motor mounting
|
||||
translate([25+4.3,20,-1]){
|
||||
|
||||
translate([15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
|
||||
|
||||
|
||||
translate([15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2,$fn=50);
|
||||
translate([15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
|
||||
translate([-15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
|
||||
translate([-15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.26, $fn=50);
|
||||
|
||||
// motor opening
|
||||
translate([0,0,-1]) cylinder(h = 20, r=11.2, $fn=30);
|
||||
translate([0,0,-0]) cylinder(h = 2, r2=11.2, r1=12, $fn=30);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
translate([15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
translate([-15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
translate([-15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
|
||||
|
||||
}
|
||||
translate([-25,3.85,3.2]) cube([55,10,2]);
|
||||
translate([-25,-27.15,3.2]) cube([55,10,2]);
|
||||
translate([-25,-13.85,3.2]) cube([55,10,2]);
|
||||
translate([-25,17.15,3.2]) cube([55,10,2]);
|
||||
|
||||
|
||||
|
||||
|
||||
translate([17.15,-20,3.5]) cube([10,60,2]);
|
||||
translate([3.85,-20,3.5]) cube([10,60,2]);
|
||||
translate([-27.15,-20,3.5]) cube([10,60,2]);
|
||||
translate([-13.85,-20,3.5]) cube([10,60,2]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
module z_bottom_right()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
z_bottom_base();
|
||||
z_bottom_fancy();
|
||||
z_bottom_holes();
|
||||
}
|
||||
translate([7.3,25,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
|
||||
{ text("R3",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
}
|
||||
}
|
||||
|
||||
module z_bottom_left()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([0,-13,0]) mirror([0,1,0])
|
||||
difference()
|
||||
{
|
||||
z_bottom_base();
|
||||
z_bottom_fancy();
|
||||
z_bottom_holes();
|
||||
}
|
||||
translate([7.3,-28.5,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
|
||||
{ text("R3",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
z_bottom_right();
|
||||
z_bottom_left();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// PRUSA iteration4
|
||||
// Z axis bottom holder
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module z_bottom_base()
|
||||
{
|
||||
translate([0,-1.5,0]) cube([7.5,49,16+20]); // plate touching the base
|
||||
translate([0,-5,0]) cube([30,3.7,22]); // plate touching the base
|
||||
translate([0,42,0]) cube([30,5.5,22]); // plate touching the base
|
||||
translate([0,-5,0]) cube([50,52.5,7]); // plate touching the base
|
||||
}
|
||||
|
||||
module z_bottom_fancy()
|
||||
{
|
||||
// corner cutouts
|
||||
translate([0.5,-2.5,-2]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
translate([0.5,40-0.5+5,-2]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
|
||||
translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
|
||||
translate([21,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
|
||||
translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
|
||||
translate([50-2.5,-5+2.5+67,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
translate([50-2.5,-5+2.5,-2]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
|
||||
translate([-38,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
|
||||
|
||||
// Stiffner cut out
|
||||
translate([30,0,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
|
||||
|
||||
translate([-5,-10,-8.0]) rotate([45,0,0]) cube([60,10,10]);
|
||||
translate([-5,52.0,-8.5]) rotate([45,0,0]) cube([60,10,10]);
|
||||
translate([47,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
|
||||
|
||||
translate([49,37.5,-2]) rotate([0,45,45]) cube([30,30,30]);
|
||||
translate([29,-16.7,-2]) rotate([0,45,-45]) cube([30,30,30]);
|
||||
}
|
||||
|
||||
module z_bottom_holes()
|
||||
{
|
||||
// Frame mounting screw holes
|
||||
translate([-1,10,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
|
||||
translate([-1,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
|
||||
translate([-1,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=1.6, $fn=50);
|
||||
|
||||
// Frame mounting screw head holes
|
||||
translate([4,10,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
||||
translate([4,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
||||
translate([4,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
||||
translate([4,10+10-3.1,10+20+2]) cube([10,6.2,10]);
|
||||
translate([4,10,38]) rotate([0,45,0]) cube([10,20,10]);
|
||||
|
||||
// Z rod holder
|
||||
difference() {
|
||||
|
||||
translate([25+4.3,3,-0.1]) rotate([0,0,0]) cylinder(h = 5.6, r=4.05, $fn=50);
|
||||
translate([23.3,-5,5.45-0.222]) cube([5,20,5]);
|
||||
translate([23.3+7,-5,5.45-0.22]) cube([5,20,5]);
|
||||
|
||||
}
|
||||
|
||||
translate([25+4.3-1,2,4.5]) rotate([0,0,0]) cube([2,10,3]) ;
|
||||
translate([25+4.3,3,-2.1]) rotate([0,0,0]) cylinder(h = 2.6, r1=6, r2=4, $fn=50);
|
||||
translate([25+4.3-1,3,0.5]) cube([2,10,8]); // it's bit up because it helps with printing
|
||||
|
||||
// motor mounting
|
||||
translate([25+4.3,20,-1]){
|
||||
|
||||
translate([15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.65, $fn=50);
|
||||
|
||||
|
||||
|
||||
translate([15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2,$fn=50);
|
||||
translate([15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
|
||||
translate([-15.5,15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.2, $fn=50);
|
||||
translate([-15.5,-15.5,-0.5]) cylinder(h = 2, r1=4.5, r2=3.26, $fn=50);
|
||||
|
||||
// motor opening
|
||||
translate([0,0,-1]) cylinder(h = 20, r=11.2, $fn=30);
|
||||
translate([0,0,-0]) cylinder(h = 2, r2=11.2, r1=12, $fn=30);
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
translate([15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
translate([-15.5,15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
translate([-15.5,-15.5,0.9]) cylinder(h = 2.9, r=3.2, $fn=50);
|
||||
|
||||
|
||||
}
|
||||
translate([-25,3.85,3.2]) cube([55,10,2]);
|
||||
translate([-25,-27.15,3.2]) cube([55,10,2]);
|
||||
translate([-25,-13.85,3.2]) cube([55,10,2]);
|
||||
translate([-25,17.15,3.2]) cube([55,10,2]);
|
||||
|
||||
|
||||
|
||||
|
||||
translate([17.15,-20,3.5]) cube([10,60,2]);
|
||||
translate([3.85,-20,3.5]) cube([10,60,2]);
|
||||
translate([-27.15,-20,3.5]) cube([10,60,2]);
|
||||
translate([-13.85,-20,3.5]) cube([10,60,2]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
module z_bottom_right()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
z_bottom_base();
|
||||
z_bottom_fancy();
|
||||
z_bottom_holes();
|
||||
}
|
||||
translate([7.3,24,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
|
||||
{ text("R5",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
|
||||
translate([7,24,25]) rotate([90,180,90]) linear_extrude(height = 0.9)
|
||||
{ text("R",font = "helvetica:style=Bold", size=8, center=true); }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module z_bottom_left()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([0,-13,0]) mirror([0,1,0])
|
||||
difference()
|
||||
{
|
||||
z_bottom_base();
|
||||
z_bottom_fancy();
|
||||
z_bottom_holes();
|
||||
}
|
||||
translate([7.3,-28.5,14]) rotate([90,180,90]) linear_extrude(height = 0.6)
|
||||
{ text("R5",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
|
||||
translate([7,-29,25]) rotate([90,180,90]) linear_extrude(height = 0.9)
|
||||
{ text("L",font = "helvetica:style=Bold", size=8, center=true); }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
z_bottom_right();
|
||||
z_bottom_left();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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
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
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
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
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
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
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
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -1,56 +0,0 @@
|
|||
// PRUSA iteration3
|
||||
// LCD Knob
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
difference () {
|
||||
|
||||
// main body
|
||||
|
||||
translate([0,0,0]) rotate(a=[0,0,0]) cylinder(h = 7.5, r1=10, r=7.25, $fn=60);
|
||||
|
||||
translate([0,0,20]) rotate(a=[0,0,0]) sphere(14);
|
||||
|
||||
// knob cutout
|
||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d=6.1, $fn=60);
|
||||
|
||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 0.6, d1=7.1, d2=6.1 , $fn=30);
|
||||
|
||||
translate([0,0.75,-0.1]) rotate(a=[0,0,-90]) cube([1.5,5.3,4.6]);
|
||||
|
||||
// first layer correction
|
||||
union () {
|
||||
|
||||
difference (){
|
||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 2,d1= 11.5, d2=10.5, $fn=60);
|
||||
translate([0,0,-0.15]) rotate(a=[0,0,0]) cylinder(h = 2,d1= 9.5, d2=10.5, $fn=60);
|
||||
translate([0,0,1]) rotate(a=[0,0,0]) cylinder(h = 2,d= 13, $fn=30);
|
||||
translate([-13.5,-6,-0.1]) rotate(a=[0,0,0]) cube([10,12,4.6]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
difference () {
|
||||
|
||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d=11, $fn=60);
|
||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d= 10, $fn=60);
|
||||
translate([-13.5,-6,-0.1]) rotate(a=[0,0,0]) cube([10,12,4.6]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// handle
|
||||
|
||||
difference () {
|
||||
|
||||
translate([-2.1,6.5,0]) rotate(a=[0,0,0]) cube([4.2,12,7.5]);
|
||||
translate([-2.5,15,7.7]) rotate(a=[-67,0,0]) cube([5.5,11,7.5]);
|
||||
translate([-2.2,18.22,-0.1]) rotate(a=[0,0,0]) cube([4.4,12,0.21]);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// cable holder
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module zip_main()
|
||||
{
|
||||
// ziptie cut for upper cables
|
||||
|
||||
translate([-10,-30.5,24]) cube([20,2,3]);
|
||||
translate([-6,-30.5,24]) cube([2,20,3]);
|
||||
translate([5,-30.5,24]) cube([2,20,3]);
|
||||
|
||||
difference()
|
||||
{
|
||||
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=3, r=6, $fn=30 );
|
||||
translate([0.5,-26,23]) rotate([0,0,90]) cylinder( h=5, r=4.6, $fn=30 );
|
||||
translate([-10,-35.5,23]) cube([20,5,5]);
|
||||
translate([-10,-27,23]) cube([20,10,5]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module zip_ext_cables()
|
||||
{
|
||||
// ziptie cut for lower cables
|
||||
|
||||
translate([-10,-25.5,24]) cube([20,2,3]);
|
||||
translate([-4.5,-45.5,24]) cube([2,20,3]);
|
||||
translate([3.5,-45.5,24]) cube([2,20,3]);
|
||||
}
|
||||
|
||||
|
||||
module cable_holder()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
// base block
|
||||
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=39.5, r=5, $fn=30 );
|
||||
translate([-4.5,-26,24]) cube([10,9,39.5]);
|
||||
translate([-3,-35,24]) cube([7,10,39.5]);
|
||||
}
|
||||
|
||||
// screw
|
||||
translate([0.5,-27,19.5]) rotate([0,0,90]) cylinder( h=42, r=1.75, $fn=30 );
|
||||
translate([0.5,-27,19.5+41]) rotate([0,0,90]) cylinder( h=5, r=3.15, $fn=30 );
|
||||
|
||||
// upper cables cut
|
||||
translate([0.5,-18,23]) rotate([0,5,90]) cylinder( h=41, r=5, $fn=30 );
|
||||
translate([-10,-20,23]) rotate([-5,0,0]) cube([20,9,45]);
|
||||
|
||||
// lower angled cut
|
||||
translate([-10,-44,23]) rotate([-4,0,0]) cube([20,9,45]);
|
||||
|
||||
// wires
|
||||
translate([-0.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 );
|
||||
translate([1.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 );
|
||||
|
||||
|
||||
// ziptie openings
|
||||
translate([0,0,5]) zip_main();
|
||||
translate([0,0,18]) zip_main();
|
||||
translate([0,0,32]) zip_main();
|
||||
translate([0,0,11]) zip_ext_cables();
|
||||
translate([0,0,25]) zip_ext_cables();
|
||||
|
||||
// round edge cut
|
||||
translate([0,1.8,-1.5])
|
||||
difference()
|
||||
{
|
||||
translate([-10,-32,63]) rotate([0,90,0]) cylinder( h=41, r=4, $fn=30 );
|
||||
translate([-10,-32,63]) rotate([0,90,0]) cylinder( h=41, r=2, $fn=30 );
|
||||
translate([-10,-36,53]) rotate([0,0,0]) cube([20,9,10]);
|
||||
translate([-10,-32,58]) rotate([0,0,0]) cube([20,9,10]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
cable_holder();
|
||||
|
|
@ -1,391 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Extruder body
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module m3head()
|
||||
{
|
||||
intersection()
|
||||
{
|
||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
|
||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
||||
}
|
||||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
|
||||
}
|
||||
|
||||
|
||||
module m3nuthead()
|
||||
{
|
||||
intersection()
|
||||
{
|
||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=6); // head cut
|
||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
||||
}
|
||||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=6); // head cut
|
||||
}
|
||||
|
||||
|
||||
module grill()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([24,-5,-17]) cylinder( h=17, r=20.4, $fn=50 );
|
||||
translate([24,-5,-21]) cylinder( h=23, r=19, $fn=50 );
|
||||
translate([23,-30,-30]) cube([30,60,32]);
|
||||
translate([-11,-30,-30]) cube([30,60,32]);
|
||||
translate([-19,-20,-30]) cube([60,60,32]);
|
||||
}
|
||||
translate([23,-24.65,-17]) cylinder( h=17, r=0.72, $fn=50 );
|
||||
translate([19,-24.01,-17]) cylinder( h=17, r=0.72, $fn=50 );
|
||||
}
|
||||
|
||||
module pinda_holder()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-32,-45,-20]) cube([18,15,20]);
|
||||
translate([-26,-18,-3]) cube([9,11,3]);
|
||||
translate([-23,-38,-3]) cube([6,15,3]);
|
||||
}
|
||||
translate([-23,-5,-12]) rotate([90,0,0]) cylinder( h=50, r=4.05, $fn=30 );
|
||||
translate([-35,-38.5,-5]) rotate([0,90,0]) cylinder( h=25, r=1.6, $fn=30 );
|
||||
|
||||
translate([-33,-38.5,-5]) rotate([0,90,0]) cylinder( h=6, r=3.1, $fn=30 );
|
||||
|
||||
translate([-35,-52.5,-24]) rotate([0,0,45]) cube([10,10,30]);
|
||||
translate([-36.5,-39,-25]) rotate([0,0,45]) cube([20,10,30]);
|
||||
translate([-11,-36,-26]) rotate([0,0,50]) cube([10,10,23]);
|
||||
translate([-22.5,-30,-20]) rotate([0,0,45]) cube([10,8,23]);
|
||||
translate([-35,-29,-30]) rotate([45,0,0]) cube([30,10,10]);
|
||||
translate([-35,-46,-30]) rotate([45,0,0]) cube([30,10,10]);
|
||||
translate([-41,-52,-19.5]) rotate([0,45,0]) cube([12,30,10]);
|
||||
translate([-12.5,-53,-21]) rotate([0,0,45]) cube([10,10,30]);
|
||||
translate([-10,-54,-25]) rotate([0,0,65]) cube([14.5,10,30]);
|
||||
|
||||
translate([-19.6,-41.5,-8.1]) cube([2.4,6,10]);
|
||||
translate([-24,-48,-10]) cube([1.4,20,12]);
|
||||
translate([-23.7,-48,-10]) rotate([0,-5,0]) cube([1.4,20,12]);
|
||||
translate([-25.5,-48,-0]) rotate([0,45,0]) cube([3,30,3]);
|
||||
|
||||
translate([-17.5,-37,-22]) cube([5,7,5]);
|
||||
|
||||
// hook cut
|
||||
translate([-23,-20,-3.5]) cube([6,8,4.5]);
|
||||
translate([-26,-10,-3.5]) rotate([0,0,45]) cube([5,5,5]);
|
||||
translate([-26,-23,-3.5]) rotate([0,0,45]) cube([5,5,5]);
|
||||
|
||||
translate([-29,-34,-16]) cube([1,1,15]);
|
||||
translate([-29,-43,-16]) cube([1,1,15]);
|
||||
translate([-17,-33,-16]) cube([1,1,15]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module extruder_body()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
// cables hook above fan
|
||||
difference()
|
||||
{
|
||||
translate([22.5,-3,-17]) cube([9,8.75,17]);
|
||||
translate([33,-0.0,-21]) rotate([0,0,45]) cube([12,12,22]);
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
// base body shape
|
||||
union()
|
||||
{
|
||||
translate([-17,-36.5,-30.5]) cube([42,86.5,30.5]);
|
||||
translate([16,-38.5,-20]) rotate([0,0,45]) cube([3,3,20]);
|
||||
}
|
||||
|
||||
translate([22.5,-3,-20]) cube([9,8.75,20]);
|
||||
|
||||
//opening to pulleys from motor side
|
||||
translate([4,27,-33]) rotate([0,0,0]) cylinder( h=40, r=12, $fn=30 );
|
||||
|
||||
// idler cut
|
||||
difference()
|
||||
{
|
||||
translate([-39,15,-33.5]) cube([44,24,32]);
|
||||
difference()
|
||||
{
|
||||
translate([-12,5.5,-4.5]) rotate([0,0,30]) cube([12,10,3]);
|
||||
translate([-39,15,-36]) cube([44,24,32]);
|
||||
}
|
||||
}
|
||||
translate([-20,9.5,-36.5]) rotate([0,0,30])cube([20,20,32]);
|
||||
translate([-26,29,-36.5]) cube([20,22,32]);
|
||||
translate([-18,24,-36.5]) rotate([0,0,45]) cube([20,20,32]);
|
||||
translate([-26,22,-33.5]) rotate([0,0,45]) cube([20,20,32]);
|
||||
translate([-26,9,-33.5]) rotate([0,0,30]) cube([20,20,32]);
|
||||
}
|
||||
|
||||
// bottom pulley space
|
||||
difference()
|
||||
{
|
||||
translate([-4,15,-30.5]) cube([26,6.5,30.5]);
|
||||
translate([-8,16.5,-36]) rotate([0,0,45]) cube([10,10,32]);
|
||||
}
|
||||
translate([-8,15,-4]) cube([30,6.5,4]);
|
||||
translate([15.5,-44,-17]) cube([5,8,17]);
|
||||
|
||||
// idler tension screw heads
|
||||
translate([3,18.5,-25]) rotate([0,90,0]) cylinder( h=22, r=3,r2=5, $fn=30 );
|
||||
translate([3,18.5,-10]) rotate([0,90,0]) cylinder( h=22, r=3,r2=5, $fn=30 );
|
||||
|
||||
// filament entry to hotend
|
||||
difference()
|
||||
{
|
||||
translate([0,10.5,-26]) rotate([0,0,45]) cube([9,9,15]);
|
||||
translate([-5,25,-17]) rotate([30,0,0]) cube([10,10,10]);
|
||||
translate([-5,18,-30]) rotate([-45,0,0]) cube([10,10,10]);
|
||||
translate([-13,14,-26]) cube([10,12,20]);
|
||||
}
|
||||
|
||||
|
||||
// filament entry
|
||||
difference()
|
||||
{
|
||||
translate([0,30.5,-26]) rotate([0,0,45]) cube([12,12,21]);
|
||||
translate([-10,19,-13]) rotate([-40,0,0]) cube([20,10,25]);
|
||||
translate([-5,23,-27]) rotate([-45,0,0]) cube([10,10,10]);
|
||||
translate([-14,30,-29]) cube([10,12,25]);
|
||||
translate([3,30,-29]) cube([10,12,30]);
|
||||
translate([-5,45,-29]) cube([10,12,25]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
translate([4,27,-33]) rotate([0,0,0]) cylinder( h=4, r=15, $fn=30 );
|
||||
translate([4,27,-32]) rotate([0,0,0]) cylinder( h=4, r=13, $fn=30 );
|
||||
|
||||
// side entry to pulleys
|
||||
translate([5,32,-18]) rotate([0,90,0]) cylinder( h=40, r=8, $fn=6 );
|
||||
translate([18,32,-18]) rotate([0,90,0]) cylinder( h=10, r1=8, r2=11, $fn=6 );
|
||||
|
||||
// cover cutout
|
||||
translate([-18,-39,-49]) cube([44,45,32]);
|
||||
|
||||
|
||||
// hotend cooling tube input
|
||||
translate([12,-21.5,-20]) rotate([0,90,0]) cylinder( h=10, r2=20.5, r1=12, $fn=80 );
|
||||
translate([1,-20.5,-20.5]) rotate([0,84,0]) cylinder( h=25, r2=17.5, r1=12, $fn=80 );
|
||||
translate([-10,-35,-40.55]) cube([30,26,32]);
|
||||
translate([0,-35,-38.8]) cube([20,14,32]);
|
||||
|
||||
// hotend cooling tube OUTPUT
|
||||
difference()
|
||||
{
|
||||
translate([-28,-35,-34]) rotate([0,15,0]) cube([44,26,32]);
|
||||
translate([-18,-53.5,-30]) rotate([0,0,65]) cube([20,20,32]);
|
||||
}
|
||||
translate([-10,-35,-17.5]) rotate([0,0,0]) cube([10,26,12]);
|
||||
|
||||
// e3d nozzle cut
|
||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=60, r=11.1, $fn=50 );
|
||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=26, r=11.5, $fn=50 );
|
||||
translate([0,-3.4,-17]) rotate([90,0,0]) cylinder( h=10, r=8.05, $fn=50 );
|
||||
translate([0,8,-17]) rotate([90,0,0]) cylinder( h=5.6, r=8.05, $fn=50 );
|
||||
translate([0,8.9,-17]) rotate([90,0,0]) cylinder( h=3, r=9, $fn=50 );
|
||||
translate([0,4,-17]) rotate([90,0,0]) cylinder( h=8, r=6.05, $fn=50 );
|
||||
translate([0,2.5,-17]) rotate([90,0,0]) cylinder( h=2, r1=8.05, r2=7, $fn=50 );
|
||||
|
||||
// filament PTFE and entry from hotend
|
||||
translate([0,10,-17]) rotate([90,0,0]) cylinder( h=10, r=3.5, $fn=50 );
|
||||
translate([0,30,-17]) rotate([90,0,0]) cylinder( h=80, r=2.1, $fn=50 );
|
||||
translate([0,18,-17]) rotate([90,0,0]) cylinder( h=12, r1=2, r2=4.3, $fn=50 );
|
||||
translate([0,16,-17]) rotate([110,0,0]) cylinder( h=13, r1=2, r2=4, $fn=50 );
|
||||
translate([0,16,-17]) rotate([100,0,0]) cylinder( h=13, r1=2, r2=4, $fn=50 );
|
||||
translate([0,80,-17]) rotate([90,0,0]) cylinder( h=80, r=1.0, $fn=50 );
|
||||
|
||||
// upper PTFE housing
|
||||
translate([0,50.8,-17]) rotate([90,0,0]) cylinder( h=4, r=2.1, $fn=50 );
|
||||
translate([0,49,-17]) rotate([90,0,0]) cylinder( h=4.5, r=1.5, $fn=50 );
|
||||
translate([0,51,-17]) rotate([90,0,0]) cylinder( h=22, r=1.1, $fn=50 );
|
||||
translate([0,41,-17]) rotate([90,0,0]) cylinder( h=5, r1=2, r2=1, $fn=50 );
|
||||
translate([1,46.5,-17.5]) cube([2,4,1]);
|
||||
translate([1,48,-17.5]) rotate([-30,0,0]) cube([2,4,1]);
|
||||
translate([0,10,-17]) rotate([90,0,0]) cylinder( h=3, r=7, $fn=50 );
|
||||
|
||||
// motor screws
|
||||
translate([-11.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
|
||||
translate([19.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
|
||||
translate([-11.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
|
||||
translate([19.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=50 );
|
||||
|
||||
translate([-11.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=50 );
|
||||
translate([19.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=50 );
|
||||
translate([-11.5,42.5,-3]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=50 );
|
||||
translate([19.5,42.5,-4.5]) rotate([0,0,0]) cylinder( h=5, r1=1.6,r2=2.4, $fn=50 );
|
||||
|
||||
|
||||
// better printing
|
||||
translate([-10.5,6.5,-17]) m3head();
|
||||
translate([-41.5,6.5,-17]) m3head();
|
||||
translate([-41.5,37.5,-16.2]) m3head();
|
||||
translate([-13,-2,-26]) m3nuthead();
|
||||
|
||||
translate([-8,16.5,-33.5]) rotate([0,0,45]) cube([10,10,32]);
|
||||
translate([-18,16.5,-33.5]) cube([10,10,32]);
|
||||
|
||||
// hold together screws
|
||||
translate([-20.5,-3.2,-14]) cube([12,5.6,2.1]);
|
||||
translate([-20.5,-3.2,-5]) cube([12,5.6,2.1]);
|
||||
translate([-13.2,-3.2,-14.3]) cube([3.4,5.6,2]);
|
||||
translate([-13.2,-2.2,-14.6]) cube([3.4,3.4,2]);
|
||||
|
||||
translate([-13.2,-3.2,-5.3]) cube([3.4,5.6,2.3]);
|
||||
translate([-13.2,-2.2,-5.6]) cube([3.4,3.4,2.3]);
|
||||
|
||||
|
||||
translate([-11.5,-0.5,-35]) cylinder( h=65, r=1.65, $fn=50 );
|
||||
translate([-11.5,-0.5,-2]) cylinder( h=5, r1=1.65, r2=2.2,$fn=50 );
|
||||
translate([11.5,-0.5,-30]) cylinder( h=60, r=1.65, $fn=50 );
|
||||
translate([11.5,-0.5,-3]) cylinder( h=5, r1=1.65, r2=2.2,$fn=50 );
|
||||
|
||||
translate([11.5,-0.5,-16]) cylinder( h=5, r1=3.5, r2=3.1, $fn=6 );
|
||||
translate([11.5,-0.5,-21]) cylinder( h=7, r=3.5, $fn=6 );
|
||||
|
||||
|
||||
// idler tension screws
|
||||
translate([9,18.5,-25]) rotate([0,90,0]) cylinder( h=21, r=2.7, $fn=30 );
|
||||
translate([-18,18.5,-25]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
|
||||
translate([19,18.5,-25]) rotate([0,90,0]) cylinder( h=10, r=4, $fn=30 );
|
||||
translate([9,18.5,-10]) rotate([0,90,0]) cylinder( h=21, r=2.7, $fn=30 );
|
||||
translate([-18,18.5,-10]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
|
||||
translate([19,18.5,-10]) rotate([0,90,0]) cylinder( h=10, r=4, $fn=30 );
|
||||
|
||||
// fan cut and screws
|
||||
translate([20.5,-41.5,-30]) cube([15,40,40]);
|
||||
translate([6,-5.5,-4]) rotate([0,90,0]) cylinder( h=15, r=1.4, $fn=30 );
|
||||
translate([12,-37.5,-4]) rotate([0,90,0]) cylinder( h=10, r=1.4, $fn=30 );
|
||||
translate([12,-37.5,-4]) rotate([0,90,0]) cylinder( h=3, r=1.6, $fn=30 );
|
||||
translate([19,-5.5,-4]) rotate([0,90,0]) cylinder( h=2, r1=1.4,r2=2, $fn=30 );
|
||||
translate([19,-37.5,-4]) rotate([0,90,0]) cylinder( h=2, r1=1.4,r2=2, $fn=30 );
|
||||
|
||||
// extruder cover nut
|
||||
translate([17,3,-25]) rotate([0,0,0]) cylinder( h=19, r=1.7, $fn=30 );
|
||||
translate([17,3,-5]) rotate([0,0,0]) cylinder( h=6, r=3.5, $fn=6 );
|
||||
translate([17,3,-10]) rotate([0,0,0]) cylinder( h=6, r1=3.1, r2=3.6, $fn=6 );
|
||||
|
||||
// cable guide above fan
|
||||
difference()
|
||||
{
|
||||
translate([20.5,-2.5,-25]) cube([4,5,30]);
|
||||
translate([19,-1.5,-25]) rotate([0,0,60]) cube([5,5,30]);
|
||||
}
|
||||
|
||||
// corners
|
||||
translate([25,43,-40]) rotate([0,0,45]) cube([10,10,50]);
|
||||
translate([-18,43,-40]) rotate([0,0,45]) cube([10,10,50]);
|
||||
|
||||
|
||||
// filament senzor
|
||||
translate([2.5,40,-25.2]) cube([3,11,22.4]);
|
||||
|
||||
|
||||
translate([6.5,51,-3.9]) rotate([90,0,0]) cylinder( h=11, r=3.1, $fn=30 );
|
||||
|
||||
difference()
|
||||
{
|
||||
translate([3.5,40,-7]) cube([6,11,12]);
|
||||
translate([6,40,-7]) rotate([0,45,0]) cube([5,12,12]);
|
||||
}
|
||||
|
||||
translate([3.5,40,-10.5]) rotate([0,-45,0]) cube([2,12,5]);
|
||||
|
||||
translate([0,40,-7]) cube([4,11,5]);
|
||||
translate([1.5,40,-25.2]) cube([4,11,5]);
|
||||
translate([1.8,40,-21]) cube([4,11,8]);
|
||||
|
||||
translate([0,52.3,-21]) rotate([50,0,0]) cube([4,2,5]);
|
||||
|
||||
// filament senzor mounting screw
|
||||
translate([3,45,-9]) rotate([0,90,0]) cylinder( h=12, r=1.4, $fn=30 );
|
||||
translate([5,45,-9]) rotate([0,90,0]) cylinder( h=4, r=1.6, r2=1.5, $fn=30 );
|
||||
translate([8.5,45,-9]) rotate([0,90,0]) cylinder( h=1, r=1.6, r2=1.4, $fn=30 );
|
||||
|
||||
translate([-7,45,-9]) rotate([0,90,0]) cylinder( h=13, r=1.4, $fn=30 );
|
||||
translate([-10,45,-9]) rotate([0,90,0]) cylinder( h=13, r=3.3, $fn=30 );
|
||||
|
||||
// filament sensor cover screws
|
||||
translate([12,51,-12]) rotate([90,0,0]) cylinder( h=10, r=1.4, $fn=30 );
|
||||
translate([12,51,-12]) rotate([90,0,0]) cylinder( h=4, r1=1.9, r2=1.4,$fn=30 );
|
||||
|
||||
translate([-1,51,-24.5]) rotate([90,0,0]) cylinder( h=10, r=1.4, $fn=30 );
|
||||
translate([-1,51,-24.5]) rotate([90,0,0]) cylinder( h=4, r1=1.9, r2=1.4,$fn=30 );
|
||||
|
||||
// filament sensor window
|
||||
translate([-9.5,43,-17]) rotate([0,90,0]) cylinder( h=13, r=3, $fn=30 );
|
||||
translate([0,40,-17.5]) cube([5,11,2]);
|
||||
translate([0,40,-18.5]) rotate([0,40,0]) cube([5,11,2]);
|
||||
|
||||
translate([3.5,38,-1]) cube([5,11,2]);
|
||||
|
||||
}
|
||||
|
||||
pinda_holder();
|
||||
translate([5.5,40,-14]) cube([4,10,1]);
|
||||
translate([5.5,40,-13]) rotate([0,45,0]) cube([2,10,2]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
module final_part()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
extruder_body();
|
||||
translate([-35,-29,-30]) rotate([45,0,0]) cube([30,10,10]);
|
||||
|
||||
//version
|
||||
translate([-4,-34,-0.4]) rotate([0,0,0]) linear_extrude(height = 0.6)
|
||||
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
|
||||
// selective infill
|
||||
translate([-15,-7,-16]) cube([5,0.4,15]);
|
||||
}
|
||||
|
||||
// print supports
|
||||
translate([-28,-35,-0.3]) cube([8,4,0.3]);
|
||||
translate([-28,-44,-0.3]) cube([8,4,0.3]);
|
||||
|
||||
// grill
|
||||
translate([-35.25,10,0]) grill();
|
||||
translate([-35.25,0,0]) grill();
|
||||
translate([-16.5,-34,-12]) cube([4,30,1]);
|
||||
translate([-16.5,-6,-11.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
||||
translate([-12.5,-6,-11.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
||||
}
|
||||
|
||||
|
||||
rotate([0,180,0]) final_part();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Extruder cover
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
//import("extruder_body.stl");
|
||||
//translate([11.5,-0.5,-37.5]) cylinder( h=30, r=3.0, $fn=50 );
|
||||
|
||||
module m3head()
|
||||
{
|
||||
intersection()
|
||||
{
|
||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
|
||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
||||
}
|
||||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
|
||||
}
|
||||
|
||||
module grill()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([24,-5,-20]) cylinder( h=23, r=20.4, $fn=50 );
|
||||
translate([24,-5,-21]) cylinder( h=26, r=19, $fn=50 );
|
||||
translate([23,-30,-30]) cube([30,60,35]);
|
||||
translate([-11,-30,-30]) cube([30,60,35]);
|
||||
translate([-19,-20,-30]) cube([60,60,35]);
|
||||
}
|
||||
translate([23,-24.65,-20]) cylinder( h=23, r=0.72, $fn=50 );
|
||||
translate([19,-24.01,-20]) cylinder( h=23, r=0.72, $fn=50 );
|
||||
}
|
||||
|
||||
|
||||
translate([-35.25,10,-20]) grill();
|
||||
translate([-35.25,0,-20]) grill();
|
||||
// horizontal fins
|
||||
translate([-16.5,-35,-25]) cube([4,31,1]);
|
||||
translate([-16.5,-6,-24.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
||||
translate([-12.5,-6,-24.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
||||
|
||||
|
||||
module extruder_cover()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
// base block
|
||||
translate([-17,-36.5,-40.0]) cube([41.5,42.25,23.0]);
|
||||
translate([-37.75,-38.5,-40]) rotate([0,0,0]) cylinder( h=5, r=5.9, $fn=6 );
|
||||
translate([-34,-41.5,-40]) rotate([0,0,20]) cube([30,8,4]);
|
||||
translate([16,-38.5,-40]) rotate([0,0,45]) cube([3,3,23]);
|
||||
|
||||
// fan nozzle mount
|
||||
translate([11.5,-44,-40]) cube([7,9,7]);
|
||||
translate([15.5,-44,-40]) cube([5,9,23]);
|
||||
translate([-15,-44,-40]) cube([6.2,17,6]);
|
||||
translate([-11,-44,-40]) cube([28,20,1]);
|
||||
|
||||
// cable guide above fan
|
||||
translate([23.5,-1.5,-40]) cube([8,7.25,23]);
|
||||
}
|
||||
|
||||
// side fan cut
|
||||
translate([20.5,-37.5,-41]) cube([20,36,30]);
|
||||
|
||||
// cables hook
|
||||
translate([34,-1.0,-41]) rotate([0,0,45]) cube([10,10,25]);
|
||||
difference()
|
||||
{
|
||||
translate([20.5,-2.5,-41]) cube([4,5,25]);
|
||||
translate([20.0,-0.5,-41]) rotate([0,0,60]) cube([5,5,25]);
|
||||
}
|
||||
|
||||
// e3d nozzle cut
|
||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=30, r=11.1, $fn=50 );
|
||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=26, r=11.5, $fn=50 );
|
||||
translate([0,-3.4,-17]) rotate([90,0,0]) cylinder( h=10, r=8.05, $fn=50 );
|
||||
translate([0,8,-17]) rotate([90,0,0]) cylinder( h=5.6, r=8.05, $fn=50 );
|
||||
translate([0,4,-17]) rotate([90,0,0]) cylinder( h=8, r=6.05, $fn=50 );
|
||||
|
||||
|
||||
// hotend cooling tube
|
||||
// input
|
||||
translate([12,-21.5,-20]) rotate([0,90,0]) cylinder( h=10, r2=20.5, r1=12, $fn=80 );
|
||||
translate([1,-20.5,-15.5]) rotate([0,99,0]) cylinder( h=25, r2=17.5, r1=12, $fn=80 );
|
||||
translate([-10,-35,-28.3]) cube([30,26,32]);
|
||||
|
||||
// output
|
||||
difference()
|
||||
{
|
||||
translate([-17.2,-35,-36]) rotate([0,-23,0]) cube([44,26,32]);
|
||||
translate([-18,-53.5,-40]) rotate([0,0,65]) cube([20,20,32]);
|
||||
}
|
||||
|
||||
// fan screws
|
||||
translate([7,-37.5,-36]) rotate([0,90,0]) cylinder( h=14, r=1.4, $fn=30 );
|
||||
translate([7,-5.5,-36]) rotate([0,90,0]) cylinder( h=14, r=1.4, $fn=30 );
|
||||
translate([19,-37.5,-36]) rotate([0,90,0]) cylinder( h=2, r1=1.4, r2=2, $fn=30 );
|
||||
translate([19,-5.5,-36]) rotate([0,90,0]) cylinder( h=2, r1=1.4, r2=2, $fn=30 );
|
||||
|
||||
// left hold together screw
|
||||
translate([17,3,-44]) rotate([0,0,0]) cylinder( h=40, r=1.6, $fn=60 );
|
||||
translate([17,3,-41]) rotate([0,0,0]) cylinder( h=8, r=3.1, $fn=30 );
|
||||
translate([13.9,3.1,-41]) cube([6.2,10,9]);
|
||||
|
||||
// right hold together screw
|
||||
translate([-11.5,-0.5,-43]) cylinder( h=60, r=1.65, $fn=50 );
|
||||
translate([-11.5,-0.5,-41]) cylinder( h=5, r=3.1, $fn=30 );
|
||||
|
||||
// upper cooling fan screw
|
||||
translate([5.5,-0.5,-40]) cylinder( h=15, r=1.65, $fn=50 );
|
||||
translate([5.5,-0.5,-42]) cylinder( h=3, r1=3, r2=1.65, $fn=50 );
|
||||
|
||||
// nuts
|
||||
translate([2.8,-4,-39]) cube([5.6,15,2.1]);
|
||||
translate([2.8,-2.2,-39]) cube([5.6,3.4,2.5]);
|
||||
translate([3.8,-2.2,-39]) cube([3.4,3.4,2.9]);
|
||||
translate([2.8,5.4,-38.4]) rotate([45,0,0]) cube([5.6,10,2]);
|
||||
|
||||
// lower cooling fan screw
|
||||
translate([-37.75,-38.5,-42]) cylinder( h=20, r=1.6, $fn=30 );
|
||||
translate([-37.75,-38.5,-39.4]) cylinder( h=4, r=3.1, $fn=6 );
|
||||
translate([-37.75,-38.5,-37.5]) cylinder( h=3, r1=3.1, r2=4.0, $fn=6 );
|
||||
|
||||
// nozzle screw
|
||||
translate([14.5,-40.5,-42]) cylinder( h=10, r=1.4, $fn=30 );
|
||||
translate([14.5,-40.5,-41]) cylinder( h=3, r1=2.1, r2=1.4, $fn=30 );
|
||||
|
||||
// fan and motor cables
|
||||
translate([21.5,-5.9,-41]) cube([3,5,25]);
|
||||
translate([20.5,-5.9,-41]) cube([4,5,25]);
|
||||
translate([13.2,-49.5,-33]) rotate([0,0,20]) cube([6,10,25]);
|
||||
|
||||
translate([18.5,-5.5,-22]) rotate([0,180,0]) m3head();
|
||||
translate([47,-2,-19]) rotate([0,180,0]) m3head();
|
||||
|
||||
|
||||
//version
|
||||
translate([-3,-36,-38]) rotate([90,0,0]) linear_extrude(height = 0.6)
|
||||
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
|
||||
|
||||
|
||||
translate([11.5,-0.5,-21]) cylinder( h=5, r=2.0, $fn=50 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extruder_cover();
|
||||
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Extruder idler plug
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module plug()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
// Base shape
|
||||
translate([-17,43,-18.5]) rotate([90,0,90]) cylinder( h=10, r=2.8, $fn=30 );
|
||||
translate([-17,43,-21.3]) cube([10,4+3.5,5.6]);
|
||||
translate([-17,43+3,-21.3]) cube([10.6,4.5,5.6]);
|
||||
}
|
||||
|
||||
// Motor screw slot
|
||||
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.5, $fn=30 );
|
||||
translate([-11.5-1.5,42.5-5,-25]) cube([3,5,10]);
|
||||
|
||||
// Pretty corner
|
||||
translate([-18,47,-32]) rotate([0,0,30]) cube([15,10,30]);
|
||||
}
|
||||
}
|
||||
|
||||
rotate([0,0,0])
|
||||
{
|
||||
plug();
|
||||
}
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Extruder idler
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module part()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
// base shape
|
||||
translate([-11.5,42.5,-31.5]) cylinder( h=25, r=5, $fn=50 );
|
||||
translate([-17,12,-31.5]) cube([8,34,25.0]);
|
||||
|
||||
// pulley holders
|
||||
translate([-4,27,-22.75]) cylinder(h=1, r1=4, r2=3, $fn=50);
|
||||
translate([-4,27,-27]) cylinder(h=4.25, r=4, $fn=50);
|
||||
translate([-14,22,-26.75]) cube([10.5,10,4]);
|
||||
translate([-16.5,22,-6.5]) cube([13,10,3]);
|
||||
translate([-4,27,-6.5]) cylinder(h=3, r=4, $fn=50);
|
||||
translate([-4,27,-7.25]) cylinder(h=0.75, r1=3, r2=4, $fn=50);
|
||||
}
|
||||
|
||||
// motor rim cut
|
||||
translate([7,27,-32.75]) cylinder( h=6, r=18, $fn=80 );
|
||||
|
||||
// axis
|
||||
translate([-4,27,-32]) cylinder( h=40, r=1.45, $fn=50 );
|
||||
|
||||
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.65, $fn=50 );
|
||||
translate([-18,44,-32]) rotate([0,0,30]) cube([15,10,30]);
|
||||
translate([-18,47,-32]) cube([15,10,30]);
|
||||
translate([-16,0.5,-32]) rotate([0,0,30]) cube([15,10,30]);
|
||||
translate([-18,3,-33]) cube([15,10,30]);
|
||||
|
||||
// idler nuts
|
||||
translate([-15,15.7,-39.4]) cube([2.1,5.6,16]);
|
||||
translate([-15,15.7,-14.6]) cube([2.1,5.6,16]);
|
||||
// better printing
|
||||
translate([-14.7,15.6,-28.2]) cube([2.1,5.8,3.4]);
|
||||
translate([-14.4,16.8,-28.2]) cube([2.1,3.4,3.4]);
|
||||
translate([-14.7,15.6,-13.2]) cube([2.1,5.8,3.4]);
|
||||
translate([-14.4,16.8,-13.2]) cube([2.1,3.4,3.4]);
|
||||
|
||||
// idler screws
|
||||
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=50 );
|
||||
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=50 );
|
||||
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=50 );
|
||||
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=50 );
|
||||
|
||||
translate([-12,18.5,-26.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=50 );
|
||||
translate([-12,18.5,-11.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=50 );
|
||||
|
||||
translate([-5.3,16.2,-33]) rotate([0,0,30]) cube([5,5,40]);
|
||||
translate([-7.8,33.5,-33]) rotate([0,0,-30]) cube([5,5,40]);
|
||||
|
||||
translate([-18,29,-17.6]) rotate([90,0,0]) rotate([0,90,0]) cylinder( h=10, r1=9, r2=6, $fn=6 );
|
||||
|
||||
// nice edges
|
||||
translate([-26,10,-2]) rotate([0,45,0]) cube([10,40,10]);
|
||||
translate([-26,10,-35.5]) rotate([0,45,0]) cube([10,40,10]);
|
||||
translate([-10,2,-35]) cube([20,20,50]);
|
||||
|
||||
//selective infill
|
||||
translate([-11,24,-5]) cube([5,6,0.2]);
|
||||
translate([-11,24,-26]) cube([5,6,0.2]);
|
||||
|
||||
// filament sensor cleaning window
|
||||
translate([-20,43,-18.5]) rotate([90,0,90]) cylinder( h=15, r=3, $fn=30 );
|
||||
translate([-20,43,-21.5]) cube([21,10,6]);
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
// side cut
|
||||
translate([-17,22,-8]) cube([4,17,4.5]);
|
||||
translate([-9.5,33,-9]) rotate([0,0,45]) cube([10,10,6]);
|
||||
|
||||
// side cut edges
|
||||
translate([-26,10,1]) rotate([0,45,0]) cube([10,40,10]);
|
||||
translate([-22.5,14,-10]) rotate([0,0,45]) cube([10,10,10]);
|
||||
translate([-22.5,33,-10]) rotate([0,0,45]) cube([10,10,10]);
|
||||
}
|
||||
|
||||
translate([-11.5,28,-8]) rotate([0,0,45]) cube([3,6,4.5]);
|
||||
|
||||
}
|
||||
|
||||
rotate([0,-90,0]) part();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Filament sensor cover
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module part()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
// base shape
|
||||
translate([-6,50,-30.5]) cube([24,3,36]);
|
||||
translate([0,60,-17]) rotate([90,0,0]) cylinder(r=4.2,h = 10, $fn=30);
|
||||
translate([0,61.5,-17]) rotate([90,0,0]) cylinder(r1=3, r2=4.2, h=1.5, $fn=30);
|
||||
}
|
||||
|
||||
// mounting screws
|
||||
translate([12,60,-12]) rotate([90,0,0]) cylinder(r=1.6,h = 20, $fn=30);
|
||||
translate([-1,60,-24.5]) rotate([90,0,0]) cylinder(r=1.6,h = 20, $fn=30);
|
||||
|
||||
translate([12,54.5,-12]) rotate([90,0,0]) cylinder(r=3.1,h = 3, $fn=30);
|
||||
translate([-1,54.5,-24.5]) rotate([90,0,0]) cylinder(r=3.1,h = 3, $fn=30);
|
||||
|
||||
// filament guide
|
||||
translate([0,59.8,-17]) rotate([90,0,0]) cylinder(r=2.2,h = 9.8, $fn=30);
|
||||
translate([0,61,-17]) rotate([90,0,0]) cylinder(r=1,h = 20, $fn=30);
|
||||
translate([0,62.5,-17]) rotate([90,0,0]) cylinder(r2=1.2, r1=3,h = 3, $fn=30);
|
||||
translate([0,53.9,-17]) rotate([90,0,0]) cylinder(r1=2.2, r2=3,h = 4, $fn=30);
|
||||
|
||||
|
||||
// nice edges
|
||||
translate([19,50,-40]) rotate([0,0,45]) cube([10,10,50]);
|
||||
translate([-9,49,-38]) rotate([0,0,45]) cube([6,5,50]);
|
||||
translate([-8,56.5,-39]) rotate([45,0,0]) cube([50,10,10]);
|
||||
translate([-8,56.5,-1]) rotate([45,0,0]) cube([50,10,10]);
|
||||
|
||||
|
||||
translate([7,50.4,0]) rotate([90,180,0]) linear_extrude(height = 0.6)
|
||||
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rotate([90,0,0]) part();
|
||||
|
||||
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Heatbed cover
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
|
||||
module cover()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
// base block
|
||||
translate([-18,0,0]) cube([36,32,8.6]);
|
||||
|
||||
// inner cut
|
||||
translate([-15,-0.5,-3]) cube([30,16.5,9]);
|
||||
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $fn=60);
|
||||
translate([-15,15,-6]) cube([30,19,9]);
|
||||
|
||||
// inner edges
|
||||
translate([-4,4.5,0]) rotate([0,0,45]) cube([15,15,6]);
|
||||
translate([4.0,4.51,0]) rotate([0,0,45]) cube([15,15,6]);
|
||||
|
||||
// outer edges
|
||||
translate([-18.0,25,-1]) rotate([0,0,45]) cube([11,11,10]);
|
||||
translate([18,25,-1]) rotate([0,0,45]) cube([11,11,10]);
|
||||
|
||||
// screw holes for clip
|
||||
translate([-10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
|
||||
|
||||
// clip nuts entry
|
||||
translate([-10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
translate([10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
|
||||
// clip nuts with print supports
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
|
||||
translate( [ -10 , 25 , 5.65 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
translate( [ 10 , 25 , 5.65 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
translate([-8.3,0,0.25]) cube([16.6,40,5.7]);
|
||||
translate([-16.7,0,0.25]) cube([5,40,5.7]);
|
||||
translate([11.7,0,0.25]) cube([5,40,5.7]);
|
||||
translate([-20,13.3,0.25]) cube([70,10,6]);
|
||||
translate([-20,26.7,0.25]) cube([70,10,6]);
|
||||
|
||||
}
|
||||
// pcb nut
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
translate( [ 0 , 7.5 , 5.5 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
translate([-11.7,0,0.8]) cube([10,40,5.5]);
|
||||
translate([1.7,0,.8]) cube([10,40,5.5]);
|
||||
translate([-5,-4.2,1.1]) cube([10,10,5.5]);
|
||||
translate([-5,9.2,1.1]) cube([10,10,5.5]);
|
||||
}
|
||||
|
||||
|
||||
// heatbed screw
|
||||
translate([0,7.5,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
translate([0,7.5,3]) cylinder(h = 6, r=1.7, $fn=50);
|
||||
|
||||
// LED window
|
||||
translate([-2.5,-1,-4]) cube([5,3.5,10]);
|
||||
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
|
||||
// edges
|
||||
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
|
||||
translate([-23,-1,8.5]) rotate([0,45,0]) cube([5,45,6]);
|
||||
translate([15.8,-1,8.7]) rotate([0,45,0]) cube([6,45,5]);
|
||||
translate([30,12,8.7]) rotate([0,45,45]) cube([6,45,5]);
|
||||
translate([-40.6,12,9.7]) rotate([0,45,-45]) cube([6,45,5]);
|
||||
}
|
||||
|
||||
// heatbed pcb support
|
||||
translate([-17,0,4]) cube([3,20,2]);
|
||||
translate([14,0,4]) cube([3,20,2]);
|
||||
translate([-17,0,4]) cube([14,2,2]);
|
||||
translate([3,0,4]) cube([14,2,2]);
|
||||
|
||||
|
||||
// heatbed screw body
|
||||
difference()
|
||||
{
|
||||
translate([0,7.5,4]) cylinder(h = 2.1, r=5, $fn=6);
|
||||
translate([0,7.5,6.05]) cylinder(h = 4, r=3.15, $fn=6);
|
||||
translate([0,7.5,3]) cylinder(h = 7, r=1.7, $fn=50);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module clip()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
// base body
|
||||
translate([-15,15.5,-3]) cube([30,16.5,6]);
|
||||
|
||||
// cables cut
|
||||
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
|
||||
|
||||
// screws
|
||||
translate([-10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([-10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
|
||||
translate([10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
|
||||
|
||||
// print support for nut heads
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||
translate([10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||
}
|
||||
translate([-30,13.3,-0.8]) cube([60,10,2]);
|
||||
translate([-30,26.7,-0.8]) cube([60,10,2]);
|
||||
translate([-8.3,20,-1.1]) cube([16.6,10,2]);
|
||||
translate([-21.7,20,-1.1]) cube([10,10,2]);
|
||||
translate([11.7,20,-1.1]) cube([10,10,2]);
|
||||
}
|
||||
|
||||
// thermistor cable entry
|
||||
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3.3, $fn=60);
|
||||
|
||||
|
||||
// edges
|
||||
translate([-18.0,25,-5]) rotate([0,0,45]) cube([11,11,15]);
|
||||
translate([18,25,-5]) rotate([0,0,45]) cube([11,11,15]);
|
||||
|
||||
// inner angled cut
|
||||
difference()
|
||||
{
|
||||
translate([-15,15,0]) cube([30,11,4]);
|
||||
translate([-14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
|
||||
translate([14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
|
||||
|
||||
translate([-13,11,-1]) rotate([-45,0,45]) cube([20,20,6]);
|
||||
translate([13,11,-1]) rotate([0,45,45]) cube([20,20,6]);
|
||||
translate([-10,16,-10]) rotate([30,0,0]) cube([20,20,6]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// cable rims
|
||||
difference()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-0,32,3]) rotate([90,0,0]) cylinder(h = 7, r=4.5, $fn=60);
|
||||
translate([-0,34,3]) rotate([90,0,0]) cylinder(h = 17, r=3, $fn=60);
|
||||
}
|
||||
translate([-15,17,3]) cube([30,20,6]);
|
||||
translate([-15,26,-5]) cube([30,2,16]);
|
||||
translate([-15,29,-5]) cube([30,2,16]);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
translate([0,0,8.6]) rotate([0,180,0])
|
||||
{
|
||||
translate([0,20,5.6]) rotate([0,180,0]) clip();
|
||||
cover();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Heatbed cover
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
|
||||
module cover()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
// base block
|
||||
translate([-18,0,0]) cube([36,32,8.6]);
|
||||
|
||||
// inner cut
|
||||
translate([-15,-0.5,-3]) cube([30,16.5,9]);
|
||||
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
|
||||
translate([-15,15,-6]) cube([30,19,9]);
|
||||
|
||||
// inner edges
|
||||
translate([-4,4.5,0]) rotate([0,0,45]) cube([15,15,6]);
|
||||
translate([4.0,4.51,0]) rotate([0,0,45]) cube([15,15,6]);
|
||||
|
||||
// outer edges
|
||||
translate([-18.0,25,-1]) rotate([0,0,45]) cube([11,11,10]);
|
||||
translate([18,25,-1]) rotate([0,0,45]) cube([11,11,10]);
|
||||
|
||||
// screw holes for clip
|
||||
translate([-10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([10,25,0]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
|
||||
|
||||
// clip nuts entry
|
||||
translate([-10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
translate([10,25,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
|
||||
// clip nuts with print supports
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
|
||||
translate( [ -10 , 25 , 5.65 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
translate( [ 10 , 25 , 5.65 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
translate([-8.3,0,0.25]) cube([16.6,40,5.7]);
|
||||
translate([-16.7,0,0.25]) cube([5,40,5.7]);
|
||||
translate([11.7,0,0.25]) cube([5,40,5.7]);
|
||||
translate([-20,13.3,0.25]) cube([70,10,6]);
|
||||
translate([-20,26.7,0.25]) cube([70,10,6]);
|
||||
|
||||
}
|
||||
// pcb nut
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
translate( [ 0 , 7.5 , 5.5 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
translate([-11.7,0,0.8]) cube([10,40,5.5]);
|
||||
translate([1.7,0,.8]) cube([10,40,5.5]);
|
||||
translate([-5,-4.2,1.1]) cube([10,10,5.5]);
|
||||
translate([-5,9.2,1.1]) cube([10,10,5.5]);
|
||||
}
|
||||
|
||||
|
||||
// heatbed screw
|
||||
translate([0,7.5,8]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
translate([0,7.5,3]) cylinder(h = 6, r=1.7, $fn=50);
|
||||
|
||||
// LED window
|
||||
translate([-2.5,-1,-4]) cube([5,3.5,10]);
|
||||
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
|
||||
// edges
|
||||
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
|
||||
translate([-23,-1,8.5]) rotate([0,45,0]) cube([5,45,6]);
|
||||
translate([15.8,-1,8.7]) rotate([0,45,0]) cube([6,45,5]);
|
||||
translate([30,12,8.7]) rotate([0,45,45]) cube([6,45,5]);
|
||||
translate([-40.6,12,9.7]) rotate([0,45,-45]) cube([6,45,5]);
|
||||
}
|
||||
|
||||
// heatbed pcb support
|
||||
translate([-17,0,4]) cube([3,20,2]);
|
||||
translate([14,0,4]) cube([3,20,2]);
|
||||
translate([-17,0,4]) cube([14,2,2]);
|
||||
translate([3,0,4]) cube([14,2,2]);
|
||||
|
||||
|
||||
// heatbed screw body
|
||||
difference()
|
||||
{
|
||||
translate([0,7.5,4]) cylinder(h = 2.1, r=5, $fn=6);
|
||||
translate([0,7.5,6.05]) cylinder(h = 4, r=3.15, $fn=6);
|
||||
translate([0,7.5,3]) cylinder(h = 7, r=1.7, $fn=50);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module clip()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
// base body
|
||||
translate([-15,15.5,-3]) cube([30,16.5,6]);
|
||||
|
||||
// cables cut
|
||||
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
|
||||
|
||||
// screws
|
||||
translate([-10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([10,25,-3]) cylinder(h = 10, r=1.7, $fn=50);
|
||||
translate([-10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
|
||||
translate([10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
|
||||
|
||||
// print support for nut heads
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||
translate([10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||
}
|
||||
translate([-30,13.3,-0.8]) cube([60,10,2]);
|
||||
translate([-30,26.7,-0.8]) cube([60,10,2]);
|
||||
translate([-8.3,20,-1.1]) cube([16.6,10,2]);
|
||||
translate([-21.7,20,-1.1]) cube([10,10,2]);
|
||||
translate([11.7,20,-1.1]) cube([10,10,2]);
|
||||
}
|
||||
|
||||
// thermistor cable entry
|
||||
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3.3, $fn=60);
|
||||
|
||||
|
||||
// edges
|
||||
translate([-18.0,25,-5]) rotate([0,0,45]) cube([11,11,15]);
|
||||
translate([18,25,-5]) rotate([0,0,45]) cube([11,11,15]);
|
||||
|
||||
// inner angled cut
|
||||
difference()
|
||||
{
|
||||
translate([-15,15,0]) cube([30,11,4]);
|
||||
translate([-14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
|
||||
translate([14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]);
|
||||
|
||||
translate([-13,11,-1]) rotate([-45,0,45]) cube([20,20,6]);
|
||||
translate([13,11,-1]) rotate([0,45,45]) cube([20,20,6]);
|
||||
translate([-10,16,-10]) rotate([30,0,0]) cube([20,20,6]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// cable rims
|
||||
difference()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-0,32,3]) rotate([90,0,0]) cylinder(h = 7, r=4.5, $fn=60);
|
||||
translate([-0,34,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
|
||||
}
|
||||
translate([-15,17,3]) cube([30,20,6]);
|
||||
translate([-15,26,-5]) cube([30,2,16]);
|
||||
translate([-15,29,-5]) cube([30,2,16]);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
translate([0,0,8.6]) rotate([0,180,0])
|
||||
{
|
||||
translate([0,20,5.6]) rotate([0,180,0]) clip();
|
||||
cover();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,244 +0,0 @@
|
|||
// PRUSA iteration4
|
||||
// Heatbed cover MK2.5
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module cover()
|
||||
{
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
|
||||
|
||||
|
||||
// base block
|
||||
translate([-18,0,0]) cube([36,36,9]);
|
||||
|
||||
// inner cut
|
||||
translate([-15,-0.5,-3]) cube([30,16,9]);
|
||||
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $fn=60);
|
||||
translate([-15,15,-6]) cube([30,22,9]);
|
||||
|
||||
// inner edges
|
||||
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
|
||||
translate([2.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
|
||||
translate([-10.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
|
||||
|
||||
translate([6.96,19.45,0]) rotate([0,0,45]) cube([5,10,6]);
|
||||
translate([-6.96,19.45,0]) rotate([0,0,45]) cube([10,5,6]);
|
||||
|
||||
translate([3.96,18.45,0]) rotate([0,0,20]) cube([5,6,6]);
|
||||
translate([-3.96,18.45,0]) rotate([0,0,70]) cube([6,5,6]);
|
||||
|
||||
|
||||
|
||||
translate([-0,20,0.5]) rotate([90,0,0]) cube([11,11,11], center = true);
|
||||
|
||||
translate([2,14,-1]) rotate([0,0,10]) cube([8,13,6]);
|
||||
translate([-9.88,15.21,-1]) rotate([0,0,-10]) cube([8,13,6]);
|
||||
|
||||
// outer edges
|
||||
translate([-18.0,32,-1]) rotate([0,0,25]) cube([11,11,11]);
|
||||
translate([18,32,-1]) rotate([0,0,65]) cube([11,11,11]);
|
||||
|
||||
// screw holes for clip
|
||||
translate([-11,30,0]) cylinder(h = 10, r=1.6, $fn=50);
|
||||
translate([11,30,0]) cylinder(h = 10, r=1.6, $fn=50);
|
||||
|
||||
|
||||
// clip nuts entry
|
||||
translate([-11,30,8.2]) rotate([0,0,0]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
translate([11,30,8.2]) rotate([0,0,0]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
|
||||
// heatbed terminal screw pockets
|
||||
|
||||
translate([8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
|
||||
translate([-8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
|
||||
|
||||
|
||||
// clip nuts with print supports
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
|
||||
translate( [ 11 , 30 , 6 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
translate( [ -11 , 30 , 6 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
}
|
||||
translate([-9.4,4,0.6]) cube([18.8,40,5.7]);
|
||||
translate([-17.6,4,0.6]) cube([5,40,5.7]);
|
||||
translate([12.6,4,0.6]) cube([5,40,5.7]);
|
||||
translate([-22,18.4,0.6]) cube([70,10,6]);
|
||||
translate([-20,31.6,0.6]) cube([70,10,6]);
|
||||
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
|
||||
translate( [ 0 , 7.5 , 5.4 ] ){
|
||||
cylinder( h = 4, r = 3.15, $fn=6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
translate([-11.6,0,1]) cube([10,40,5.7]);
|
||||
translate([1.6,0,1]) cube([10,40,5.7]);
|
||||
translate([-5,-4.1,1]) cube([10,10,6]);
|
||||
translate([-5,9.1,1]) cube([10,10,6]);
|
||||
}
|
||||
|
||||
// heatbed screw nut entry
|
||||
|
||||
translate([0,7.5,8.2]) rotate([0,0,0]) cylinder(h = 4, r1=3.15, r2=6, $fn=6);
|
||||
|
||||
|
||||
// LED window
|
||||
translate([-2.5,-1,-4]) cube([5,3.5,10]);
|
||||
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||
|
||||
// edges
|
||||
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
|
||||
translate([-23.3,-1,9.7]) rotate([0,45,0]) cube([6,45,6]);
|
||||
translate([14.8,-1,9.7]) rotate([0,45,0]) cube([6,45,5]);
|
||||
|
||||
}
|
||||
|
||||
// heatbed pcb support
|
||||
translate([-17,0,4]) cube([3,20,2]);
|
||||
translate([14,0,4]) cube([3,20,2]);
|
||||
translate([-17,0,4]) cube([14,2,2]);
|
||||
translate([3,0,4]) cube([14,2,2]);
|
||||
|
||||
|
||||
// heatbed screw body
|
||||
difference()
|
||||
{
|
||||
|
||||
|
||||
translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 3.9, r=2.75, $fn=50);
|
||||
translate([0,7.5,6.5]) cylinder(h = 4, r=2.76, $fn=50);
|
||||
translate([0,7.5,3]) cylinder(h = 4, r=1.6, $fn=50);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module clip()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
// base body
|
||||
translate([-15,15.5,-3]) cube([30,20.5,6]);
|
||||
|
||||
// inner angled cut
|
||||
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||
|
||||
translate([3.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
|
||||
translate([-10.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
|
||||
|
||||
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
|
||||
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
|
||||
|
||||
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
|
||||
|
||||
translate([-7,15,0]) rotate([0,0,0]) cube([14,11,6]);
|
||||
|
||||
translate([3,14,1]) rotate([0,0,10]) cube([7,13,6]);
|
||||
translate([-9.88,15.21,1]) rotate([0,0,-10]) cube([7,13,6]);
|
||||
|
||||
// cables cut
|
||||
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60);
|
||||
|
||||
// screws
|
||||
translate([-11,30,-3]) cylinder(h = 10, r=1.6, $fn=50);
|
||||
translate([11,30,-3]) cylinder(h = 10, r=1.6, $fn=50);
|
||||
translate([-11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
|
||||
translate([11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
|
||||
|
||||
// print support for nut heads
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||
translate([11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||
}
|
||||
translate([-30,18.4,-0.8]) cube([60,10,2]);
|
||||
translate([-30,31.6,-0.8]) cube([60,10,2]);
|
||||
translate([-9.4,25,-1.1]) cube([18.8,10,2]);
|
||||
translate([-22.6,25,-1.1]) cube([10,10,2]);
|
||||
translate([12.6,25,-1.1]) cube([10,10,2]);
|
||||
}
|
||||
|
||||
// thermistor cable entry
|
||||
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3, $fn=60);
|
||||
|
||||
|
||||
// edges
|
||||
|
||||
translate([-18.0,32,-5]) rotate([0,0,25]) cube([11,11,15]);
|
||||
translate([18,32,-5]) rotate([0,0,65]) cube([11,11,15]);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// cable rims
|
||||
difference()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 10, r=4.5, $fn=60);
|
||||
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3, $fn=60);
|
||||
|
||||
}
|
||||
translate([-15,18,3]) cube([30,20,6]);
|
||||
translate([-15,27,-5]) cube([30,2,16]);
|
||||
translate([-15,30,-5]) cube([30,2,16]);
|
||||
translate([-15,33,-5]) cube([30,2,16]);
|
||||
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
|
||||
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
|
||||
translate([-4,20,0]) rotate([0,0,0]) cube([8,11,6]);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
translate([0,40,3])
|
||||
clip();
|
||||
|
||||
translate([0,40,9]) rotate([180,0,0])
|
||||
cover();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue