Compare commits

...

74 Commits
MK3S ... MK2.5

Author SHA1 Message Date
Alexandr Kukan 36a16f20e9
Update README.md 2021-01-14 15:58:47 +01:00
akukan a7184737ee
Updated with MMU2 part info 2018-10-23 14:28:30 +02:00
akukan ae00eba29b
X-carriage belt holder 2018-03-05 16:39:28 +01:00
akukan f177516793
X-carriage belt holder 2018-03-05 16:37:04 +01:00
akukan 2d20b07bfe
Delete x-carriage.scad 2018-03-05 16:36:35 +01:00
akukan 08d06a1120
X-carriage belt holder 2018-03-05 16:35:53 +01:00
akukan 1aa4d1fc54
Readme updated 2018-03-01 15:19:34 +01:00
akukan 72de42d0a1
Heatbed cable cover added 2018-02-22 14:20:37 +01:00
akukan 4355e47ebb
Heatbed cable cover added 2018-02-22 14:19:50 +01:00
akukan 85574cff11
Rambo-hinges added 2017-12-14 15:18:54 +01:00
akukan da78c264a0
Delete Rambo-Hinges.scad 2017-12-14 15:18:27 +01:00
akukan b31ab2ebf5
Rambo-hinges added 2017-12-14 15:18:07 +01:00
akukan 58274df9b1
Duplicity 2017-12-13 20:53:24 +01:00
akukan 83d8c04c30
Update README.md 2017-12-12 17:42:26 +01:00
akukan 1244cde3cf
Delete z-screw-cover.stl 2017-12-12 17:35:06 +01:00
akukan 3646b76875
Delete z-screw-cover.scad 2017-12-12 17:34:54 +01:00
akukan eebfc431c3
MK2.5 upgrade initial 2017-12-12 17:34:36 +01:00
akukan 09bb00c3c9
MK2.5 upgrade initial 2017-12-12 17:33:24 +01:00
akukan 91229ea048
Delete z-axis-top.stl 2017-12-12 17:32:27 +01:00
akukan 45b2b9bfa2
Delete z-axis-bottom.stl 2017-12-12 17:32:18 +01:00
akukan 26454b616d
Delete y-motor-holder.stl 2017-12-12 17:32:10 +01:00
akukan f0744da26d
Delete y-holder-rear.stl 2017-12-12 17:32:02 +01:00
akukan 2d6ba398a3
Delete y-holder-front.stl 2017-12-12 17:31:55 +01:00
akukan 763e494ba7
Delete y-belt-idler.stl 2017-12-12 17:31:44 +01:00
akukan cf10b529d3
Delete y-belt-holder.stl 2017-12-12 17:31:35 +01:00
akukan 6c14658cbe
Delete x-end-motor.stl 2017-12-12 17:31:28 +01:00
akukan 96833de6ff
Delete x-end-idler.stl 2017-12-12 17:31:20 +01:00
akukan b10faadde8
Delete x-carriage.stl 2017-12-12 17:30:49 +01:00
akukan 7d176ff315
Delete x-carriage-back.stl 2017-12-12 17:30:37 +01:00
akukan 3e71c92144
Delete nozzle-fan.stl 2017-12-12 17:30:06 +01:00
akukan 981f14cc28
Delete lcd-supports.stl 2017-12-12 17:29:58 +01:00
akukan 8b558effc0
Delete heatbed-cable-cover.stl 2017-12-12 17:29:51 +01:00
akukan ecdd5bacba
Delete filament-sensor-cover.stl 2017-12-12 17:29:41 +01:00
akukan 673ac37886
Delete extruder-idler.stl 2017-12-12 17:29:31 +01:00
akukan b0ec97e81f
Delete extruder-idler-plug.stl 2017-12-12 17:29:22 +01:00
akukan ebc86fd4c0
Delete extruder-cover.stl 2017-12-12 17:29:06 +01:00
akukan f4b2c2414d
Delete extruder-body.stl 2017-12-12 17:28:57 +01:00
akukan b430998fe7
Delete cable-holder.stl 2017-12-12 17:28:50 +01:00
akukan 2c63c80f68
Delete Spool-holder.stl 2017-12-12 17:28:43 +01:00
akukan 641824bf39
Delete LCD-cover-ORIGINAL-MK3.stl 2017-12-12 17:28:32 +01:00
akukan d2c6324edc
Delete Einsy-hinges.stl 2017-12-12 17:28:26 +01:00
akukan 092baa632b
Delete Einsy-doors.stl 2017-12-12 17:28:20 +01:00
akukan e347d0a493
Delete Einsy-base.stl 2017-12-12 17:28:13 +01:00
akukan afffd653d5
Delete z-axis-top.scad 2017-12-12 17:27:57 +01:00
akukan 60f02f58b2
Delete z-axis-bottom.scad 2017-12-12 17:27:50 +01:00
akukan bc9e842d3b
Delete y-motor-holder.scad 2017-12-12 17:27:42 +01:00
akukan 12b97e452f
Delete y-holder-rear.scad 2017-12-12 17:27:33 +01:00
akukan fdfd11dba6
Delete y-holder-front.scad 2017-12-12 17:27:25 +01:00
akukan e9bedc80ff
Delete y-belt-idler.scad 2017-12-12 17:27:17 +01:00
akukan d2c4981a3e
Delete y-belt-holder.scad 2017-12-12 17:27:07 +01:00
akukan 5d57b38125
Delete x-end.scad 2017-12-12 17:27:00 +01:00
akukan 1befafbefe
Delete x-end-motor.scad 2017-12-12 17:26:50 +01:00
akukan bdecc29e55
Delete x-end-idler.scad 2017-12-12 17:26:40 +01:00
akukan 061ce6f128
Delete x-carriage.scad 2017-12-12 17:26:32 +01:00
akukan 7663a972b2
Delete x-carriage-back.scad 2017-12-12 17:26:23 +01:00
akukan a958d9080b
Delete polyholes.scad 2017-12-12 17:26:15 +01:00
akukan d6e40a533d
Delete nozzle-fan.scad 2017-12-12 17:26:06 +01:00
akukan 61ee2dce96
Delete lcd-supports.scad 2017-12-12 17:25:57 +01:00
akukan 72898d229c
Delete heatbed-cable-cover.scad 2017-12-12 17:25:48 +01:00
akukan 039804df9d
Delete filament-sensor-cover.scad 2017-12-12 17:25:40 +01:00
akukan 51ecbfcaad
Delete extruder-idler.scad 2017-12-12 17:25:33 +01:00
akukan 88904f9aaa
Delete extruder-idler-plug.scad 2017-12-12 17:25:24 +01:00
akukan 304ef8600f
Delete extruder-cover.scad 2017-12-12 17:25:10 +01:00
akukan 22bedfffef
Delete extruder-body.scad 2017-12-12 17:24:59 +01:00
akukan a9c4005c03
Delete cable-holder.scad 2017-12-12 17:24:49 +01:00
akukan 0f9dc67c79
Delete bearing.scad 2017-12-12 17:24:40 +01:00
akukan c01a497b19
Delete LCD-cover-ORIGINAL-MK3.scad 2017-12-12 17:24:31 +01:00
akukan 55cd475da0
Delete Einsy-hinges.scad 2017-12-12 17:24:18 +01:00
akukan 2f87d280f1
Delete Einsy-doors.scad 2017-12-12 17:24:09 +01:00
akukan 7676015e60
Delete Einsy-base.scad 2017-12-12 17:23:59 +01:00
akukan 59b49ae991
Delete MK3v8b.dxf 2017-12-12 17:23:45 +01:00
akukan 60bb763684
Delete MK3-rear-plate.dxf 2017-12-12 17:23:35 +01:00
akukan d0c0657061
Delete MK3-front-plate.dxf 2017-12-12 17:23:27 +01:00
akukan 4fb6666bb3
Delete Extrusions.pdf 2017-12-12 17:23:18 +01:00
66 changed files with 135425 additions and 502091 deletions

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

View File

@ -1,402 +0,0 @@
// PRUSA iteration4
// Einsy base
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module CubicPattern(Xdim, Ydim)
{
for (x =[0:12:Xdim-10])
{
for (y =[0:12:Ydim-10])
{
translate([x,y,-0.2])cube([10,10,0.4]);
}
}
}
module BottomCubic()
{
difference()
{
translate([5,5,0]) CubicPattern(110,90);
translate([11,0,-1]) cube( [ 11, 40 , 4 ] );
translate([0,0,-1]) cube( [ 11, 28 , 4 ] );
translate([0,64,-1]) cube( [ 16, 28 , 4 ] );
translate([95,64,-1]) cube( [ 20, 28 , 4 ] );
translate([95,0,-1]) cube( [ 20, 28 , 4 ] );
translate([76,-10,-1]) cube( [ 20, 20 , 4 ] );
translate([52,76,-1]) cube( [ 12, 20 , 4 ] );
}
}
// main body
module main_body()
{
// side panel
cube( [ 118.5 , 92 , 2 ] );
// upper panel
cube( [ 1.5 , 92 , 35 ] );
// rear panel
translate( [ 0 , 90 , 0 ] ) cube( [ 105.5 , 2 , 35 ] );
// heatbed ziptie reinforcement
translate( [ 63 , 88.5 , 0.5 ] ) cube( [ 6.5 , 2 , 34.5 ] );
// upper panel frame reinforcement
translate( [ 0 , 0 , 1 ] ) cube( [ 5.5 , 7 , 34 ] );
// side panel reinforcement
translate( [ 0 , 0 , 1 ] ) cube( [ 9 , 92 , 3 ] );
translate( [ 98 , 0 , 0 ] ) cube( [ 9 , 92 , 4 ] );
//
translate([21,81,0]) cylinder( h = 4.5, r = 2.5, $fn=30);
translate([21+58,81,0]) cylinder( h = 4.5, r = 2.5, $fn=30);
difference()
{
// bottom side reinforcement
translate( [ 98 , 86 , 0 ] ) cube( [ 7.5 , 6 , 35 ] );
translate( [ 96 , 79 , 0 ] ) rotate([0,0,45]) cube( [ 7.5 , 6 , 36 ] );
}
translate( [ 0 , 85 , 0 ] ) cube( [ 5.5 , 7 , 35 ] );
// screw mounting block
translate( [ 54 , 84 , 0 ] ) cube( [ 9.5 , 7 , 35 ] );
// frame side panel
translate( [ 20 , 0 , 0 ] ) cube( [ 80 , 3 , 5 ] );
// Einsy mounting holes
translate( [ 102.5 , 14 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 102.5 , 75 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 14 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 75 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
// corners reinforcement
translate( [ 0 , 75 , 1 ] ) cube( [ 13 , 16 , 6 ] );
translate( [ 0 , 70.25 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 7.75 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 0 , 1 ] ) cube( [ 13 , 14 , 6 ] );
// frame mounting screw blocks
//upper
translate( [ 1 , 0 , 0 ] ) cube( [ 28 , 4 , 10 ] );
translate( [ 18.45 , 0 , 0 ] ) cube( [ 3 , 4 , 5.5] );
//lower
translate( [ 98 , 0 , 0 ] ) cube( [ 20.5 , 4 , 10 ] );
// heatbed filament holder body
translate( [ 81.6 , 90.35 , 24 ] ) rotate([0,90,0]) cylinder( h = 18, r = 5, $fn=6);
// door closing corner
translate( [ 102 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
// doors pin upper
translate( [ 2 , 85 , 31 ] ) cube( [ 6 , 7 , 4] );
translate( [ 4 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
// x-axis cables entry hole body
translate( [ 89 , 2 , 0 ] ) cylinder( h = 5, r = 6, $fn=6);
}
module ventilation_holes()
{
for ( i = [-5 : 8] ){
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+49.0,1.2]);
translate([46 + (i*5.5),10.5,-1]) cube([3.65,18,10]);
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,18,10]);
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,18,10]);
}
}
module cutouts(){
// side
translate( [ 12 , 19 , 1 ] ) cube( [ 85.5 , 51 , 3 ] );
// Einsy M3 screws
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 7.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 102.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 102.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 7.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 2 , 0 , 0 ] )ventilation_holes();
// frame mounting screws
//upper
translate( [ 18.5, -2 , 15.6 ] ) rotate([0,45,0]) cube( [ 15 , 10 , 10] );
translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
translate( [ 16.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 15.15 , -2 , 5 ] ) cube( [ 2.7 , 15 , 10] );
translate( [ 15.1 , -2 , 7 ] ) rotate([0,5,0]) cube( [ 2.8 , 15 , 10] );
translate( [ 15.1 , -2 , 7 ] ) rotate([0,-5,0]) cube( [ 2.8 , 15 , 10] );
//lower
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 118.5 , -2 , 6 ] ) rotate([0,-45,0]) cube( [ 5 , 15 , 15] );
translate( [ 94.5 , -2 , 8.5 ] ) rotate([0,45,0]) cube( [ 5 , 8 , 15] );
translate( [ 0 , -2 , -5 ] ) cube( [ 120 , 15 , 5] );
translate( [ 109.15 , -2 , 5 ] ) cube( [ 2.7 , 15 , 10] );
translate( [ 109.3 , -2 , 6.5 ] ) rotate([0,5,0]) cube( [ 2.5 , 15 , 10] );
translate( [ 109.2 , -2 , 6.5 ] ) rotate([0,-5,0]) cube( [ 2.5 , 15 , 10] );
// USB connector hole
translate( [ -1 , 41.5 , 11 ] ) cube( [ 5.5 , 13 , 11 ] );
// reset button
translate( [ -2 , 65 , 14 ] ) rotate([0,90,0]) cylinder( h = 10, r = 2, $fn=30);
// door closing screw
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 43, r = 1.9, $fn=30);
// heatbed cable opening hole
difference()
{
translate( [ 75.5 , 94 , 24 ] ) rotate([90,90,0]) cylinder( h = 5, r = 7, $fn=6);
translate( [ 71 , 80 , 13.5 ] ) cube( [ 8 , 15 , 5] );
}
translate( [ 73 , 80 , 20.5 ] ) cube( [ 5 , 15 , 15] );
// heatbed cable ziptie holes
translate( [ 64 , 87 , 30 ] ) cube( [ 4 , 10 , 2 ] );
translate( [ 64 , 87 , 16 ] ) cube( [ 4 , 10 , 2 ] );
// heatbed filament holder hole
translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 17, r = 1.8, $fn=30);
translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 2, r = 2, r2=1.8, $fn=30);
translate( [ 70 , 92 , 15 ] ) cube( [ 30 , 10 , 15] );
// nut traps HEX
translate( [ 7.5 , 14 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 102.5 , 14 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 102.5 , 75 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 7.5 , 75 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=30);
// door closing corners
translate( [ 8 , 80 , 28 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 10] );
translate( [ 106 , 81 , 4 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 40] );
// inner edges cutout
translate( [ 54 , 79.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
translate( [ 70 , 82.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
translate( [ 6 , 80 , 7 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 24] );
translate( [ 5.5 , 4 , 7 ] ) rotate([0,0,45]) cube( [ 3 , 5 , 29] );
// x axis cable hole
translate( [ 89 , 2 , -1 ] ) cylinder( h = 10, r = 4, $fn=6);
translate( [ 80 , -5 , -1 ] ) cube( [ 15, 5, 10] );
// large corner coutout
translate( [ -27 , 80 , -54 ] ) rotate([50,0,45]) cube( [ 50, 50, 50] );
translate( [ 137.5 , 60 , -10 ] ) rotate([0,0,45]) cube( [ 50, 50, 50] );
}
// extruder cable holder
module ext_cable_holder()
{
difference()
{
// body
union(){
rotate([90,0,0]) translate([-8, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 8, r2=11, $fn=6);
rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 11, r2=11, $fn=6);
rotate([90,0,0]) translate( [ 1.5 , 26 , -28 ] ) rotate([0,90,0]) cylinder( h = 10, r1 = 13, r2=7.5, $fn=6);
translate( [-4, 28, 16.5 ] ) rotate([0,45,0]) cube( [ 6 , 5.5 , 7 ] );
}
// upper cut
translate( [ -15 , 13 , 15] ) cube( [ 15 , 15 , 25 ] );
// lower cut
translate( [ 1.5 , 26 , 10] ) cube( [ 15 , 15 , 26 ] );
// ziptie holder
difference(){
rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 3.5, r = 8.5, $fn=30);
rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5.5, r = 6.2, $fn=30);
}
}
}
module rambo_cover()
{
//ext_cable_holder();
difference(){
main_body();
cutouts();
// main hole
translate( [ -10 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 24, r = 6.8, $fn=30);
// cable opening slot
translate( [ -15 , 25 , 30 ] ) cube( [ 30 , 6 , 10 ] );
}
}
difference()
{
union()
{
rambo_cover();
// inner extruder cable holder
difference()
{
rotate([90,0,0]) translate( [ 1.5 , 26 , -28 ] ) rotate([0,90,0]) cylinder( h = 10, r1 = 13, r2=8, $fn=6);
translate( [ 0 , 13 , 14] ) cube( [ 15 , 15 , 25 ] );
translate( [ 0 , 25 , 35] ) cube( [ 15 , 15 , 10 ] );
translate( [ -5 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 20, r1 = 7, r2=6, $fn=30);
translate( [ -15 , 26 , 30 ] ) cube( [ 30 , 5 , 6 ] );
}
difference()
{
union()
{
translate( [ 4.5 , 31.2 , 26 ] ) rotate([0,90,0]) cylinder( h = 7, r1 = 4.2, r2=4,$fn=6);
translate( [ 4.5 , 31 , 22.5] ) cube( [ 7 , 3 , 7 ] );
translate( [ 4.5 , 31.1 , 20] ) cube( [ 7 , 2 , 7 ] );
}
translate( [ -5 , 31.2 , 26 ] ) rotate([0,90,0]) cylinder( h = 20, r = 1.75, $fn=30);
translate( [ 4, 31.2 , 26 ] ) rotate([0,90,0]) cylinder( h =3, r1 = 1.9, r2=1.75, $fn=30);
translate( [ 2.8 , 26 , 22.5] ) rotate([0,0,-20]) cube( [ 9 , 3 , 7 ] );
}
difference()
{
union()
{
rotate([90,0,0]) translate([-9, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 10, r2=13, $fn=6);
rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5, r=13, $fn=6);
}
translate( [ -10 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 24, r = 6.8, $fn=30);
translate( [ -15 , 26 , 30 ] ) cube( [ 30 , 5 , 10 ] );
translate( [ -15 , 15, 30 ] ) cube( [ 15 , 30 , 10 ] );
// ziptie holder
difference()
{
rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 3.5, r = 10, $fn=30);
rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5.5, r = 7.7, $fn=30);
}
}
difference()
{
translate( [ -5 , 22, 15.6 ] ) rotate([0,45,0]) cube( [ 10 , 12 , 10 ] );
translate( [ 0 , 21, 8 ] ) cube( [ 10 , 14 , 15 ] );
translate( [ -5 , 21, 16 ] ) cube( [ 10 , 14 , 15 ] );
}
}
translate( [ -16.2 , 18, 34 ] ) rotate([0,45,0]) cube( [ 10 , 20 , 10 ] );
translate( [ -16.2 , 28, 31 ] ) rotate([45,0,0]) cube( [ 40 , 10 , 10 ] );
//BottomCubic();
translate( [ 14.5, 10, -2 ] ) cube( [ 4 , 24 , 10 ] );
translate( [ 16.5, 10, -2 ] ) cylinder( h = 20, r = 2, $fn=30);
translate( [ 16.5, 34, -2 ] ) cylinder( h = 20, r = 2, $fn=30);
// screw body edge
translate( [ 65 ,74.2 , 2] ) rotate([0,0,45]) cube( [ 10 , 10 , 50 ] );
// lightening slots
translate( [ 100 ,21 , 2] ) cube( [ 5 , 48 , 5 ] );
translate( [ 3 ,21 , 2] ) cube( [ 4.5, 48 , 5 ] );
// bottom holes print supports
translate( [ 7.5 , 14 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 102.5 , 14 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 102.5 , 75 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 7.5 , 75 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 58.5 , 88 ,0] ){
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
translate([21,81,-5]) cylinder( h = 24, r = 0.8, $fn=30);
translate([21+58,81,-5]) cylinder( h = 24, r = 0.8, $fn=30);
translate([115,68,1.5]) rotate([0,0,90]) linear_extrude(height = 0.8)
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
}

View File

@ -1,129 +0,0 @@
// PRUSA iteration4
// Einsy doors
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
// side panels
cube([105.5,87.5,1.5]);
cube([105.5,2,16]);
cube([2,87.5,16]);
// corner reinforcement
translate([98,1,0]) cube([7.5,5,16]);
translate([0.5,0.5,0]) cube([5,6.5,16]);
translate([1,0,0]) cube([10,87.5,6]);
translate([99.5,0,0] ) cube([6,87.5,7]);
translate([10,0,0]) cube([6,5,6]);
// screw thread body
translate([54,2,0]) cube([9.5,6,16]);
// rounded side
translate([0,87.5,4.5]) rotate([0,90,0]) cylinder( h=105.5, r=4.5, $fn=30);
// upper hinge reinforcement
translate([0.5,69,-9]) rotate([20,0,0]) cube([26,20,10]);
// door closing
translate([4,3.5,12.8]) rotate([0,0,0]) cylinder( h=3.2, r1=1.8, r2=3.5, $fn=30);
translate([102,3.5,12.8]) rotate([0,0,0]) cylinder( h=3.2, r1=1.8, r2=3.5, $fn=30);
}
module ventilation_holes()
{
for ( i = [0 : 9] )
{
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
translate([40 + (i*6),10.5,-1]) cube([3.65,19,10]);
translate([40 + (i*6),10.5+25,-1]) cube([3.65,19,10]);
translate([40 + (i*6),10.5+50,-1]) cube([3.65,19,10]);
}
for ( i = [0 : -4] )
{
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
}
for ( i = [-6 : -7] )
{
translate([46 + (i*6),20.5,-1]) cube([3.65,19+40,1.2]);
}
translate([15,10,1]) cube([20,55,1.5]);
}
module cutouts()
{
// door closing screw
translate([58.5,4,1]) cylinder( h = 17, r = 1.8, $fn=30);
translate([58.5,4,14.5]) cylinder( h = 2.6, r1 = 1.8, r2=2.2, $fn=30);
translate([58.5,4,11.5])
{
translate([0,0,2.5]) cube([5.7,3.8,1], center=true);
translate([0,0,3]) cube([3.8,3.8,1], center=true);
}
ventilation_holes();
// rounded side cutoff
translate([26.5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 73, r = 3.5, $fn=30);
translate([26.5,80,5]) cube([73,19,10]);
translate([26.5,82.5,1]) cube([73,5,10]);
// upper hinge cut
translate([0,60,-10]) cube([30,30,10]);
translate([-1,87.5,0]) cube([22.5,10,10]);
// upper hinge
translate([2,80,6]) cube([19.5,10,10]);
translate([-2,89.7,3]) rotate([70,0,0]) cube([19.5,10,5]);
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 26.5, r = 2.5, $fn=30);
// hinge hole
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 120, r = 2.6, $fn=30);
// door closing
translate([4,3.5,12.9]) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
translate([102,3.5,12.9]) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
// M3 nut
translate([55.65,0.5,12]) cube([5.7,10,2.2]);
// side panel lightning slot
translate([2,10,3] ) cube([7,65,5]);
translate([101,10,3] ) cube([3,70,5]);
// corners - cut
translate([53,3,1.5]) rotate([0,0,70]) cube([10,10,50]);
translate([61,12,1.5]) rotate([0,0,-70]) cube([10,10,50]);
translate([16,2,1.5]) rotate([0,0,45]) cube([5,5,50]);
}
module Einsy_doors()
{
difference()
{
body();
cutouts();
// large corner cut
translate( [0 , -20, -3] ) rotate([0,45,45]) cube( [ 30, 30 , 20 ] );
translate([30,79,1]) rotate([0,0,-90]) linear_extrude(height = 0.8)
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
}
}
Einsy_doors();

View File

@ -1,47 +0,0 @@
// PRUSA iteration4
// Einsy cover hinges
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module upper_hinge()
{
difference()
{
union(){
// body
cylinder( h = 26, r = 2.4, $fn=30);
translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30);
translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 11 , 21 ] );
}
// M3 screw hole
translate( [ -12.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
translate( [ -1.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 9, r = 3, $fn=30);
// angle cut
translate([-2.9,-20,-1]) rotate([0,0,60]) cube([25,5,26]);
}
}
module lower_hinge()
{
difference()
{
union(){
// body
translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30);
translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 2.8, $fn=30);
translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30);
translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 11 , 10 ] );
}
// M3 screw
translate( [ -0.5 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30);
translate( [ -12 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
// angle cut
translate([-5,20,-1]) rotate([0,0,-60]) cube([20,5,20]);
}
}
upper_hinge();
lower_hinge();

View File

@ -0,0 +1,49 @@
// PRUSA iteration4
// Extruder cable clip
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module extruder_cable_clip()
{
difference()
{
union()
{
// body shape
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13,$fn=30);
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8,r2=13, $fn=30);
translate([0,16.6,28]) cube([2.9,22.8,7]);
}
// bottom cut and shape
translate([-15,7,13]) cube([30,40,15]);
translate([-20,28,28]) rotate([0,90,0]) cylinder(h=40,r=5.5, $fn=30);
// screws
translate([-2.7,20.0,25]) rotate([0,0,90]) cylinder(h= 10, r = 1.6, $fn=50);
translate([-2.7,36,25]) rotate([0,0,90]) cylinder( h = 10, r = 1.6, $fn=50);
translate([-2.7,36,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
translate([-2.7,20.0,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
// screw heads opening
translate([-2.7,16.9,35]) cube([10,6.2,15]);
translate([-2.7,32.9,35]) cube([10,6.2,15]);
}
difference()
{
// cable grip
translate([-8,28,28]) rotate([0,90,0]) cylinder( h = 10, r = 6, $fn=30);
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40, r = 5, $fn=30);
translate([-15,7,13]) cube([30,40,15]);
translate([-6,7,13]) cube([2,40,25]);
translate([-2,7,13]) cube([2,40,25]);
}
}
translate([6,-28,-28]) extruder_cable_clip();

View File

@ -0,0 +1,60 @@
// PRUSA iteration4
// Heatbed cable clip
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module heatbed_cable_clip()
{
difference()
{
union()
{
difference()
{
union()
{
// body base
translate([75,99,28]) rotate([90,0,0]) cylinder( h = 15, r = 13, $fn=30);
translate([75,101,28]) rotate([90,0,0]) cylinder( h = 2, r1=9,r2 = 13, $fn=30);
}
// screws
translate([67,95,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
translate([83,95,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
// cut flat and shape
translate([60,82,14]) cube([30,20,14]);
translate([60,72,20]) cube([30,20,30]);
}
translate([62.75,88.2,28]) cube([24.5,3.8,7]);
}
// cable opening
translate([75,105,28]) rotate([90,90,0]) cylinder(h=30,r=4.0,$fn=30);
// screws opening
translate([67-3.2,90.2,35]) cube([6.4,5,7]);
translate([83-3.2,90.2,35]) cube([6.4,5,7]);
// screw heads
translate([67,95,31]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
translate([83,95,31]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
}
difference()
{
// cable grip
translate([75,99,28]) rotate([90,90,0]) cylinder(h=10,r=4.5,$fn=30);
translate([75,105,28]) rotate([90,90,0]) cylinder(h=30,r=3.5,$fn=30);
translate([60,72,14]) cube([30,40,14]);
translate([60,90,24]) cube([30,4,14]);
translate([60,95,24]) cube([30,3,14]);
}
}
translate([-75,-99,-28]) heatbed_cable_clip();

View File

@ -1,194 +0,0 @@
// PRUSA iteration4
// LCD cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module main_body()
{
difference()
{
union()
{
// 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 , -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 , 54 , 0 ] ) cube( [ 155 , 2 , 17 ] );
// M3 hole body
translate( [ 73.5 , 43.3 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
translate( [ -72.5 , 43.5 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
}
// 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 ] );
// knob hole
translate( [ 62.5 , 21 , -1 ] ) cylinder( h = 10, r = 6, $fn=30);
translate( [ 62.5 , 21 , -1.2 ] ) cylinder( h = 2, r1 = 7, r2 = 6, $fn=30);
// reset button cutout
translate( [ 44 , 26 , -1 ] ) cube( [ 1 , 6 , 9 ] );
translate( [ 48 , 26 , -1 ] ) cube( [ 1 , 2.5 , 9 ] );
translate( [ 68.5 , 36 , -1 ] ) cube( [ 1 , 8 , 9 ] );
translate( [ 56 , 43 , -1 ] ) cube( [ 13.5 , 1 , 9 ] );
translate( [ 50.5 , 30 , -1 ] ) cube( [ 13 , 1 , 9 ] );
translate( [ 44.7 , 31.28 , -1 ] ) rotate([0,0,45]) cube( [ 17 , 1 , 9 ] );
translate( [ 63.5 , 30 , -1 ] ) rotate([0,0,45]) cube( [ 8.5 , 1 , 9 ] );
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 ] );
}
}
module pcb_clip()
{
difference()
{
union()
{
translate( [ -3 , -12 , 17.5 ] ) cube( [ 7 , 4 , 5 ] );
translate( [ -3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
translate( [ 3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
}
translate( [ -4 , -8 , 18.5 ] ) rotate([30,0,0]) cube( [ 10 , 6 , 6 ] );
translate( [ 2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ 2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
}
}
difference()
{
union()
{
pcb_clip();
main_body();
// reset button
translate( [ 62.5 , 37.3 , 0 ] ) cylinder( h = 7.2, r = 3.5, $fn=30);
//left side
translate( [ -77 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ -76.5 , -15 , 0 ] ) cube( [ 4 , 70 , 14.6 ] );
//right side
translate( [ 76.5 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ 73.5 , -14 , 0 ] ) cube( [ 4 , 70 , 14.5 ] );
//rear side reinforcement
translate( [ -54.5 , -11.7 , 8 ] ) cube( [ 110 , 4 , 6.5 ] );
translate( [ 65.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ 65.5 , -13 , 14 ] ) cube( [ 12 , 2 , 12 ] );
translate( [ -76.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ -76.5 , -14.7 , 14.5 ] ) cube( [ 12 , 4 , 11.5 ] );
translate( [ -44 , -14.7 , 14.5 ] ) cube( [ 89 , 4 , 11.5 ] );
translate( [ -43.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
translate( [ 44.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
//front left side reinforcement
difference()
{
union()
{
translate( [ -77 , 41.3 , 0 ] ) cube( [ 15 , 14 , 25 ] );
translate( [ -77 , 46.3 , 14 ] ) cube( [ 15 , 9 , 3 ] );
}
translate( [ -64.5 , 40 , -3 ] ) cube( [ 4 , 8 , 40 ] );
translate( [ -75.5 , 40.3 , 14.5 ] ) cube( [15 , 6.5 , 25 ] );
}
//front right side reinforcement
difference()
{
translate( [ 38 , 41.2 , 0 ] ) cube( [ 40 , 14 , 26 ] );
translate( [ 55 , 44.5 , 0 ] ) cube( [ 10.5 , 3.7 , 30 ] );
translate( [ 44 , 39.5 , 0 ] ) cube( [ 25.5 , 5 , 30 ] );
translate( [ 35 , 39.3 , 14.5 ] ) cube( [ 42.5 , 7 , 15 ] );
translate( [ 49 , 43.2 , 25 ] ) rotate([0,60,0]) cube( [ 12 , 5 , 10 ] );
}
}
// SD card opening
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( [ -78 , 72.7 , -3 ] ) rotate([45,0,0]) cube( [ 160 , 14 , 54.08 ] );
// M3 screw thread
translate( [ 72.5 , 43.2 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ -72.5 , 42.7 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ 72.5 , 43.2 , 11.7 ] ) cylinder( h = 3, r1 = 1.4, r2=2.2, $fn=30);
translate( [ -72.5 , 42.7 , 11.7 ] ) cylinder( h = 3, r = 1.4, r2=2.2, $fn=30);
// ORIGINAL PRUSA text
translate([-67,51,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("ORIGINAL",font = "helvetica:style=Bold", size=7, center=true); }
translate([-18,51,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("PRUSA",font = "helvetica:style=Bold", size=11, center=true); }
translate( [ -66 , 40.5 , -0.4 ] ) cube( [ 45 , 1.6 , 1 ] );
translate( [ -66 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
translate( [ -21 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
// front cleanup
translate( [ -100 , -64 , 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( [ -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( [ -100 , -40 , -50 ] ) cube( [ 200 , 50 , 50 ] );
// version
translate([-73,15,4]) rotate([90,0,90]) linear_extrude(height = 2)
{ text("R1",font = "helvetica:style=Bold", size=7, center=true); }
}

View File

@ -0,0 +1,50 @@
// PRUSA iteration4
// RAMBo cover hinges
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module upper_hinge()
{
difference()
{
union()
{
// body
cylinder( h = 26, r = 2.4, $fn=30);
cylinder( h = 21, r = 4.5, $fn=30);
translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30);
translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 14 , 21 ] );
}
// M3 screw hole
translate( [ -12.5 , -0 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
translate( [ -1.5 , -0 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 9, r = 3, $fn=30);
// angle cut
translate([-3.9,-20,-1]) rotate([0,0,50]) cube([25,5,26]);
}
}
module lower_hinge()
{
difference()
{
union()
{
// body
translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30);
translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 4.5, $fn=30);
translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30);
translate( [ -5 , 3 , 0 ] ) cube( [ 7 , 13 , 10 ] );
}
// M3 screw
translate( [ -0.5 , 6 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30);
translate( [ -12 , 6 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
// angle cut
translate([-5.8,20,-1]) rotate([0,0,-50]) cube([20,5,20]);
}
}
translate([0,-4,0]) upper_hinge();
lower_hinge();

View File

@ -0,0 +1,287 @@
// PRUSA iteration4
// RAMBo base
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
// main body
module main_body()
{
// side panel
cube([118.5,92,2]);
// upper panel
cube([1.5,92,35]);
// rear panel
translate( [0,90,0]) cube([105.5,2,35]);
// upper panel frame reinforcement
translate([0,0,1]) cube([5.5,7,34]);
// side panel reinforcement
translate([0,0,1]) cube([9,92,3]);
translate([98,0,0]) cube([9,92,4]);
// raspberry
translate([21,81,0]) cylinder( h = 4.5,r = 2.5,$fn=30);
translate([21+58,81,0]) cylinder( h = 4.5,r = 2.5,$fn=30);
// heatbed cable mounting reinforcement
translate([63,86.0,0.5]) cube([15,5,34.5]);
translate([75,99,28]) rotate([90,0,0]) cylinder(h=15,r=13,$fn=30);
translate([75,101,28]) rotate([90,0,0]) cylinder(h=2,r1=9,r2=13,$fn=30);
translate([70.3,88,13.2]) rotate([-45,0,0]) cube([9.5,5,9]);
translate([70.3,84,16.2]) rotate([-45,0,0]) cube([9.5,8,5]);
difference()
{
// bottom side reinforcement
translate([98,86,0]) cube([7.5,6,35]);
translate([96,79,0]) rotate([0,0,45]) cube([7.5,6,36]);
}
translate([0,85,0]) cube([5.5,7,35]);
// screw mounting block
translate([54,84,0]) cube([11,7,35]);
// frame side panel
translate([20,0,0]) cube([80,3,5]);
// RAMBo mounting holes
translate([102.5,14,1]) rotate([0,0,90]) cylinder( h = 7,r = 5.5,$fn=6);
translate([102.5,75,1]) rotate([0,0,90]) cylinder( h = 7,r = 5.5,$fn=6);
translate([7.5,14,1]) cylinder( h = 7,r = 5.5,$fn=6);
translate([7.5,75,1]) cylinder( h = 7,r = 5.5,$fn=6);
// corners reinforcement
translate([0,75,1]) cube([13,16,6]);
translate([0,70.25,1]) cube([7.5,11,6]);
translate([0,7.75,1]) cube([7.5,11,6]);
translate([0,0,1]) cube([13,14,6]);
// frame mounting screw blocks
//upper
translate([1,0,0]) cube([28,4,10]);
translate([18.45,0,0]) cube([3,4,5.5] );
//lower
translate([98,0,0]) cube([20.5,4,10]);
// door closing corner
translate([102,88.5,35]) cylinder( h = 3,r1=2.5,r2=1,$fn=30);
// doors pin upper
translate([2,85,31]) cube([6,7,4] );
translate([4,88.5,35]) cylinder( h = 3,r1=2.5,r2=1,$fn=30);
// x-axis cables entry hole body
translate([89,2,0]) cylinder( h = 5,r = 6,$fn=6);
// extruder cable holder
translate([0,0,15]) cube([5,40,20]);
translate([5,28,28]) rotate([0,90,0]) cylinder(h=5,r1=10,r2=8,$fn=30);
difference()
{
translate([-2,0,28]) rotate([0,45,0]) cube([9.8,25,9.8]);
translate([-5,-5,15]) cube([5,40,20]);
translate([10,-5,15]) cube([5,40,20]);
}
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13,$fn=30);
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8,r2=13,$fn=30);
difference()
{
translate([-5.5,23.5,16]) rotate([0,45,0]) cube([8,9,8]);
translate([1,0,10]) cube([5,40,20]);
}
}
module ventilation_holes()
{
for ( i = [-5 : 8] )
{
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+49.0,1.2]);
translate([46 + (i*5.5),10.5,-1]) cube([3.65,18,10]);
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,18,10]);
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,18,10]);
}
}
module cutouts(){
// extruder cable holder
translate([1.5,7,14.8]) rotate([0,45,0]) cube([3,40,5]);
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40,r = 5.5,$fn=30);
translate([-15,7,35]) cube([30,40,15]);
translate([-15,25,30]) cube([30,6,8]);
translate([-15,12,28]) cube([15,30,8]);
translate([-12,16.5,28]) cube([15,23,8]);
translate([-3,28,28]) rotate([35,90,0]) cylinder( h = 24,r = 1.6,$fn=30);
translate([-2.7,20.0,22]) rotate([0,0,90]) cylinder( h = 10,r = 1.6,$fn=30);
translate([-2.7,20.0,12]) rotate([0,0,90]) cylinder( h = 13,r = 3.1,$fn=6);
translate([-2.7,36,10]) rotate([0,0,90]) cylinder( h = 33,r = 1.6,$fn=30);
translate([-2.7,36,12]) rotate([0,0,90]) cylinder( h = 13,r = 3.1,$fn=6);
// side
translate([12,19,1]) cube([85.5,51,3]);
// RAMBo M3 screws
translate([7.5,14,-1]) cylinder( h = 10,r = 1.9,$fn=30);
translate([102.5,14,-1]) cylinder( h = 10,r = 1.9,$fn=30);
translate([102.5,75,-1]) cylinder( h = 10,r = 1.9,$fn=30);
translate([7.5,75,-1]) cylinder( h = 10,r = 1.9,$fn=30);
translate([7.5,14,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
translate([102.5,14,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
translate([102.5,75,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
translate([7.5,75,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
translate([2,0,0])ventilation_holes();
// frame mounting screws
//upper
translate([18.5,-2,15.6]) rotate([0,45,0]) cube([15,10,10] );
translate([16.5,8,5]) rotate([90,0,0]) cylinder( h = 10,r = 1.6,$fn=30);
translate([16.5,9,5]) rotate([90,0,0]) cylinder( h = 5,r = 3,$fn=30);
translate([15.15,-2,5]) cube([2.7,15,10] );
translate([15.1,-2,7]) rotate([0,5,0]) cube([2.8,15,10] );
translate([15.1,-2,7]) rotate([0,-5,0]) cube([2.8,15,10] );
//lower
translate([110.5,9,5]) rotate([90,0,0]) cylinder( h = 10,r = 1.6,$fn=30);
translate([110.5,9,5]) rotate([90,0,0]) cylinder( h = 5,r = 3,$fn=30);
translate([118.5,-2,6]) rotate([0,-45,0]) cube([5,15,15] );
translate([94.5,-2,8.5]) rotate([0,45,0]) cube([5,8,15] );
translate([0,-2,-5]) cube([120,15,5] );
translate([109.15,-2,5]) cube([2.7,15,10] );
translate([109.3,-2,6.5]) rotate([0,5,0]) cube([2.5,15,10] );
translate([109.2,-2,6.5]) rotate([0,-5,0]) cube([2.5,15,10] );
// USB connector hole
translate([-1,41.5,11]) cube([5.5,13,11]);
// reset button
translate([-2,65,14]) rotate([0,90,0]) cylinder( h = 10,r = 2,$fn=30);
// door closing screw
translate([58.5,88,-1]) cylinder( h = 43,r = 1.9,$fn=30);
// new heatbed cable holder
translate([75,105,28]) rotate([90,90,0]) cylinder(h=30,r=4.0,$fn=30);
translate([67,95,15.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=6);
translate([83,95,15.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=6);
translate([67,95,14]) rotate([0,0,0]) cylinder(h=15,r=1.6,$fn=30);
translate([83,95,14]) rotate([0,0,0]) cylinder(h=15,r=1.6,$fn=30);
translate([60,92,28]) cube([30,13,14]);
translate([60,80,35]) cube([30,13,14]);
translate([72.5,80,30]) cube([5,13,14]);
translate([75,92,25]) rotate([120,0,0]) cylinder(h=25,r=1.6,$fn=30);
translate([62.5,88,28]) cube([25,15,14]);
// nut traps HEX
translate([7.5,14,-1]){
cylinder( h = 4,r = 3.2,$fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
}
translate([102.5,14,-1]){
cylinder( h = 4,r = 3.2,$fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
}
translate([102.5,75,-1]){
cylinder( h = 4,r = 3.2,$fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
}
translate([7.5,75,-1]){
cylinder( h = 4,r = 3.2,$fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4,r = 3.5,$fn=6);
}
translate([7.5,14,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
translate([102.5,14,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
translate([102.5,75,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
translate([7.5,75,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
translate([58.5,88,-1]) cylinder( h = 4,r = 3.2,$fn=30);
// door closing corners
translate([8,80,28]) rotate([0,0,45]) cube([5,5,10] );
translate([106,81,4]) rotate([0,0,45]) cube([5,5,40] );
// inner edges cutout
translate([54,79.5,2]) rotate([0,0,45]) cube([5,5,50] );
translate([6,80,7]) rotate([0,0,45]) cube([5,5,24] );
// x axis cable hole
translate([89,2,-1]) cylinder( h = 10,r = 4,$fn=6);
translate([80,-5,-1]) cube([15,5,10] );
// large corner coutout
translate([-27,80,-54]) rotate([50,0,45]) cube([50,50,50] );
translate([137.5,60,-10]) rotate([0,0,45]) cube([50,50,50] );
}
module RAMBo_base()
{
difference()
{
difference()
{
main_body();
cutouts();
}
//BottomCubic();
translate([14.5,10,-2]) cube([4,24,10]);
translate([16.5,10,-2]) cylinder( h = 20,r = 2,$fn=30);
translate([16.5,34,-2]) cylinder( h = 20,r = 2,$fn=30);
// lightening slots
translate([100,21,2] ) cube([5,48,5]);
translate([3,21,2] ) cube([4.5,48,5]);
translate([115,68,1.5]) rotate([0,0,90]) linear_extrude(height = 0.8)
{text("R1",font = "helvetica:style=Bold",size=6,center=true); }
}
}
RAMBo_base();

View File

@ -0,0 +1,130 @@
// PRUSA iteration4
// RAMBo doors
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
// side panels
cube([105.5,87.5,1.5]);
cube([105.5,2,18]);
cube([2,89.5,18]);
// corner reinforcement
translate([98,1,0]) cube([7.5,5,18]);
translate([0.5,0.5,0]) cube([5,6.5,18]);
translate([1,0,0]) cube([10,87.5,6]);
translate([99.5,0,0]) cube([6,87.5,7]);
translate([10,0,0]) cube([6,5,6]);
// screw thread body
translate([54,2,0]) cube([9.5,6,18]);
// rounded side
translate([0,87.5,4.5]) rotate([0,90,0]) cylinder( h = 105.5,r = 4.5,$fn=30);
// upper hinge reinforcement
translate([0.5,69,-9]) rotate([20,0,0]) cube([26,20,10]);
// door closing
translate([4,3.5,14.8]) cylinder( h = 3.2,r1 = 1.8,r2= 3.5,$fn=30);
translate([102,3.5,14.8]) cylinder( h = 3.2,r1 = 1.8,r2= 3.5,$fn=30);
}
module ventilation_holes()
{
for ( i = [0 : 9] )
{
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
translate([40 + (i*6),10.5,-1]) cube([3.65,19,10]);
translate([40 + (i*6),10.5+25,-1]) cube([3.65,19,10]);
translate([40 + (i*6),10.5+50,-1]) cube([3.65,19,10]);
}
for ( i = [0 : -4] )
{
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
}
for ( i = [-6 : -7] )
{
translate([46 + (i*6),20.5,-1]) cube([3.65,19+40,1.2]);
}
translate([15,10,1]) cube([20,55,1.5]);
}
module cutouts()
{
// door closing screw
translate([58.5,4,1]) cylinder( h = 18,r = 1.8,$fn=30);
translate([58.5,4,14.5]) cylinder( h = 2.6,r1 = 1.8,r2=2.2,$fn=30);
translate([58.5,4,11.5] ){
translate([0,0,2.5]) cube([5.7,3.8,1],center=true);
translate([0,0,3]) cube([3.8,3.8,1],center=true);}
ventilation_holes();
// rounded side cutoff
translate([26.5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 73,r = 3.5,$fn=30);
translate([ 26.5,80,5]) cube([73,19,10]);
translate([ 26.5,82.5,1]) cube([73,5,10]);
// upper hinge cut
translate([0,60,-10]) cube([30,30,10]);
translate([-1,80,-1]) rotate([-45,0,0]) cube([22.5,8,18]);
// upper hinge
translate( [2,80,6] ) cube([19.5,10,10]);
translate( [-2,88,5] ) rotate([50,0,0]) cube([19.5,10,5]);
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 26.5,r = 2.5,$fn=30);
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 26.5,r = 5,$fn=30);
// hinge hole
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 120,r = 2.6,$fn=30);
// door closing
translate([4,3.5,14.9]) cylinder( h = 3.2,r1 = 1.2,r2= 2.8,$fn=30);
translate([102,3.5,14.9]) cylinder( h = 3.2,r1 = 1.2,r2= 2.8,$fn=30);
// M3 NUT
translate( [55.65,0.5,12] ) cube([5.7,10,2.2]);
// side panel lightning slot
translate( [2,10,3] ) cube([7,65,5]);
translate( [101,10,3] ) cube([3,70,5]);
// corners - cut
translate( [53,3,1.5] ) rotate([0,0,70]) cube([10,10,50]);
translate( [61,12,1.5] ) rotate([0,0,-70]) cube([10,10,50]);
translate( [16,2,1.5] ) rotate([0,0,45]) cube([5,5,50]);
}
module RAMBo_doors()
{
difference()
{
body();
cutouts();
// large corner cut
translate( [0,-20,-3] ) rotate([0,45,45]) cube([30,30,20]);
translate([30,79,1]) rotate([0,0,-90]) linear_extrude(height = 0.8)
{ text("R1",font = "helvetica:style=Bold",size=6,center=true); }
}
}
RAMBo_doors();

View File

@ -1,85 +1,36 @@
// PRUSA iteration4 //translate([0,0,0]) cylinder(r=1.5, h=40, $fn=30);
// cable holder //translate([0,0,20]) cylinder(r=3.1, h=4, $fn=30);
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
//translate([0,-4,0]) cube([3,10.0,25]);
module zip_main() module zip()
{ {
// ziptie cut for upper cables translate([-5,-8,0]) cube([10,4,4]);
translate([-12.5,-5,0]) cube([10,20.0,4]);
translate([-10,-30.5,24]) cube([20,2,3]); translate([2.5,-5,0]) cube([10,20.0,4]);
translate([-6,-30.5,24]) cube([2,20,3]); translate([2,-6,0]) rotate([0,0,45]) cube([5,2,4]);
translate([5,-30.5,24]) cube([2,20,3]); translate([-6,-2.4,0]) rotate([0,0,-45]) cube([5,2,4]);
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]);
}
} }
difference()
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() union()
{ {
// base block translate([0,5,0]) cylinder(r=10, h=25, $fn=30);
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=39.5, r=5, $fn=30 ); translate([-3,-9,0]) cube([6,10,25]);
translate([-4.5,-26,24]) cube([10,9,39.5]);
translate([-3,-35,24]) cube([7,10,39.5]);
} }
// screw translate([0,10,-1]) cylinder(r=6, h=50, $fn=30);
translate([0.5,-27,19.5]) rotate([0,0,90]) cylinder( h=42, r=1.75, $fn=30 ); translate([0,0,-1]) cylinder(r=1.6, h=50, $fn=30);
translate([0.5,-27,19.5+41]) rotate([0,0,90]) cylinder( h=5, r=3.15, $fn=30 ); translate([3,-5,-1]) cube([10,20.0,50]);
translate([-13,-5,-1]) cube([10,20.0,50]);
// upper cables cut translate([-10,-18,-1]) rotate([-10,0,0]) cube([20,10,50]);
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([0,-3.1,3]) rotate([-10,0,0]) zip();
translate([-10,-44,23]) rotate([-4,0,0]) cube([20,9,45]); translate([0,-1.8,10.5]) rotate([-10,0,0]) zip();
translate([0,-0.5,18]) rotate([-10,0,0]) zip();
// wires translate([-13,-9,-10]) rotate([45,0,0]) cube([30,10.0,10]);
translate([-0.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 ); translate([-13,-9,20.5]) rotate([35,0,0]) cube([30,10.0,10]);
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();

View File

@ -1,383 +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.1, $fn=30 );
translate([-35,-38.5,-5]) rotate([0,90,0]) cylinder( h=25, r=1.7, $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.5,-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.7, $fn=30 );
translate([19.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.7, $fn=30 );
translate([-11.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=30 );
translate([19.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.7, $fn=30 );
translate([-11.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=30 );
translate([19.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=30 );
translate([-11.5,42.5,-3]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=30 );
translate([19.5,42.5,-4.5]) rotate([0,0,0]) cylinder( h=5, r1=1.7,r2=2.3, $fn=30 );
// 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([-20.5,-2,-14.3]) cube([12,3,2.3]);
translate([-20.5,-2,-5.3]) cube([12,3,2.3]);
translate([-11.5,-0.5,-35]) cylinder( h=65, r=1.7, $fn=30 );
translate([-11.5,-0.5,-2]) cylinder( h=5, r1=1.7, r2=2.2,$fn=30 );
translate([11.5,-0.5,-30]) cylinder( h=60, r=1.7, $fn=30 );
translate([11.5,-0.5,-2]) cylinder( h=5, r1=1.7, r2=2.2,$fn=30 );
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([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("R1",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 );
}
final_part();

View File

@ -1,148 +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
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=30 );
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.7, $fn=30 );
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.7, $fn=30 );
translate([5.5,-0.5,-42]) cylinder( h=3, r1=3, r2=1.7, $fn=30 );
// 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.7, $fn=30 );
translate([-37.75,-38.5,-39.4]) cylinder( h=4, r=3.2, $fn=6 );
translate([-37.75,-38.5,-37.5]) cylinder( h=3, r1=3.2, 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("R1",font = "helvetica:style=Bold", size=4, center=true); }
}
}
extruder_cover();

View File

@ -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();
}

View File

@ -1,89 +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=30 );
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=30 );
translate([-4,27,-27]) cylinder( h=4.25, r=4, $fn=30 );
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=30 );
translate([-4,27,-7.25]) cylinder( h=0.75, r1=3, r2=4, $fn=30 );
}
// motor rim cut
translate([7,27,-32.75]) cylinder( h=6, r=18, $fn=30 );
// axis
translate([-4,27,-32]) cylinder( h=40, r=1.5, $fn=30 );
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.7, $fn=30 );
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.6,-39.4]) cube([2.1,5.8,16]);
translate([-15,15.6,-14.6]) cube([2.1,5.8,16]);
// idler screws
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=30 );
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=30 );
translate([-12,18.5,-26.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=30 );
translate([-12,18.5,-11.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=30 );
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();

View File

@ -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();

View File

@ -1,95 +1,225 @@
// PRUSA iteration4 // PRUSA iteration4
// Heatbed cable cover // Heatbed cover MK2.5
// GNU GPL v3 // GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors // Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org // http://prusamendel.org
module cover() module cover()
{ {
translate([ -17.5, 0, 0 ]) cube([ 35, 21, 8 ]); // cover
translate([ -7, 19, 0 ]) cube([ 3, 6.5, 3 ]); // tube reinforcement
translate([ 4, 19, 0 ]) cube([ 3, 6.5, 3 ]); // tube reinforcement
translate( [ 0 , 32 , 3 ] ) rotate( [90,0,0] ) cylinder( h = 12, r = 7, $fn=6); // cable tube outer
}
module inside_cut()
{
translate([ -15, -1, -1 ]) cube( [30,20,5] ); // inside cut
translate([ -14, 2, 4 ]) cube( [28,17,2.5 ] ); // inside cut
translate( [ 0 , 32 , 2 ] ) rotate( [90,0,0] ) cylinder( h = 16, r = 4.5, $fn=30); // cable tube inner
translate([ -14, 10, -5 ]) cube( [28,25,5 ] ); // inside cut
translate([ -14, 10, 8 ]) cube( [28,25,3 ] ); // inside cut
translate([ -2.5, -6, 1 ]) rotate([15,0,0]) cube( [5,10,3 ] ); // LED
translate([ -22, -5, 7 ]) rotate([0,25,0]) cube( [5,40,6 ] ); // corners
translate([ 15, -5, 9 ]) rotate([0,60,0]) cube( [6,40,5 ] ); // corners
translate([ 20, -5, 7 ]) rotate([0,25,90]) cube( [5,40,5 ] ); // corners
translate([ 15, -5, -1 ]) rotate([0,0,45]) cube( [5,5,5 ] ); // corners
translate([ -15, -5, -1 ]) rotate([0,0,45]) cube( [5,5,5 ] ); // corners
translate([ 8, 13, -10]) rotate([0,-45,45]) cube( [10,10,10 ] ); // corners
translate([ -8, 13, -10]) rotate([0,-45,-45]) cube( [10,10,10 ] ); // corners
}
module ziptie()
{
difference() difference()
{ {
translate( [ 0 , 29 , 3 ] ) rotate( [90,0,0] ) cylinder( h = 3.5, r = 10, $fn=30); // cable tube outer
translate( [ 0 , 29 , 3 ] ) rotate( [90,0,0] ) cylinder( h = 3.5, r = 5.8, $fn=30); // cable tube outer
}
}
module filament_holder()
{
difference(){
translate([ -3.5,15, 2 ]) rotate([0,0,0]) cube( [7,7,6 ] ); // body ;
translate( [ 0 , 24 , 4.5 ] ) rotate( [90,0,0] ) cylinder( h = 10, r = 1.4, $fn=12); // filament
translate( [ 0 , 22.1 , 4.5 ] ) rotate( [90,0,0] ) cylinder( h = 1.5, r1 = 1.8, r2=1.4, $fn=12); // filament
translate([ -6,15, 2 ]) rotate([0,45,0]) cube( [4,15,3 ] ); // corners ; previous ([ -5,15, 1 ]) cube( [3,15,3 ] )
translate([ 1,15, 1 ]) rotate([0,45,0]) cube( [3,15,4 ] ); // corners ; previous cube( [3,15,3 ] )
}
}
module m3_screw() // base block
{ translate([-18,0,0]) cube([36,36,9]);
translate( [ 0 , 7.5 , 6 ] ) rotate( [0,0,90] ) cylinder( h = 2.5, r = 3.3, $fn=6); // M3 HEAD // inner cut
translate( [ 0 , 7.5 , 7.8] ) rotate( [0,0,90] ) cylinder( h = 0.8, r1 = 3.3, r2=5, $fn=6); // M3 HEAD translate([-15,-0.5,-3]) cube([30,16,9]);
translate( [ 0 , 7.5 , -10 ] ) rotate( [0,0,0] ) cylinder( h = 20, r = 1.5, $fn=30); // M3 thread translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
} translate([-15,15,-6]) cube([30,22,9]);
module nut_trap() // inner edges
{ translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate( [ 0 , 7.5 , 4.5 ] ) rotate( [0,0,90] ) cylinder( h = 2.5, r = 4.6, $fn=6); // M3 HEAD translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
translate( [ 0 , 7.5 , 4 ] ) rotate( [0,0,0] ) cylinder( h = 1, r = 3, $fn=30);
}
difference() 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,36,3]) rotate([90,0,0]) cylinder(h = 21, r=4, $fn=60);
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]) rotate([0,0,30]) cylinder(h = 4, r1=3.15, r2=5, $fn=6);
translate([11,30,8]) rotate([0,0,-30]) cylinder(h = 4, r1=3.15, r2=5, $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() union()
{ {
translate([-11,30,5.4]) rotate([0,0,30]) cylinder(h = 4, r=3.15, $fn=6);
translate([11,30,5.4]) rotate([0,0,-30]) cylinder(h = 4, r=3.15, $fn=6);
}
translate([-9.4,4,0]) cube([18.8,40,5.7]);
translate([-17.6,4,0]) cube([5,40,5.7]);
translate([12.6,4,0]) cube([5,40,5.7]);
translate([-22,18.4,0]) cube([70,10,6]);
translate([-20,31.6,0]) cube([70,10,6]);
}
difference() difference()
{ {
cover(); union()
inside_cut(); {
ziptie(); translate([0,7.5,5.7]) cylinder(h = 4, r=3.15, $fn=60);
} }
nut_trap(); translate([-11.6,0,0.9]) cube([10,40,5.7]);
translate([1.6,0,0.9]) cube([10,40,5.7]);
translate([-5,-4.1,0.9]) cube([10,10,6]);
translate([-5,9.1,0.9]) cube([10,10,6]);
} }
m3_screw();
translate( [ 0 , 7.5 , 6.2 ] ) rotate( [0,0,0] ) cube( [5.7,3,1], center=true); // heatbed screw
translate( [ 0 , 7.5 , 5.7 ] ) rotate( [0,0,0] ) cube( [3,3,1], center=true); translate([0,7.5,8]) cylinder(h = 4, r1=2.75, r2=5, $fn=50);
translate([0,7.5,3]) cylinder(h = 4, r=1.6, $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.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]);
} }
filament_holder(); // 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 = 4, r=2.75, $fn=50);
translate([0,7.5,6.3]) 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.5, $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();

View File

@ -1,119 +0,0 @@
// PRUSA iteration4
// lcd supports
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
difference()
{
// base block
translate([-55,-2,0]) cube([69,81,10]);
union ()
{
// outer body shape
translate([-69.6,32,-1]) rotate([0,0,45]) cube([60,53,15]);
translate([13.7,89.7,-1]) rotate([0,0,135]) cube([60,42,15]);
translate([-19,-9,-1]) cube([60,9,15] );
translate([7,-3,-1]) cube([60,68,16]);
translate([-16,60,-1]) cube([60,50,15] );
translate([-41, -45,-1]) rotate([0,0,45]) cube([60,80,13]);
// pcb cout out
translate([4,1.5,-1]) cube([1.8,56.5,17]);
translate([0,7.5,-1]) cube([5.8,44.5,17]);
translate([4.8,3.5,-1]) cube([5.8,52.5,17]);
translate([8,-5,-1] ) rotate([0,0,45]) cube([5,5,17]);
translate([8,58,-1]) rotate([0,0,45]) cube([5,5,17]);
}
// pcb inserts
translate([4,3,8]) rotate([45,0,0]) cube([1.8,5,5]);
translate([4,56.5,8]) rotate([45,0,0]) cube([1.8,5,5]);
translate([4,3,-5]) rotate([45,0,0]) cube([1.8,5,5]);
translate([4,56.5,-5]) rotate([45,0,0]) cube([1.8,5,5]);
}
}
module support()
{
difference()
{
union()
{
rotate([0,0,45]) body();
// screw block
translate([-72,22,0]) cube([30,16,10]);
}
// lower angled part cut
translate([-75,-2,-1]) cube([20,14,15]);
translate([-70,-2,-1]) cube([20,14,15]);
translate([-50,-16.3,-1]) rotate([0,0,45]) cube([20,20,15]);
translate([-76.5,-2,-1]) cube([15,40,15]);
difference()
{
translate([-28,0,-1]) rotate([0,0,45]) cube([10,40,15]);
translate([-38,-12,-1]) cube([20,20,15]);
translate([-58,23.5,-1]) cube([25,25,15]);
}
// screw holes
translate([-71,18+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30);
translate([-70,29+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30);
// nut traps
translate([-58,15.1+4,5-2.8]) cube([2.2,5.8,29.7]);
translate([-58,26.1+4,5-2.8]) cube([2.2,5.8,29.7]);
// version
translate([-20,2,9.5]) rotate([0,0,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
}
}
module left_lcd_support()
{
support();
rotate([0,0,45]) difference()
{
// sd card shield
translate([-3,3,10]) cube([2,55,10]);
translate([-4,3,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30);
translate([-4,58,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30);
}
}
translate([-60,-2,0]) rotate([0,0,180]) support();
left_lcd_support();

View File

@ -1,180 +0,0 @@
// PRUSA iteration4
// Nozzle fan
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module outer_shape()
{
difference()
{
union()
{
// fan entry block
translate([-18,-53,-52]) cube([36,9,22]);
difference()
{
// nozzle base shape
translate([0,-44,-15]) rotate([90,0,0]) cylinder( h=9, r=24, $fn=30 );
translate([0,-43,-15]) rotate([90,0,0]) cylinder( h=11, r=14, $fn=30 );
translate([-25,-54,-17]) cube([50,11,30]);
}
// tips
translate([-23.8,-53,-17]) cube([10,9,6]);
translate([13.8,-53,-17]) cube([10,9,6]);
}
// upper angle cut
translate([-25,-44,-30]) rotate([10,0,0]) cube([50,10,20]);
// angled front sides
translate([-19.8,-54,-57]) rotate([0,-30,0]) cube([10,11,20]);
translate([11.2,-54,-52]) rotate([0,30,0]) cube([10,11,20]);
// right round edge
translate([10.2,0,3]) difference()
{
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=6, $fn=30 );
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
translate([-28,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
}
// left round edge
translate([45.8,0,3]) difference()
{
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=6, $fn=30 );
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
translate([-68,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
}
}
// mounting block
difference()
{
translate([10.5,-53,-40.5]) cube([8,17,5]);
translate([14.5,-40.5,-41]) rotate([0,0,0]) cylinder( h=15, r=1.65, $fn=30 );
translate([14.5,-40.5,-42]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=30 );
}
}
module inner_shape()
{
difference()
{
union()
{
// base block
translate([-17,-52,-51]) cube([34,7,21]);
// nozzle inner shape
difference()
{
translate([0,-45,-15]) rotate([90,0,0]) cylinder( h=7, r=23, $fn=30 );
translate([0,-43,-15]) rotate([90,0,0]) cylinder( h=11, r=16, $fn=30 );
translate([-25,-54,-17]) cube([50,11,30]);
}
translate([-22.8,-52,-17]) cube([7,7,5]);
translate([15.8,-52,-17]) cube([7,7,5]);
}
// upper angled cut
translate([-25,-44,-35]) rotate([10,0,0]) cube([50,10,30]);
// angled front sides
translate([-19.2,-54,-56]) rotate([0,-24,0]) cube([10,11,20]);
translate([10.5,-54,-51]) rotate([0,24,0]) cube([10,11,20]);
// smooth entry
difference()
{
translate([-30,-46,-45]) rotate([0,90,0]) cylinder( h=60, r=9, $fn=30 );
translate([-30,-46,-45]) rotate([0,90,0]) cylinder( h=60, r=6, $fn=30 );
translate([-30,-46,-52]) cube([60,11,20]);
translate([-30,-53,-45]) cube([60,11,20]);
}
// left round edge
translate([10.2,0,3]) difference()
{
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=5, $fn=30 );
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
translate([-28,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
}
// right round edge
translate([45.8,0,3]) difference()
{
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=5, $fn=30 );
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
translate([-68,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
}
}
// fan cut
translate([-10.25,-46,-51]) cube([20.5,10,15.5]);
translate([10.25,-52,-44]) cube([2,15,3]);
}
module base_shape()
{
difference()
{
outer_shape();
inner_shape();
// air slot
translate([0,-49,-15]) rotate([90,0,0]) cylinder( h=7, r=17, $fn=30 );
}
}
module fan_nozzle()
{
difference()
{
base_shape();
// nozzle tips cut
translate([8.7,-53,-15]) rotate([0,20,0]) cube([5,15,15]);
translate([-13.6,-53,-16]) rotate([0,-20,0]) cube([5,15,15]);
}
// fins
translate([8.1,0,-11]) rotate([0,80,0]) translate([0,-53,-25.5]) cube([1,5,3]);
translate([-8.1,0,-11.2]) rotate([0,-80,0]) translate([-1,-53,-25.5]) cube([1,5,3]);
translate([4.8,0,-11.5]) rotate([0,55,0]) translate([0,-53,-24]) cube([1,5,4]);
translate([-4.8,0,-11.5]) rotate([0,-55,0]) translate([-1,-53,-24]) cube([1,5,4]);
translate([-0.5,0,-8.6]) rotate([0,15,0]) translate([0,-53,-24]) cube([1,5,4]);
translate([0.5,0,-8.6]) rotate([0,-15,0]) translate([-1,-53,-24]) cube([1,5,4]);
translate([-0.4,-53,-35.4]) rotate([0,0,0]) cube([0.8,8.8,6.4]);
translate([5.4,-53,-34.8]) rotate([0,50,0]) cube([0.8,9,8.5]);
translate([-6.2,-53,-35.4]) rotate([0,-50,0]) cube([0.8,9,8.5]);
translate([10.4,-53,-40.4]) rotate([0,30,0]) cube([0.8,9,4.5]);
translate([-11.2,-53,-41.0]) rotate([0,-30,0]) cube([0.8,9,4.5]);
translate([10,-51,-50.8]) rotate([0,180,0]) linear_extrude(height = 2)
{ text("HOT!2",font = "helvetica:style=Bold", size=5, center=true); }
}
rotate([90,0,0]) fan_nozzle();

View File

@ -1,5 +1,5 @@
// PRUSA iteration4 // PRUSA iteration4
// X carriage back // X carriage back 2.5 upgrade
// GNU GPL v3 // GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors // Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
@ -7,72 +7,72 @@
module m3head() module m3head()
{ {
intersection() intersection(){
{ translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
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-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-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
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
} }
module x_carriage_back()
module x_back()
{ {
difference() difference()
{ {
union() union()
{ {
// base block // body base
translate([-16,-39.0,15.1]) cube([33,72,8]); translate([-16,-39.0,15.1]) cube([33,72,8]);
translate([-25.5,-5,15.1]) cube([52,39.5,8]); translate([-25.5,-5,15.1]) cube([52,39.5,8]);
} }
//cables opening
// lower bearing cut
translate([-17,-22,7.5]) cube([35,4,10]); translate([-17,-22,7.5]) cube([35,4,10]);
translate([-6.5,-18,15]) cube([10,4,10]);
translate([-1.5,-18,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
translate([-1.5,-14,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
// cables opening // cables horizontal space
translate([-4.5,-18,15]) cube([10,4,10]);
translate([0.5,-18,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
translate([0.5,-14,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
translate([-20,-19.5,9]) cube([50,7.5,10]); translate([-20,-19.5,9]) cube([50,7.5,10]);
// bearings //bearings
translate([-15,-25,11.75]) rotate([0,90,0]) cylinder( h=31, r=7.6, $fn=30 ); 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([-30,20,11.75]) rotate([0,90,0]) cylinder( h=60, r=7.6, $fn=30 );
translate([-17,-25,11.75]) rotate([0,90,0]) cylinder( h=60, r=7, $fn=30 ); 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([-32,20,11.75]) rotate([0,90,0]) cylinder( h=80, r=7, $fn=30 );
// hold together screws // lower screws
translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([13,31,19]) cylinder( h=50, r=3.1, $fn=30 );
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([-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([10.5,-36,19]) cylinder( h=50, r=3.1, $fn=30 );
translate([-12.6,-46,18]) cube([6.2,10,10]); translate([-12.6,-46,18]) cube([6.2,10,10]);
translate([7.4,-46,18]) cube([6.2,10,10]); translate([7.4,-46,18]) cube([6.2,10,10]);
// center screw head // middle screw
translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 ); translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 );
// heat cables cut // upper screws
translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
translate([13,31,19]) cylinder( h=50, r=3.1, $fn=30 );
translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 );
// hotend cables cut
translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 ); translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 );
// cable holder screw // cable holder screw
translate([0.5,-27,11]) rotate([0,0,90]) cylinder( h=40, r=1.6, $fn=30 ); translate([-1.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([-1.5,-27,16.5]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
// x-carriage screws in belt holders // extruder hold together screws opening
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 );
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 );
// nice edges // corners
translate([-20.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]); 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([21.8,-46.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([-24.4,15.2,10]) rotate([0,0,45]) cube([14,10,15]);
@ -89,13 +89,11 @@ module x_carriage_back()
translate([17,22,13]) rotate([0,0,0]) cube([10,10,5]); translate([17,22,13]) rotate([0,0,0]) cube([10,10,5]);
translate([-24.5,22,13]) rotate([0,0,0]) cube([10,10,5]); translate([-24.5,22,13]) rotate([0,0,0]) cube([10,10,5]);
// side edges // side angle cuts
translate([27,-20,16]) rotate([0,-30,0]) cube([10,50,10]); 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([-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([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([-27.1,-55,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([-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]); translate([-5,-19.5,10]) rotate([0,-30,0]) cube([10,7.5,10]);
@ -109,15 +107,17 @@ module x_carriage_back()
translate([4.5,29,16]) rotate([45,0,0]) cube([3.5,5,5]); 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]); translate([3.5,-4.60,19.5]) rotate([0,0,-15]) cube([3,4,4]);
// version translate([-18,11,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4)
translate([-14.5,13,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4) { text("MK2.5",font = "helvetica:style=Bold", size=5, center=true); }
{ text("MK3",font = "helvetica:style=Bold", size=6, center=true); }
translate([-15,3,15.5]) rotate([0,180,0]) linear_extrude(height = 0.8) translate([-15,3,15.6]) rotate([0,180,0]) linear_extrude(height = 1)
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); } { text("R1",font = "helvetica:style=Bold", size=4, center=true); }
translate([-23,2.3,14.3]) cube([9,5.0,1]); translate([-23,2.3,14.3]) cube([9,5.0,1]);
// upper ziptie left // upper ziptie left
translate([-21.5,-25,0])difference() translate([-21.5,-25,0])
difference()
{ {
translate([1,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25); translate([1,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25); translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
@ -126,21 +126,22 @@ module x_carriage_back()
translate([-20.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]); translate([-20.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]);
// upper ziptie right // upper ziptie right
translate([19,-25,0])difference() translate([19,-25,0])
difference()
{ {
translate([0.5,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25); translate([0.5,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25); translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
} }
// supports // screw heads support
translate([-17,26,5]) m3head(); translate([-17,26,5]) m3head();
translate([-40.5,26,5]) m3head(); translate([-40.5,26,5]) m3head();
translate([-29,-1,4]) m3head(); translate([-29,-1,4]) m3head();
translate([-19.5,-41,5]) m3head(); translate([-19.5,-41,5]) m3head();
translate([-39.5,-41,5]) m3head(); translate([-39.5,-41,5]) m3head();
} }
} }
rotate([0,180,0]) x_carriage_back(); rotate([0,180,0]) x_back();

View File

@ -1,5 +1,5 @@
// PRUSA iteration4 // PRUSA iteration4
// X carriage // X carriage 2.5 upgrade
// GNU GPL v3 // GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors // Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
@ -7,19 +7,97 @@
use <bearing.scad> use <bearing.scad>
module x_carriage_base() 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 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);
}
module x_carriage_body(){
// Small bearing holder // Small bearing holder
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1); translate([-33/2,0,1]) rotate([0,0,90]) horizontal_bearing_base(1);
// Long bearing holder // Long bearing holder
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2); translate([-33/2,45,1]) rotate([0,0,90]) horizontal_bearing_base(2);
// Base plate // Base plate
translate([-34,-14,0]) cube([34.5,70.5,7]); translate([-34,-14,1]) cube([34.5,70.5,6]);
translate([-33,-15,0]) cube([33,7,15]); translate([-33,-15,1]) cube([33,7,14]);
translate([-42.5,53.0,0]) cube([52,6.5,15]); translate([-42.5,53.0,1]) cube([52,6.5,14]);
difference() difference()
{ {
@ -32,52 +110,20 @@ module x_carriage_base()
} }
// upper motor screw block // upper motor screw block
translate([-23,56.8,0]) rotate([0,0,0]) cube([32.5,18.2,8]); translate([-23,56.8,1]) rotate([0,0,0]) cube([32.5,18.2,7]);
// Belt holder base // Belt holder base
translate([-42.5,20,0]) cube([52,16,7]); translate([-42.5,20,1]) cube([52,16,6]);
translate([-16.5-12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
translate([-17.5+12,24.5,0])cylinder(r=4.5, h=14, $fn=25); // new belt holder base block
translate([-16.5-12,24.5,14])cylinder(r1=4.5, r2=3.8, h=1, $fn=25); translate([-42.5,18,7]) cube([52,16.3,8]);
translate([-17.5+12,24.5,14])cylinder(r1=4.5, r2=3.8, h=1, $fn=25);
// Belt Insert R
difference()
{
union()
{
translate([2,26.9,0]) cube([10,6.2,15]);
translate([2,24-2.3-4.5,0]) cube([7.5,7.5,15]);
translate([-0.5,27,0]) cube([8,7,2]);
}
translate([-3,25,5.5]) rotate([0,0,-40]) cube([5,5.5,10]);
translate([8,17,5.5]) rotate([0,0,-60]) cube([2,5,10]);
}
// Belt Insert L
difference()
{
union()
{
translate([-33,3,00])
{
scale([-1,1,1])
{
translate([0,26.8,0]) cube([12.5,4.5,15]);
translate([2,27-7.5-2.3,0]) cube([12.5,7.5,15]);
translate([-0.5,27,0]) cube([8,7,2]);
}
}
}
translate([-36.5,27.7,5.5]) rotate([0,0,-55]) cube([5,5.5,10]);
}
} }
module x_carriage_holes() module x_carriage_holes(){
{
// Small bearing holder holes cutter // Small bearing holder holes cutter
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(1); translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(1);
@ -88,16 +134,15 @@ module x_carriage_holes()
translate([2,0,0]) translate([2,0,0])
difference() difference()
{ {
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25); translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=50);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25); translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=50);
} }
// upper ziptie left // upper ziptie left
translate([-38,0,0]) translate([-38,0,0])
difference() difference()
{ {
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25); translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=50);
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25); translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=50);
} }
// upper ziptie head // upper ziptie head
@ -105,16 +150,17 @@ module x_carriage_holes()
translate([-45,52.5,12]) cube([13.5,10,5]); translate([-45,52.5,12]) cube([13.5,10,5]);
// Extruder mounting holes // Extruder mounting holes
translate([-17.5+12,24.5,-1])cylinder(r=1.8, h=20, $fn=25); translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=50);
translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); translate([-17.5+12,24.5,0.9])cylinder(r1=2.0,r2=1.65, h=1, $fn=50);
translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=50);
translate([-16.5-12,24.5,-1])cylinder(r=1.8, h=20, $fn=25); translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=50);
translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); translate([-16.5-12,24.5,0.9])cylinder(r1=2.1,r2=1.65, h=1, $fn=50);
translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=50);
// Carriage slimer // Carriage slimer
translate([-55.5+3,19,-1])cube([10,40,30]); translate([-55.5+3,19,-1])cube([10,40,30]);
translate([+12.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([+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]); translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]);
@ -125,10 +171,6 @@ module x_carriage_fancy()
// Top right corner // 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]); translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]);
// Belt Smooth insert
translate([0,36.5,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]);
translate([-52.9,36.5+3,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]);
// Top left corner // 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([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
@ -139,42 +181,43 @@ module x_carriage_fancy()
translate([-40,-15,-5]) rotate([30,0,0]) cube([45,6,15]); 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([-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,-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([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]); translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
} }
module cable_tray() module cable_tray(){
{
// center screw block // center screw block
translate([-21,23,0]) cube([9,12,15]); translate([-21,23,1]) cube([9,12,14]);
difference() difference()
{ {
union() union()
{ {
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]); translate([-20.8,24.8,1]) rotate([0,0,20]) cube([3,10,14]);
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]); translate([-15.5,25.8,1]) rotate([0,0,-20]) cube([3,10,14]);
} }
translate([-25,34.2,0]) cube([20,10,15]); translate([-25,34.2,1]) cube([20,10,14]);
} }
translate([6.5,32,10]) cube([3,5,5]); translate([6.5,32,10]) cube([3,5,5]);
translate([-42.5,32,10]) cube([4,5,5]); translate([-42.5,32,10]) cube([4,5,5]);
//Left cable tray //Left cable tray
translate([-39.9,11,0]) cube([9,2,15]); translate([-39.9,11,1]) cube([9,2,14]);
translate([-39.9,5.5,0]) cube([9,2,15]); translate([-39.9,5.5,1]) cube([9,2,14]);
//Right cable tray //Right cable tray
translate([-2,5.5,0]) cube([11.45,2,15]); translate([-2,5.5,1]) cube([11.45,2,14]);
translate([-2,11,7]) cube([11.45,2,8]); translate([-2,11,7]) cube([11.45,2,8]);
translate([-31,11.5,7]) cube([30,1.5,8]); translate([-31,11.5,7]) cube([30,1.5,8]);
difference(){ difference()
translate([0,11,0]) cube([9.50,12,7]); {
translate([0,11,1]) cube([9.50,12,6]);
translate([0,6,1])rotate([-30,0,0]) cube([7.5,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,3.5,6])rotate([-60,0,0]) cube([7.5,12,7]);
translate([0,10+3,-1])cube([7.5,11,6]); translate([0,10+3,-1])cube([7.5,11,6]);
@ -184,44 +227,57 @@ module cable_tray()
} }
module final_cutout() module final_cutout(){
{
// cable guide edges
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]); translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
translate([6,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]); translate([0.5,10+3,-1])cube([7,9.2,6]);
// filament hole // filament hole
translate([-14.5,8.8,0]) rotate([-5,0,0]) cylinder(r=1.52, h=40, $fn=10); translate([-18.5,8.8,0]) rotate([-5,0,0]) cylinder(r=1.52, h=40, $fn=10);
translate([-14.5,9.7,10]) rotate([-5,0,0]) cylinder(r=1.52,r2=2, h=6, $fn=10); translate([-18.5,9.7,10]) rotate([-5,0,0]) cylinder(r=1.52,r2=2, h=6, $fn=10);
// bottom back mounting screws // bottom back mounting screws
translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30); translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50);
translate([-26.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30); translate([-26.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50);
translate([-29.5,-14,10]) cube([6,7,2.2]); translate([-29.3,-14,10]) cube([5.6,7,2.1]);
translate([-09.5,-14,10]) cube([6,7,2.2]); translate([-09.3,-14,10]) cube([5.6,7,2.1]);
translate([-28.2,-14,10.3]) cube([3.4,7,2.2]); // better printing bridges
translate([-08.2,-14,10.3]) cube([3.4,7,2.2]); 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 // x-carriage-back mounting screws
translate([-4,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30); translate([-4,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50);
translate([-27.5,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30); translate([-27.5,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50);
translate([-30.5,53,8]) cube([6,8,2]); translate([-30.3,53,8]) cube([5.6,8,2.1]);
translate([-7,53,8]) cube([6,8,2]); translate([-6.8,53,8]) cube([5.6,8,2.1]);
// 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]);
translate([-16,29,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30);
translate([-19,26,11]) cube([6,8,2]); // center mounting screw
translate([-16,29,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50);
translate([-18.8,26,11]) cube([5.6,8,2.1]);
translate([-21,33,11]) cube([10,8,6]); translate([-21,33,11]) cube([10,8,6]);
// better printing bridges
translate([-18.8,27.35,11]) 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=50);
translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30);
} }
// Final part
module x_carriage_block() module x_carriage_base()
{ {
difference() difference()
{ {
@ -229,11 +285,19 @@ module x_carriage_block()
{ {
difference() difference()
{ {
x_carriage_base(); x_carriage_body();
x_carriage_holes(); x_carriage_holes();
x_carriage_fancy(); x_carriage_fancy();
} }
cable_tray(); cable_tray();
difference()
{
translate([-24,7.7,1.5]) cube([10.5,4,13.5]);
translate([-16.4,6.7,16]) rotate([0,45,0]) cube([5,7,5]);
translate([-27.4,6.7,16]) rotate([0,45,0]) cube([5,7,5]);
translate([-27.4,6.7,13.7]) rotate([45,0,0]) cube([20,7,5]);
}
} }
final_cutout(); final_cutout();
} }
@ -241,49 +305,46 @@ module x_carriage_block()
module x_carriage() module x_carriage()
{ {
difference()
{
union()
{
x_carriage_base();
// endstop
difference() difference()
{ {
x_carriage_block(); union()
{
translate([-8.5,-16,1]) cube([18,5.5,11]);
translate([2,-15.5,1]) rotate([0,0,60]) cube([5,5,11]);
}
translate([6,-17,0]) rotate([0,45,0]) cube([10,8,11]);
translate([-12,-18.5,0]) rotate([0,0,-25]) cube([15,8,15]);
translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50);
translate([-09.5,-14,10]) cube([6,7,2.2]);
}
// upper motor screw }
translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.8, h=100, $fn=30); translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.65, h=100, $fn=50);
translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); translate([2.5,67.5,0.9]) cylinder(r1=2.1,r2=1.8, h=1, $fn=50);
translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.2, h=8, $fn=30); translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.1, h=8, $fn=50);
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25); translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=50);
// cable management cleanup
difference() difference()
{ {
translate([2.5,21.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.0, $fn=25); 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]); translate([2,16,-10]) cube([10,6,20]);
} }
// selective infill
translate([-36.5,21.25,1.5]) cube([0.1,4.5,13.3]);
translate([-38.6,21,1.5]) cube([0.1,6,13.3]);
translate([-41,21,1.5]) cube([0.1,6,13.3]);
translate([3.5,21,6]) cube([0.1,2,8.8]);
translate([5,21,6]) cube([0.1,3,8.8]);
translate([6.8,21,5.5]) cube([0.1,3,9]);
translate([8.5,21,5]) cube([0.1,3,9.8]);
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]); 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([5,0.4,13.0]);
translate([-20.5,27,1.5]) rotate([0,0,20]) cube([0.4,5,13.0]);
//cable openings in guides
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]); 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]); translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
@ -293,16 +354,33 @@ module x_carriage()
translate([-12.5,71.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,67,-3]) cube([4,6,14]);
translate([-14.5,65,4.7]) cube([4,10.2,5]); 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,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,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([-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([-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 //version
translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6) translate([-2,-8,1.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); } { text("R2",font = "helvetica:style=Bold", size=4, center=true); }
}
translate([-10,34,1.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
{ text("2.5",font = "helvetica:style=Bold", size=8, center=true); }
}
} }
x_carriage(); x_carriage();

View File

@ -1,137 +0,0 @@
// PRUSA iteration4
// X end idler
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <x-end.scad>
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.8, $fn=30);
translate(v=[-4,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 4, r=3.1, $fn=30);
translate(v=[-21.5,-19,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 10, r=3.2, $fn=6);
// 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()
{
// waste pocket
translate([-15,-1,6]) rotate([90,0,0]) cylinder( h=5, r=5, $fn=30);
translate([-15,-1,51]) rotate([90,0,0]) cylinder( h=5, r=5, $fn=30);
translate([-15,-5.9,6]) rotate([90,0,0]) cylinder( h=3, r1=5, r2=4.3, $fn=30);
translate([-15,-5.9,51]) rotate([90,0,0]) cylinder( h=3, r=5, r2=4.3, $fn=30);
// opening window
translate([-17,-1,51]) rotate([90,0,0]) cube([4,15,4]);
}
module x_end_idler_base()
{
difference()
{
union()
{
x_end_base();
difference()
{
translate(v=[-6,-16.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 0.5, r1=9, r2=12, $fn=30);
translate([-25,-11.5,19]) cube([20,10,24]);
}
}
x_end_idler_holes();
}
translate([-15,10.5,6]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
translate([-15,10.5,51]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
difference()
{
translate(v=[-19,-16.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r1=9, r2=12, $fn=30);
translate([-25,-11.5,19]) cube([20,10,24]);
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.8, $fn=30);
}
}
module selective_infill()
mirror([0,1,0]) translate([-50, -33, 0.6])
{
difference()
{
union()
{
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=11.7, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=11.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=10.7, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=10.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9.9, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=9.7, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9, $fn=30);
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=8.8, $fn=30);
}
}
translate([57.5,50.5,-1]) rotate([0,0,45]) cube([8,10,9]);
translate([52,30.5,-1]) rotate([0,0,45]) cube([10,20,20]);
translate([32,35.5,-1]) cube([8,30,9]);
}
}
module reinforcement_selective_infill()
{
rotate([90,0,-15,]) translate ([-1.5,8,26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,12],[8,0]] ); // bearings
rotate([90,0,-50,]) translate ([8.5,8,1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[8,0]] ); //body
}
module x_end_idler()
{
mirror([0,1,0])
difference()
{
x_end_idler_base();
waste_pocket();
selective_infill();
reinforcement_selective_infill();
translate(v=[-8,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-25,7.5,-1]) rotate([0,0,45]) cube([10,10,100]);
//version
translate([-23.7,-25,2]) rotate([90,0,90]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=3, center=true); }
}
difference()
{
// bearings stop
translate([0,0,57]) rotate([0,0,90]) cylinder( h=1, r=8, $fn=30);
translate([0,0,56.9]) rotate([0,0,90]) cylinder( h=0.5, r1=8, r2=7,$fn=30);
translate([0,0,56.5]) rotate([0,0,90]) cylinder( h=2, r=7, $fn=30);
translate([0.2,-0.5,50]) rotate([0,0,40]) cube([12,1,10]);
}
}
x_end_idler();

View File

@ -1,152 +0,0 @@
// PRUSA iteration4
// X end motor
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <x-end.scad>
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();
// Position to place
translate(v=[-1,32,30.25])
{
// Belt hole
translate(v=[-14,1,0]) cube(size = [10,46,22], center = true);
// Motor mounting holes
translate(v=[20,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.8, $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.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.8, $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.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.8, $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.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.8, $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);
// Material saving cutout
translate(v=[-10,12,10]) cube(size = [60,42,42], center = true);
// Material saving cutout
translate(v=[-10,40,-30]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
}
}
// Motor shaft cutout
module x_end_motor_shaft_cutout()
{
union()
{
difference()
{
translate(v=[0,32,30]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=17, $fn=6);
translate(v=[-10,-17+32,30]) cube(size = [60,2,10], center = true);
translate(v=[-10,-8+32,-15.5+30]) rotate(a=[60,0,0]) cube(size = [60,2,10], center = true);
translate(v=[-10,8+32,-15.5+30]) rotate(a=[-60,0,0]) cube(size = [60,2,10], center = true);
}
translate(v=[-30,25.2,-11.8 +30]) rotate(a=[0,90,0]) cylinder(h = 30, r=3, $fn=30);
translate(v=[-30,19.05,30]) rotate(a=[0,90,0]) cylinder(h = 30, r=3.5, $fn=100);
}
}
module selective_infill()mirror([0,1,0]) translate([-50, -33, 0.6])
{
difference()
{
union()
{
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=11.7, $fn=30);//0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=11.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=10.7, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=10.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9.9, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=9.7, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=8.8, $fn=30);
}
}
translate([57.5,50.5,-1]) rotate([0,0,45]) cube([8,10,9]); // front
translate([52,30.5,-1]) rotate([0,0,45]) cube([10,20,20]); // front angled
translate([32,35.5,-1]) cube([8,30,9]); // inner horizontal
}
}
module reinforcement_selective_infill()
{
rotate([90,0,-15,]) translate ([-1.5,8,26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,12],[8,0]] ); //bearings
rotate([90,0,-50,]) translate ([8.5,8,1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[8,0]] ); //body
}
// Final part
module x_end_motor()
{
difference()
{
x_end_motor_base();
x_end_motor_shaft_cutout();
x_end_motor_holes();
selective_infill();
reinforcement_selective_infill();
// waste pocket
translate([-15,7,6]) rotate([90,0,0]) cylinder(h=3.5, r=5, $fn=30);
translate([-15,7,51]) rotate([90,0,0]) cylinder(h=3.5, r=5, $fn=30);
translate([-15,3.5,6]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
translate([-15,3.5,51]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
// rod contact window
translate([-17,3,55]) 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("R1",font = "helvetica:style=Bold", size=3, center=true); }
}
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
translate([-15,10,51]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
// bearing stop
difference()
{
translate([0,0,57]) rotate([0,0,90]) cylinder( h=1, r=8, $fn=30);
translate([0,0,56.9]) rotate([0,0,90]) cylinder( h=0.5, r1=8, r2=7,$fn=30);
translate([0,0,56.5]) rotate([0,0,90]) cylinder( h=2, r=7, $fn=30);
translate([-0.18,-0.5,50]) rotate([0,0,-40]) cube([12,1,10]);
}
}
x_end_motor();

View File

@ -1,109 +0,0 @@
// PRUSA iteration4
// X end prototype
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <bearing.scad>
use <polyholes.scad>
rod_distance = 45;
module x_end_base()
{
// Main block
height = 58;
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
// Bearing holder
vertical_bearing_base();
//Nut trap
// Cylinder
translate(v=[0,-17,0]) poly_cylinder(h = 8, r=12.5, $fn=25);
translate(v=[-6,-10.6,8]) rotate([0,0,48.2]) cube(size = [10,5,1], center = true);
// Nut brace
rotate([90,0,-15,]) translate ([-1, 8, 24])linear_extrude(height = 4) polygon( points=[[0,0],[0,12],[8,0]] );
rotate([90,0,-50,]) translate ([9, 8, -0.6])linear_extrude(height = 4) polygon( points=[[0,0],[0,12],[8,0]] );
}
module reinforcement_selective_infill()
{
rotate([90,0,-15,]) translate ([-1.5, 8, 26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,12],[8,0]] );
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[12,0]] );
}
module x_end_holes()
{
vertical_bearing_holes();
// Belt hole
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()
{
translate(v=[-5.5-10+1.5,-10,30]) cube(size = [10,46,28], center = true);
// Nice edges
translate(v=[-5.5-10+1.5-5,-10,30+23]) rotate([0,20,0]) cube(size = [10,46,28], center = true);
translate(v=[-5.5-10+1.5+5,-10,30+23]) rotate([0,-20,0]) cube(size = [10,46,28], center = true);
translate(v=[-5.5-10+1.5,-10,30-23]) rotate([0,45,0]) cube(size = [10,46,28], center = true);
translate(v=[-5.5-10+1.5,-10,30-23]) rotate([0,-45,0]) cube(size = [10,46,28], center = true);
}
}
// Bottom pushfit rod
translate(v=[-15,-41,6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
// Top pushfit rod
translate(v=[-15,-41.5,rod_distance+6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
// TR Nut trap
// Hole for the nut
translate(v=[0,-17, -1]) poly_cylinder(h = 9.01, r = 7, $fn = 25);
translate(v=[0,-17, -0.1]) cylinder(h = 0.5, r1 = 6.8+0.8,r2 = 7, $fn = 25);
// Screw holes for TR nut
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -1]) cylinder(h = 10, r = 1.8, $fn=25);
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -1]) cylinder(h = 8, r = 1.8, $fn=25);
// Nut traps for TR nut screws
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 4]) rotate([0, 0, 0])cylinder(h = 5, r = 3.45, $fn=6);
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, 4]) rotate([0, 0, 30])cylinder(h = 3, r = 3.2, $fn=6);
translate([-5.5,-17.2,4]) rotate([0,0,30]) cube([5,5,3]);
translate([-0,-17.2,4]) rotate([0,0,60]) cube([5,10,3]);
}
// Final prototype
module x_end_plain()
{
difference()
{
x_end_base();
x_end_holes();
}
}
x_end_plain();
module pushfit_rod(diameter,length)
{
poly_cylinder(h = length, r=diameter/2);
difference()
{
translate(v=[0,-diameter/2.85,length/2]) rotate([0,0,45]) cube(size = [diameter/2,diameter/2,length], center = true);
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
}
}

View File

@ -1,78 +0,0 @@
// PRUSA iteration4
// Y belt holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module y_belt_holder()
{
difference()
{
// base block
union()
{
translate([-7,-24,44.5]) cube([14,48,8]);
translate([-5,-15,29]) cube([12,30,17]);
}
// belt entry
translate([-7.5,-16,39.9]) rotate([0,45,0]) cube([3,32,3]);
translate([-7.5,-16,34.9]) rotate([0,45,0]) cube([3,32,3]);
// lower belt slot
translate([-8.5,-16,34.2]) cube([11.5,32,0.75]);
translate([-8.5,-16,35.4]) rotate([0,5,0]) cube([11.5,32,0.2]);
translate([-8.5,-16,33.6]) rotate([0,-5,0]) cube([11.5,32,0.2]);
for (_step =[-16:2:16])
{
translate([-8.5,_step,33]) cube([11.5,1,1.5]);
}
// upper belt slot
translate([-8.5,-16,39.2]) cube([11.5,32,0.75]);
translate([-8.5,-16,40.4]) rotate([0,5,0]) cube([11.5,32,0.2]);
translate([-8.5,-16,38.6]) rotate([0,-5,0]) cube([11.5,32,0.2]);
for (_step =[-17:2:16])
{
translate([-8.5,_step,38.2]) cube([11.5,1,1.5]);
}
// nice edges
translate([-8,-20,21.8]) rotate([45,0,0]) cube([16,10,10]);
translate([-8,20,21.8]) rotate([45,0,0]) cube([16,10,10]);
translate([-8,-30,37]) rotate([45,0,0]) cube([16,10,10]);
translate([-8,30,37]) rotate([45,0,0]) cube([16,10,10]);
translate([-12.2,-30,44.4]) rotate([0,45,0]) cube([5,60,5]);
// mounting screw holes
translate([0,-19.50,40]) cylinder( h=30, r=1.65, $fn=30 );
translate([0,19.50,40]) cylinder( h=30, r=1.65, $fn=30 );
translate([0,-19.25,40]) cylinder( h=30, r=1.65, $fn=30 );
translate([0,19.25,40]) cylinder( h=30, r=1.65, $fn=30 );
translate([0,-19.0,40]) cylinder( h=30, r=1.65, $fn=30 );
translate([0,19.0,40]) cylinder( h=30, r=1.65, $fn=30 );
translate([0,-19.5,43.5]) cylinder( h=7, r=3.1, $fn=30 );
translate([0,19.5,43.5]) cylinder( h=7, r=3.1, $fn=30 );
translate([0,-19.25,43.5]) cylinder( h=7, r=3.1, $fn=30 );
translate([0,19.25,43.5]) cylinder( h=7, r=3.1, $fn=30 );
translate([0,-19.0,43.5]) cylinder( h=7, r=3.1, $fn=30 );
translate([0,19.0,43.5]) cylinder( h=7, r=3.1, $fn=30 );
}
}
difference()
{
translate([-40,0,7]) rotate([0,90,0]) y_belt_holder();
//version
translate([8.5,3.5,0.5]) rotate([0,180,90]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
}

View File

@ -1,63 +0,0 @@
// PRUSA iteration4
// Y belt idler
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module Y_belt_idler()
{
difference()
{
// base block
translate([-12.5,-20,5]) cube([25,20,35]);
translate([-4.75,-27,-1]) cube([9.5,20,50]);
// angled front side
translate([-15,-19.5,-15]) rotate([37,0,0]) cube([30,20,40]);
translate([-15,-12,-15]) rotate([60,0,0]) cube([30,20,40]);
translate([-15,-20,29.5]) rotate([38,0,0]) cube([30,20,20]);
// screws
translate([0,1,36]) rotate([90,0,0]) cylinder( h=25, r=1.65, $fn=30 );
translate([0,-2,36]) rotate([90,0,0]) cylinder( h=6, r=3.2 , $fn=6 );
translate([0,1,10]) rotate([90,0,0]) cylinder( h=25, r=1.65, $fn=30 );
translate([0,-2,10]) rotate([90,0,0]) cylinder( h=6, r=3.2 , $fn=6 );
translate([0,-5,36]) rotate([90,0,0]) cylinder( h=6, r=3.2 , r2=3.9, $fn=6 );
translate([0,-5,10]) rotate([90,0,0]) cylinder( h=6, r=3.2 , r2=3.9, $fn=6 );
translate([0,1,36]) rotate([90,0,0]) cylinder( h=2, r=2.5, r2=1.65,$fn=30 );
translate([0,1,10]) rotate([90,0,0]) cylinder( h=2, r=2.5, r2=1.65,$fn=30 );
// pulley cut
translate([-5,-14,22.5]) rotate([0,90,0]) cylinder( h=10, r=10, $fn=30 );
// pulley screw axis
translate([-13.5,-14,22.5]) rotate([0,90,0]) cylinder( h=30, r=1.6, $fn=30 );
translate([-14,-14,22.5]) rotate([0,90,0]) cylinder( h=7, r=3.2, $fn=6 );
translate([-14,-14,22.5]) rotate([0,90,0]) cylinder( h=4, r2=3.2, r1=4, $fn=6 );
translate([8,-14,22.5]) rotate([0,90,0]) cylinder( h=6, r=3.2, $fn=30 );
// selective infill
translate([-10,-18,18]) cube([3,17,0.5]);
translate([8,-18,18]) cube([3,17,0.5]);
translate([-10,-18,27]) cube([3,17,0.5]);
translate([8,-18,27]) cube([3,17,0.5]);
translate([-10,-17,16]) cube([3,15,0.5]);
translate([8,-17,16]) cube([3,15,0.5]);
translate([-10,-16,29]) cube([3,15,0.5]);
translate([8,-16,29]) cube([3,15,0.5]);
translate([-8,-2,30]) cube([16,1,0.5]);
translate([-8,-2,13]) cube([16,1,0.5]);
// upper side mark
translate([8.5,-3.5,39]) rotate([0,0,0]) cylinder( h=2, r=1.5, $fn=30 );
//version
translate([3.5,-0.5,20]) rotate([90,0,180]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
}
}
rotate([-90,0,0]) Y_belt_idler();

View File

@ -1,67 +0,0 @@
// PRUSA iteration4
// Y holder front
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module ziptie_round_edge()
{
difference()
{
translate([0,0,0]) rotate([90,0,0]) cylinder( h=3, r=4, $fn=30 );
translate([0,1,0]) rotate([90,0,0]) cylinder( h=5, r=2, $fn=30 );
translate([-10,-4,0]) cube([20,5,5]);
translate([-20,-4,-13]) cube([20,5,20]);
}
}
module part()
{
difference()
{
union()
{
// body block
translate([-13,0,0]) cube([26,10,12]);
translate([-4,0,-1.5]) cube([8,10,2]);
}
// y-axis cut
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=14, r=4, $fn=30 );
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4.5, r2=4, $fn=30 );
translate([0,1,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4, r2=4.5, $fn=30 );
translate([-7,-1,14.5]) rotate([0,45,0]) cube([10,20,10]);
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=1.4, r1=5, r2=4, $fn=30 );
// screw holes
translate([-5.5,9,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.75, $fn=30 );
translate([5.5,9,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.75, $fn=30 );
translate([-5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.75, r2=2.6, $fn=30 );
translate([5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.75, r2=2.6, $fn=30 );
// ziptie
translate([7.8,8,9]) ziptie_round_edge();
translate([-7.8,5,9]) rotate([0,0,180]) ziptie_round_edge();
translate([-8.1,5,5]) cube([16.2,3,2]);
translate([0.8,5,24.5]) rotate([0,60,0]) cube([20,3,2]);
translate([-1.8,5,26.5]) rotate([0,120,0]) cube([20,3,2]);
// nuts
translate([-8.2,2,-3.4]) cube([5.6,2.1,10]);
translate([2.8,2,-3.4]) cube([5.6,2.1,10]);
// upper corners
translate([4,-1,20]) rotate([0,60,0]) cube([20,30,20]);
translate([-21.2,-1,30]) rotate([0,120,0]) cube([20,30,20]);
translate([-5,-6,-2]) cube([10,10,2]);
translate([-15,10,-6.5]) rotate([45,0,0]) cube([30,5,5]);
}
}
rotate([-90,0,0]) part();

View File

@ -1,60 +0,0 @@
// PRUSA iteration4
// Y holder rear
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module ziptie_round_edge()
{
difference()
{
translate([0,0,0]) rotate([90,0,0]) cylinder( h=3, r=4, $fn=30 );
translate([0,1,0]) rotate([90,0,0]) cylinder( h=5, r=2, $fn=30 );
translate([-10,-4,0]) cube([20,5,5]);
translate([-20,-4,-13]) cube([20,5,20]);
}
}
module part()
{
difference()
{
// body block
translate([-13,0,-2]) cube([26,10,14]);
// y-axis cut
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=14, r=4, $fn=30 );
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4.5, r2=4, $fn=30 );
translate([0,1,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4, r2=4.5, $fn=30 );
translate([-7,-1,14.5]) rotate([0,45,0]) cube([10,20,10]);
// screw holes
translate([-5.5,11,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.7, $fn=30 );
translate([5.5,11,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.7, $fn=30 );
translate([-5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r=1.7, r2=3,$fn=30 );
translate([5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r=1.7, r2=3, $fn=30 );
// ziptie
translate([7.8,8,9]) ziptie_round_edge();
translate([-7.8,5,9]) rotate([0,0,180]) ziptie_round_edge();
translate([-8.1,5,5]) cube([16.2,3,2]);
translate([0.8,5,24.5]) rotate([0,60,0]) cube([20,3,2]);
translate([-1.8,5,26.5]) rotate([0,120,0]) cube([20,3,2]);
// nuts
translate([-8.2,2,-3.4]) cube([5.6,2.1,10]);
translate([2.8,2,-3.4]) cube([5.6,2.1,10]);
// upper corners
translate([4,-1,20]) rotate([0,60,0]) cube([20,30,20]);
translate([-21.2,-1,30]) rotate([0,120,0]) cube([20,30,20]);
translate([-20,15,-9]) rotate([50,0,0]) cube([40,10,10]);
}
}
rotate([90,0,0]) part();

View File

@ -1,81 +0,0 @@
// PRUSA iteration4
// Y motor holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module holder()
{
difference()
{
// base body
translate([-6,-1.5,0]) cube([19,42,47]);
// shape cuts
translate([-20,19.5,26]) rotate([0,90,0]) cylinder( h=35, r=12, $fn=30 );
translate([-11,20,15]) cube([26,23,64]);
translate([-20,5.5,-1]) cube([26,41,64]);
translate([-20,-5,37]) cube([26,21,20]);
translate([-20,-1,37]) cube([26,30,20]);
// lower motor screw
translate([-20,35 ,10.5]) rotate([0,90,0]) cylinder( h=40, r=1.65, $fn=30 );
translate([-7,35,10.5]) rotate([0,90,0]) cylinder( h=15, r=3.1, $fn=30 );
// upper motor screw
translate([-20,4,41.5]) rotate([0,90,0]) cylinder( h=40, r=1.65, $fn=30 );
translate([4,4,41.5]) rotate([0,90,0]) cylinder( h=4, r=3.1, $fn=30 );
// lower frame screw
translate([0,12,7]) rotate([90,0,0]) cylinder( h=40, r=1.6, $fn=30 );
translate([0,7,7]) rotate([90,0,0]) cylinder( h=5, r=3.2, $fn=6 );
translate([0,6.6,7]) rotate([90,0,0]) cylinder( h=2, r2=3.2, r1=4, $fn=6 );
// upper frame screw
translate([0,12,29]) rotate([90,0,0]) cylinder( h=40, r=1.6, $fn=30 );
translate([0,7,29]) rotate([90,0,0]) cylinder( h=5, r=3.2, $fn=6 );
translate([0,6.6,29]) rotate([90,0,0]) cylinder( h=2, r2=3.2, r1=4, $fn=6 );
// corners
translate([-10,20,42]) rotate([45,0,0]) cube([60,10,10]);
translate([-10,-5,42]) rotate([45,0,0]) cube([60,10,10]);
translate([-10,38,-7]) rotate([45,0,0]) cube([60,20,10]);
translate([-10,43,10]) rotate([45,0,0]) cube([60,20,20]);
translate([-14,-10,-2]) rotate([0,45,0]) cube([10,50,10]);
translate([-14,-10,37]) rotate([0,45,0]) cube([10,50,10]);
translate([18,-10,-5]) rotate([0,0,45]) cube([10,10,60]);
}
// reinforcement
translate([7.8,1.9,0]) rotate([0,0,55]) cube([5,5,18]);
difference()
{
translate([7.8,1.9,13.6]) rotate([0,0,55]) cube([5,5,23.4]);
translate([-20,19.5,26]) rotate([0,90,0]) cylinder( h=35, r=12, $fn=30 );
}
}
module y_motor_holder()
{
rotate([0,90,0])
difference()
{
holder();
// selective infill
translate([-0,1,33]) cube([12,0.5,2]);
translate([-3,1,2]) cube([15,0.5,1]);
translate([-5,1.5,13]) cube([17,0.5,8]);
//version
translate([-1,-1,15]) rotate([90,0,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
}
}
y_motor_holder();

View File

@ -1,127 +0,0 @@
// 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([8,49,16+20]); // plate touching the base
translate([0,-5,0]) cube([30,4.01,22]); // plate touching the base
translate([0,41.5,0]) cube([30,6.01,22]); // plate touching the base
translate([0,-5,0]) cube([50,52.5,5]); // plate touching the base
}
module z_bottom_fancy()
{
// corner cutouts
translate([0.5,-2.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([0.5,40-0.5+5,0]) 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([20,-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,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([50-2.5,-5+2.5,0]) 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,5.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.8, $fn=30);
translate([-1,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
// 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
translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=50);
translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 2.6, r1=4.5, r2=4.1, $fn=50);
translate([25+4.3-1,3,0.6]) cube([2,10,7]); // 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.8, $fn=30);
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([15.5,15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8,$fn=30);
translate([15.5,-15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8, $fn=30);
translate([-15.5,15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8, $fn=30);
translate([-15.5,-15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8, $fn=30);
// motor opening
translate([0,0,-1]) cylinder(h = 20, r=12, $fn=30);
}
}
module z_bottom_right()
{
difference()
{
difference()
{
z_bottom_base();
z_bottom_fancy();
z_bottom_holes();
}
translate([7.5,25,12]) rotate([90,180,90]) linear_extrude(height = 0.6)
{ text("R1",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.5,-28.5,12]) rotate([90,180,90]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
}
}
z_bottom_right();
z_bottom_left();

View File

@ -1,107 +0,0 @@
// PRUSA iteration4
// Z axis top holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module z_top_base()
{
translate([0,-5,0]) cube([8,45,16]); // plate touching the base
translate([0,-5,0]) cube([33,3.9,12]); // plate touching the base
translate([0,-5,0]) cube([38,45,5]); // plate touching the base
translate([25+4.3,3.2,5]) rotate([0,0,0]) cylinder(h = 2.5, r=7, $fn=60);
}
module z_top_fancy()
{
// Corner cutouts
translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
// frame side angle
translate([-13,40+5+10.2,-3]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]);
translate([8,28,-3]) translate([0,0,-1]) cube([50,50,51]);
// cut to shape
translate([4,-1,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([8,3.9,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
// nice edges
translate([38-2.5,-5+2.5,-3]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([-10,49,3.2]) rotate([45,0,0]) translate([-15,0,-1]) cube([50,20,20]);
// outer corner
translate([35,26,-3]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]);
translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
// Stiffner cut out
translate([33,-1,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
// side cut out
translate([-6,-5,-5.55]) rotate([45,0,0]) cube([50,5,5]);
translate([-6,-5,-0.8]) rotate([0,45,0]) cube([5,50,5]);
}
module z_top_holes()
{
// Screw holes frame
translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
// Screw heads
translate([4,10,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10-3.1,10]) cube([10,6.2,10]);
translate([4,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+20-3.1,10]) cube([10,6.2,10]);
// Z rod holder
translate([25+4.3,3,0.6]) rotate([0,0,0]) cylinder(h = 50, r=4.10, $fn=50);
translate([25+4.3,3,3.4]) rotate([0,0,0]) cylinder(h = 4.2, r2=4.3, r1=4, $fn=50);
// material saving cut
translate([16,10,-4]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
translate([16,28,-4]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
// z screw hole
translate([25+4.3,3+17,3]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
translate([25+4.3,3+17,0.6]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
translate([25+4.3-1,3,0.6]) cube([2,15,8]); // it's bit up because it helps with printing
//selective infill
translate([36.5,1.5,0.5]) cube([0.1,20,3.5]);
translate([10,-3,0.5]) cube([22,0.1,3.5]);
translate([3,1,0.5]) cube([18,0.1,3.5]);
translate([1.5,19,0.5]) cube([21,0.1,3.5]);
}
module z_top_right(){
difference()
{
z_top_base();
z_top_fancy();
z_top_holes();
//version
translate([12,-1.5,10]) rotate([90,180,180]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
}
}
module z_top_left(){
translate([0,-12,0]) mirror([0,1,0])
difference()
{
z_top_base();
z_top_fancy();
z_top_holes();
//version
translate([19,-1,10]) rotate([90,180,0]) linear_extrude(height = 0.6)
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
}
}
// Final parts
z_top_left();
z_top_right();

View File

@ -1,33 +0,0 @@
// PRUSA iteration4
// Z screw cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
translate(v=[-4.2, 0, 4.3]) rotate([0,90,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
translate(v=[4.2, 0, 4.3]) rotate([0,-90,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
translate(v=[0, 4.2, 4.3]) rotate([90,0,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
translate(v=[0, -4.2, 4.3]) rotate([-90,0,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
translate(v=[-4.2, 0.5, 4.0]) rotate([0,90,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
translate(v=[4.2, -0.5, 4.0]) rotate([0,-90,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
translate(v=[0.5, 4.2, 4.0]) rotate([90,0,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
translate(v=[-0.5, -4.2, 4.0]) rotate([-90,0,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
translate(v=[-4.2, 1, 3.7]) rotate([0,90,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
translate(v=[4.2, -1, 3.7]) rotate([0,-90,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
translate(v=[1, 4.2, 3.7]) rotate([90,0,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
translate(v=[-1, -4.2, 3.7]) rotate([-90,0,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
difference()
{
union()
{
translate(v=[0, 0, 1]) cylinder(r1=8, r2=4.6, h = 4);
cylinder(r=8, h = 1, $fn=60);
}
translate(v=[0, 0, -1]) cylinder(r=4.2, h = 7, $fn=60);
cylinder(r1=4.5, r2=4.2, h = 1, $fn=60);
}

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.

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

View File

@ -1,18 +1,36 @@
# Original Prusa i3 MK3 # Original Prusa i3 MK2.5 upgrade
Original Prusa i3 MK3 is a 3D printer project maintained by PRUSA RESEARCH. Original Prusa i3 MK2.5 upgrade is a 3D printer project maintained by PRUSA RESEARCH. Originates in RepRap project.
Originates in RepRap project.
This repository contains SCAD files and STLs of the printed parts. This repository contains SCAD files and STLs of the printed parts related to MK2.5 upgrade.
This branch contains only parts that are needed for upgrade and are different from MK3 version.
**Links** Parts might change until final version of upgrade is released.
* Prusa Research website : http://prusa3d.com
* Product page: https://shop.prusa3d.com/en/3d-printers/180-original-prusa-i3-mk3-kit.html **List of printed parts needed for MK2.5 upgrade with versions :**
* Build manual: http://manual.prusa3d.com/c/Original_Prusa_i3_MK3_kit_assembly
* Firmware : https://github.com/prusa3d/Prusa-Firmware **MK2.5**
* MK52 heatbed : https://github.com/prusa3d/Heatbed_MK52_magnetic * X-carriage-back.stl
* Laser filament sensor : https://github.com/prusa3d/PRUSA_Laser_filament_sensor * X-carriage.stl
* MK3 Power panic : https://github.com/prusa3d/MK3_Power_Panic * Cable-holder.stl
* Rambo-base.stl
* Rambo-doors.stl
* Rambo-hinges.stl
* Extruder-cable-clip.stl
* Heatbed-cable-clip.stl
* Heatbed-cable-cover.stl
**MK3 repository**
* Extruder-body.stl
* Extruder-cover.stl
* nozzle-fan-45deg-support.stl
* nozzle-fan-45deg.stl*
* Extruder-idler.stl
* Filament-sensor-cover.stl
* Idler-plug.stl
( *nozzle-fan-45deg is included in the official upgrade package )