Compare commits
13 Commits
MK3S
...
Multi-Mate
| Author | SHA1 | Date |
|---|---|---|
|
|
8d80d83ee1 | |
|
|
f9838b821c | |
|
|
1c6cd122a7 | |
|
|
bae3db610e | |
|
|
bb9e635972 | |
|
|
b8c75a6b76 | |
|
|
5e84850910 | |
|
|
fc5f3e9dbe | |
|
|
75d411800b | |
|
|
d467164ed1 | |
|
|
c390ed260d | |
|
|
143b303d68 | |
|
|
2408cbe5b3 |
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,62 @@
|
|||
// PRUSA MM upgrade
|
||||
// e-motor-holder
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module selinfill()
|
||||
{
|
||||
translate( [ 15, 0, 29.8] ) rotate([0,29,0]) cube( [ 14, 2, 0.5] );
|
||||
|
||||
translate( [ 21, 0, 39] ) rotate([0,29,0]) cube( [ 14, 2, 0.5] );
|
||||
translate( [ 33, 0, 24.65] ) cube( [ 0.5, 2, 8] );
|
||||
translate( [ 28.2, 0, 16.15] ) rotate([0,29,0]) cube( [ 0.5, 2, 10] );
|
||||
translate( [ 25.2, 0, 20] ) rotate([0,29,0]) cube( [ 0.5, 2, 15] );
|
||||
}
|
||||
|
||||
|
||||
|
||||
module holder()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate( [ 16.8, -22, 35] ) rotate([0,70,0]) cube( [ 30, 18, 14] );
|
||||
translate( [ 24, -22, 5] ) cube( [ 17, 18, 35] );
|
||||
translate( [ 12, -22, 26] ) cube( [ 30, 18, 24] );
|
||||
}
|
||||
translate( [ -22, -26, 52] ) rotate([0,29,0]) cube( [ 55, 55, 7] );
|
||||
translate( [ 24, -28, 0] ) rotate([0,27,0]) cube( [ 15, 55, 40] );
|
||||
translate( [ 12, -28, 48] ) rotate([0,27,0]) cube( [ 40, 55, 20] );
|
||||
translate( [ 11, -28, 42] ) cube( [ 40, 55, 20] );
|
||||
translate( [ 37, -28, 22] ) cube( [ 20, 55, 20] );
|
||||
|
||||
translate([8,-9,12]) rotate([0,90,0]) cylinder( h=25, r=1.5, $fn=50 );
|
||||
translate([27,-9,12]) rotate([0,90,0]) cylinder( h=6, r=2.8, $fn=50 );
|
||||
|
||||
|
||||
// ziptie
|
||||
translate( [ 7, -22, 33.8] ) rotate([0,29,0]) cube( [ 24, 2, 2.5] );
|
||||
translate( [ 28.5, -22, 23.8] ) rotate([0,29,0]) cube( [ 2, 2, 17] );
|
||||
translate([28.6,-20,23.6]) rotate([90,90,0]) cylinder( h=2, r=1.5, $fn=50 );
|
||||
translate( [ 33.0, -22, 33.0] ) rotate([0,29,0]) cube( [ 5, 3, 4] );
|
||||
translate( [ 5, -22, 45] ) rotate([0,21,0]) cube( [ 50, 2, 1.5] );
|
||||
translate( [ 33.0, -19, 33.0] ) rotate([45,29,0]) cube( [ 5, 6, 4] );
|
||||
|
||||
translate([0,-7,0]) selinfill();
|
||||
translate([0,-11,0]) selinfill();
|
||||
translate([0,-15,0]) selinfill();
|
||||
translate([0,-19,0]) selinfill();
|
||||
|
||||
// edges
|
||||
translate( [ 20,-2, -3] ) rotate([45,0,0]) cube( [ 20, 10, 10] );
|
||||
translate( [ 10,-9, 20] ) rotate([0,0,45]) cube( [ 10, 10, 30] );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
holder();
|
||||
translate([0,-44,0]) mirror([0,1,0]) holder();
|
||||
|
|
@ -0,0 +1,239 @@
|
|||
// PRUSA MM upgrade
|
||||
// extruder-adaptor-MM
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
use <extruder-main.scad>
|
||||
|
||||
module ext_body()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
extruder_body();
|
||||
extruder_mount_holes();
|
||||
}
|
||||
translate( [40 , -9.5 , 0] ) cube( [ 2 , 2 , 30 ] );
|
||||
}
|
||||
module m3nut()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
cube([2,6,8]);
|
||||
translate([-0.5,3,3]) rotate([0,90,0]) cylinder(r=1.25, h=3, $fn=20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module ext_body_CP()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union(){
|
||||
difference()
|
||||
{
|
||||
ext_body();
|
||||
translate( [-5 , -49.5 , -26] ) cube( [ 50 , 40 , 80 ] );
|
||||
translate([-20,26,-2]) cube([20,30,30]);
|
||||
// screw end larger hole
|
||||
translate([-20,40,12])rotate([0,90,0])cylinder(r=1.6, h=24, $fn=20);
|
||||
translate([2,40,11.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([2,40,12])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([2,40,12.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
|
||||
// M3 nuts
|
||||
//translate([0,46,9]) m3nut();
|
||||
translate([0,42,9]) m3nut();
|
||||
translate([2,45,11.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([2,45,12])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([2,45,12.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([-20,45,12])rotate([0,90,0])cylinder(r=1.7, h=24, $fn=20);
|
||||
|
||||
}
|
||||
|
||||
|
||||
translate( [27 , -42 , 0] ) cube( [ 15, 33 , 8 ] );
|
||||
translate( [0 , -42 , 0] ) cube( [ 30, 34 , 8 ] );
|
||||
translate( [0 , -9.5 , 0] ) cube( [ 13, 9.5 , 22.5 ] );
|
||||
translate( [29 , -9.5 , 0] ) cube( [ 13, 9.5 , 30 ] );
|
||||
|
||||
translate( [0 , -42 , 0] ) rotate([0,0,0]) cube( [ 6.3, 33 , 15 ] );
|
||||
translate( [28.7 , -35 , 0] ) rotate([0,0,0]) cube( [ 6.3, 26 , 15 ] );
|
||||
|
||||
|
||||
}
|
||||
|
||||
translate([36.5, -36.5, -1]) cylinder( h = 60, r = 1.6, $fn=30);
|
||||
translate( [23 , -10 , 22.5] ) cube( [ 25, 11 , 30 ] );
|
||||
translate( [35 , -20 , 22.5] ) rotate([0,45,0]) cube( [ 10, 30 , 10 ] );
|
||||
translate( [-7 , -20 , 22.5] ) rotate([0,45,0]) cube( [ 10, 30 , 10 ] );
|
||||
|
||||
translate( [33.7 , -50.7 , 2.5] ) cube( [ 5.6, 17.5 , 2 ] );
|
||||
|
||||
|
||||
|
||||
translate( [-8 , -30 , 20] ) rotate([0,45,0]) cube( [ 10, 30 , 10 ] );
|
||||
translate( [32.5 , -60 , 16] ) rotate([0,45,0]) cube( [ 20, 60 , 10 ] );
|
||||
|
||||
translate( [28 , -48.5 , 0] ) rotate([45,0,0]) cube( [ 20, 20 , 10 ] );
|
||||
|
||||
translate( [-5 , -10 , 15] ) rotate([0,0,0]) cube( [ 50, 15 , 20 ] );
|
||||
translate([17.5, -0, 15]) rotate([90,0,0]) cylinder( h = 25, r = 6, $fn=30);
|
||||
translate([17.5, -2, 15]) rotate([90,0,0]) cylinder( h = 10, r = 10, $fn=30);
|
||||
|
||||
|
||||
|
||||
|
||||
translate( [6.3 , -50 , 3.8] ) rotate([0,0,0]) cube( [ 22.4, 30 , 30 ] );
|
||||
translate( [-6 , -57.5 , -2] ) rotate([0,0,45]) cube( [ 20, 20 , 30 ] );
|
||||
translate( [54 , -56.5 , -2] ) rotate([0,0,45]) cube( [ 20, 20 , 30 ] );
|
||||
translate([-5,-24,9]) rotate([0,90,0]) cylinder( h=44, r=1.6, $fn=30 );
|
||||
translate([25,-24,9]) rotate([0,90,0]) cylinder( h=5, r2=1.6, r1=3, $fn=30 );
|
||||
|
||||
translate([-3,-24,9]) rotate([0,90,0]) cylinder( h=6, r=3, $fn=30 );
|
||||
|
||||
|
||||
translate( [-10 , -35 , 8] ) rotate([45,0,0]) cube( [ 60, 10 , 10 ] );
|
||||
translate( [-10 , -42 , 1] ) rotate([45,0,0]) cube( [ 16.5, 20 , 10 ] );
|
||||
translate( [42 , -16.8 , 8] ) rotate([0,0,45]) cube( [ 10, 10 , 10 ] );
|
||||
|
||||
translate( [31 , -27 , 4] ) rotate([0,0,0]) cube( [ 2, 6 , 12 ] );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
ext_body_CP();
|
||||
|
||||
|
||||
module Y_part_holes()
|
||||
{
|
||||
translate([17.5, -36.5, -1]) cylinder( h = 60, r = 1.6, $fn=30);
|
||||
translate([11, -14, -1]) cylinder( h = 60, r = 1.6, $fn=30);
|
||||
translate([24, -14, -1]) cylinder( h = 60, r = 1.6, $fn=30);
|
||||
translate([11, -27, -1]) cylinder( h = 60, r = 1.6, $fn=30);
|
||||
translate([24, -27, -1]) cylinder( h = 60, r = 1.6, $fn=30);
|
||||
}
|
||||
|
||||
module Y_teflon_tubes()
|
||||
{
|
||||
translate([17.5, -7, 15]) rotate([90,0,0]) cylinder( h = 15, r = 2, $fn=30);
|
||||
translate([17.5, -20, 15]) rotate([90,0,13]) cylinder( h = 40, r = 2, $fn=30);
|
||||
translate([17.5, -20, 15]) rotate([90,0,-13]) cylinder( h = 40, r = 2, $fn=30);
|
||||
}
|
||||
|
||||
module Y_part_back()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate( [7 , -42 , 8] ) cube( [ 21, 32.5 , 7 ] );
|
||||
Y_teflon_tubes();
|
||||
Y_part_holes();
|
||||
|
||||
translate( [4 , -29.7 , 11] ) cube( [ 10, 5.6 , 2 ] );
|
||||
translate( [21 , -29.7 , 11] ) cube( [ 10, 5.6 , 2 ] );
|
||||
|
||||
translate( [3 , -50 , 7] ) rotate([0,0,45]) cube([ 10, 10 , 20 ]);
|
||||
translate( [32 , -50 , 7] ) rotate([0,0,45]) cube([ 10, 10 , 20 ]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module Y_part_forward()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate( [7 , -42 , 15] ) cube( [ 21, 32.5 , 7.5] );
|
||||
Y_teflon_tubes();
|
||||
Y_part_holes();
|
||||
|
||||
translate([17.5, -36.5, 19]) cylinder( h = 4, r = 2.8, $fn=30);
|
||||
translate([11, -14, 19]) cylinder( h = 4, r = 2.8, $fn=30);
|
||||
translate([24, -14, 19]) cylinder( h = 4, r = 2.8, $fn=30);
|
||||
translate([11, -27, 19]) cylinder( h = 4, r = 2.8, $fn=30);
|
||||
translate([24, -27, 19]) cylinder( h = 4, r = 2.8, $fn=30);
|
||||
|
||||
translate( [3 , -50 , 7] ) rotate([0,0,45]) cube([ 10, 10 , 20 ]);
|
||||
translate( [32 , -50 , 7] ) rotate([0,0,45]) cube([ 10, 10 , 20 ]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module ex_body()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
// body
|
||||
// round body
|
||||
translate([-5.5,36.5,6])rotate([-90,0,0])cylinder(r=8.5, h=19, $fn=20);
|
||||
// body block
|
||||
translate([-13,36.5,5]) cube([17,19,10]);
|
||||
translate([-13,36.5,15]) cube([5,19,1]);
|
||||
|
||||
// extruder body joint
|
||||
translate([-0,33.5,0]) cube([3,2,15]);
|
||||
translate([0,34,0]) cube([4,3,15]);
|
||||
translate([0,35.5,0]) rotate([0,0,45]) cube([2,2,15]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// M3 screws
|
||||
//translate([-20,49,12])rotate([0,90,0])cylinder(r=1.7, h=24, $fn=20);
|
||||
translate([-20,45,12])rotate([0,90,0])cylinder(r=1.7, h=24, $fn=20);
|
||||
//translate([-14,49,12])rotate([0,90,0])cylinder(r=3, h=5, $fn=20);
|
||||
translate([-14,45,12])rotate([0,90,0])cylinder(r=3, h=5, $fn=20);
|
||||
|
||||
// lower M3 screw end opening
|
||||
//translate([2,49,11.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
//translate([2,49,12])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
//translate([2,49,12.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
|
||||
// upper M3 screw end opening
|
||||
translate([2,45,11.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([2,45,12])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
translate([2,45,12.5])rotate([0,90,0])cylinder(r=1.6, h=3, $fn=20);
|
||||
|
||||
// M3 nuts opening
|
||||
translate([0,42,9]) m3nut();
|
||||
//translate([0,37,9]) m3nut();
|
||||
|
||||
// flat bottom side
|
||||
translate([-20,33,-10]) cube([30,35,10]);
|
||||
|
||||
// slot
|
||||
translate([-6,33,8]) cube([1.5,25,10]);
|
||||
|
||||
// 45 / 30 deg edges
|
||||
translate([-15,32,12]) rotate([45,0,0]) cube([15,10,10]);
|
||||
translate([-20,55,13]) rotate([45,0,0]) cube([25,3,5]);
|
||||
|
||||
translate([-2,45,-1]) rotate([0,30,0]) cube([15,15,15]);
|
||||
translate([7,46,-1]) rotate([0,0,30]) cube([15,11,25]);
|
||||
|
||||
//PINDA mounting hole
|
||||
translate([-5.5,60,6])rotate([90,0,0])cylinder(r=4.1, h=30, $fn=50);
|
||||
|
||||
// bottom cut
|
||||
translate([-15,54.5,-1]) cube([20 , 8,20]);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ex_body();
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,237 @@
|
|||
// PRUSA MM upgrade
|
||||
// extruder-body-mm
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
|
||||
module extruder_body_base()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate( [ -21, -22, 22] ) rotate([0,0,0]) cube( [ 42, 43, 4] );
|
||||
|
||||
// filament tubes body
|
||||
translate([3,4.25,7]) rotate([0,90,0]) cylinder( h=18, r=5, $fn=30 );
|
||||
translate([-26,4.25,7]) rotate([0,90,0]) cylinder( h=23, r=5, $fn=30 );
|
||||
|
||||
|
||||
// filament tube printing support
|
||||
translate( [ -15, 2, 8] ) rotate([0,0,0]) cube( [ 9, 5, 18] );
|
||||
translate( [ -10, 2, 8] ) rotate([0,-30,0]) cube( [ 8, 5, 8] );
|
||||
|
||||
translate( [ 7, 2, 8] ) rotate([0,0,0]) cube( [ 9, 5, 18] );
|
||||
translate( [ 3, 2, 12] ) rotate([0,30,0]) cube( [ 8, 5, 8] );
|
||||
|
||||
|
||||
// sprint tension nuts body
|
||||
translate( [ -13, -12, -2] ) rotate([0,0,0]) cube( [ 10, 8, 28] );
|
||||
|
||||
// side walls
|
||||
translate( [ -15, -14, -2] ) rotate([0,0,0]) cube( [ 4, 28, 28] );
|
||||
translate( [ -19, -22, -2] ) rotate([0,0,0]) cube( [ 35, 3, 28] );
|
||||
translate( [ 16, -22, -2] ) rotate([0,0,0]) cube( [ 8, 35, 28] );
|
||||
translate( [ -17, -22, -2] ) rotate([0,0,0]) cube( [ 30, 7, 28] );
|
||||
|
||||
translate( [ -6, 2, 11] ) rotate([0,-18,0]) cube( [ 3, 5, 13] );
|
||||
|
||||
translate([-15.5,15.5,-2]) cylinder( h=28, r=5.5, $fn=6 );
|
||||
translate([-15.5,-15.5,-2]) cylinder( h=28, r=5.5, $fn=6 );
|
||||
translate([15.5,-15.5,-2]) cylinder( h=28, r=5.5, $fn=6 );
|
||||
|
||||
// input PTFE tube support
|
||||
translate( [ -21, 2, 10] ) rotate([0,0,0]) cube( [ 8, 4, 13] );
|
||||
translate( [ -26, 2, 11] ) rotate([0,25,0]) cube( [ 8, 4, 13] );
|
||||
|
||||
translate( [ 16, 2, 10] ) rotate([0,0,0]) cube( [ 5, 4, 13] );
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// shared side wall cut
|
||||
translate( [ -11, -20, -4] ) rotate([0,0,0]) cube( [ 22, 7, 29] );
|
||||
|
||||
|
||||
// filament
|
||||
translate([-50,4.25,7]) rotate([0,90,0]) cylinder( h=100, r=1, $fn=30 );
|
||||
|
||||
// filament entry
|
||||
translate([-15,4.25,7]) rotate([0,90,0]) cylinder( h=10, r1=2, r2=1, $fn=30 );
|
||||
|
||||
// filament PTFE tubes
|
||||
translate([6,4.25,7]) rotate([0,90,0]) cylinder( h=30, r=2.2, $fn=30 );
|
||||
translate([-44,4.25,7]) rotate([0,90,0]) cylinder( h=30, r=2, $fn=30 );
|
||||
translate([-51,4.25,7]) rotate([0,90,0]) cylinder( h=30, r=3, r2=2, $fn=30 );
|
||||
|
||||
// pulley distances
|
||||
translate([0,0,1]) cylinder( h=18, r=5, $fn=30 );
|
||||
translate([0,8.5,1]) cylinder( h=18, r=5, $fn=30 );
|
||||
translate([1,0,12.5]) cylinder( h=6, r=5.5, $fn=30 );
|
||||
translate([1,8.5,12.5]) cylinder( h=6, r=5.5, $fn=30 );
|
||||
|
||||
translate([0,0,12.5]) cylinder( h=6, r=5.5, $fn=30 );
|
||||
translate([0,8.5,12.5]) cylinder( h=6, r=5.5, $fn=30 );
|
||||
translate( [-7.3, -1, 3] ) rotate([0,-5,-45]) cube( [ 5, 6, 19] );
|
||||
translate( [-2.8, 1, 3] ) rotate([0,-5,0]) cube( [ 5, 6, 19] );
|
||||
translate( [-3.3, 6, 3] ) rotate([0,-5,45]) cube( [ 5, 6, 19] );
|
||||
|
||||
translate( [4, 6.5, 3] ) rotate([0,0,45]) cube( [ 4, 4, 19] );
|
||||
translate( [4, -3.5, 3] ) rotate([0,0,45]) cube( [ 4, 4, 19] );
|
||||
|
||||
// idler spacing
|
||||
translate( [ -10, -1, -11] ) rotate([0,0,0]) cube( [ 16, 12, 15] );
|
||||
translate([-8,10,16.5]) rotate([0,90,90]) cylinder( h=13, r1=5, r2=6, $fn=30 );
|
||||
translate([-8,10,4]) rotate([0,90,90]) cylinder( h=13, r1=5, r2=6, $fn=30 );
|
||||
|
||||
|
||||
// spring tension screws
|
||||
translate([-8,-23,16.5]) rotate([0,90,90]) cylinder( h=52, r=1.7, $fn=30 );
|
||||
translate([-8,-23,4]) rotate([0,90,90]) cylinder( h=52, r=1.7, $fn=30 );
|
||||
translate([-8,-15,16.5]) rotate([0,90,90]) cylinder( h=18, r=1.7, $fn=30 );
|
||||
translate([-8,-15,4]) rotate([0,90,90]) cylinder( h=18, r=1.7, $fn=30 );
|
||||
|
||||
// spring tension nuts
|
||||
translate( [ -25, -9, 1] ) rotate([0,0,0]) cube( [ 20, 2.2, 6] );
|
||||
translate( [ -25, -9, 13.5] ) rotate([0,0,0]) cube( [ 20, 2.2, 6] );
|
||||
|
||||
// motor mounting screws
|
||||
translate([-15.5,15.5,-3]) cylinder( h=30, r=1.6, $fn=30 );
|
||||
translate([15.5,15.5,-3]) cylinder( h=30, r=1.6, $fn=30 );
|
||||
translate([-15.5,-15.5,-3]) cylinder( h=30, r=1.6, $fn=30 );
|
||||
translate([15.5,-15.5,-3]) cylinder( h=30, r=1.6, $fn=30 );
|
||||
|
||||
// idler washer opening
|
||||
translate([15.5,15.5,21.2]) cylinder( h=1, r=3.6, $fn=30 );
|
||||
|
||||
// motor mounting screw heads
|
||||
translate([-15.5,15.5,24]) cylinder( h=4, r=3.2, $fn=30 );
|
||||
translate([15.5,15.5,24]) cylinder( h=4, r=3.2, $fn=30 );
|
||||
translate([-15.5,-15.5,24]) cylinder( h=4, r=3.2, $fn=30 );
|
||||
translate([15.5,-15.5,24]) cylinder( h=4, r=3.2, $fn=30 );
|
||||
translate([-15.5,15.5,25.5]) cylinder( h=1, r=3.2, r2=3.8, $fn=30 );
|
||||
translate([15.5,-15.5,25.5]) cylinder( h=1, r=3.2, r2=3.8, $fn=30 );
|
||||
translate([-15.5,-15.5,25.5]) cylinder( h=1, r=3.2, r2=3.8, $fn=30 );
|
||||
translate([15.5,15.5,25.5]) cylinder( h=1, r=3.2, r2=3.8, $fn=30 );
|
||||
|
||||
|
||||
// motor face
|
||||
translate([0,0,-2]) cylinder( h=2, r=11.5, $fn=30 );
|
||||
|
||||
// top hole
|
||||
//#translate([0,0,21]) rotate([0,0,0]) cylinder( h=6, r=9, $fn=6 );
|
||||
translate([-3,-6,-3]) rotate([0,0,45]) cube([5,5,50]);
|
||||
|
||||
// front wall idler round cutoff
|
||||
translate([15.5,15.5,-3]) cylinder( h=25, r=6.5, $fn=30 );
|
||||
|
||||
// top / bottom opening hole
|
||||
translate([-7,-4,21.9]) rotate([0,0,0]) cube([14,19,10]);
|
||||
translate([-3,-11,21]) rotate([0,0,0]) cube([18,13,10]);
|
||||
|
||||
translate([-9,-4,27]) rotate([0,45,0]) cube([5,19,5]);
|
||||
translate([2,-4,27]) rotate([0,45,0]) cube([5,19,5]);
|
||||
translate([-8,15,25]) rotate([45,0,0]) cube([16,5,5]);
|
||||
translate([-8,-4,25]) rotate([45,0,0]) cube([16,5,5]);
|
||||
|
||||
translate([-3,-11,25.5]) rotate([45,0,0]) cube([18,5,5]);
|
||||
translate([-3,2,25]) rotate([45,0,0]) cube([18,5,5]);
|
||||
translate([-6.5,-11.5,29]) rotate([0,45,0]) cube([5,10,5]);
|
||||
translate([11.5,-11.5,29]) rotate([0,45,0]) cube([5,14.5,5]);
|
||||
|
||||
// 45 EDGES
|
||||
translate([21,18,21]) rotate([0,0,45]) cube([10,10,10]);
|
||||
translate([-21,18,21]) rotate([0,0,45]) cube([10,10,10]);
|
||||
|
||||
// shared wall opening
|
||||
translate([3,-18,12]) rotate([90,90,0]) cylinder( h=25, r=9, $fn=6 );
|
||||
|
||||
|
||||
|
||||
// festo mounting reinforcement
|
||||
translate([20,4.25,7]) rotate([0,90,0]) cylinder( h=3.5, r=3.9, $fn=30 );
|
||||
translate([23,4.25,7]) rotate([0,90,0]) cylinder( h=1.5, r=5.2, $fn=30 );
|
||||
translate([22,4.25,7]) rotate([0,90,0]) cylinder( h=2, r1=3.9, r2=4.55, $fn=30 );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// screw heads upside down print support
|
||||
translate( [ -15.5 , 15.5 ,27] ) rotate([0,180,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( [ -15.5 , -15.5 ,27] ) rotate([0,180,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( [ 15.5 , -15.5 ,27] ) rotate([0,180,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( [ 15.5 , 15.5 ,27] ) rotate([0,180,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( [ -10.1, 2, 23] ) rotate([0,60,0]) cube( [ 3, 5, 3] );
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
module extruder_body()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
extruder_body_base();
|
||||
translate( [ -21, -25, 47] ) rotate([0,27,0]) cube( [ 55, 50, 5] );
|
||||
translate( [ 19, -30, 29] ) rotate([0,70,0]) cube( [ 30, 50, 8] );
|
||||
|
||||
translate([8,-9,12]) rotate([0,90,0]) cylinder( h=25, r=1.5, $fn=50 );
|
||||
translate( [ 15.5, -12, 9] ) cube( [ 4, 6, 6] );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
extruder_body();
|
||||
translate([0,-44,0]) mirror([0,1,0]) extruder_body();
|
||||
}
|
||||
|
||||
translate([22,9,20]) rotate([0,65,0]) cylinder( h=1, r=2, $fn=30 );
|
||||
translate([22,4,20]) rotate([0,65,0]) cylinder( h=1, r=2, $fn=30 );
|
||||
translate([22,-53,20]) rotate([0,65,0]) cylinder( h=1, r=2, $fn=30 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
// PRUSA MM upgrade
|
||||
// extruder-idlers-mm
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module idler()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate( [ -9, 15, -1.5] ) cube( [ 30, 8, 23] );
|
||||
translate( [ -10, 14, 20] ) rotate([0,-20,0]) cube( [ 10, 10, 5] );
|
||||
translate( [ -12, 14, -4] ) rotate([0,20,0]) cube( [ 10, 10, 5] );
|
||||
}
|
||||
|
||||
translate([15.5,15.5,-1.5]) cylinder( h=23, r=5.5, $fn=30 );
|
||||
|
||||
//bottom axis holder
|
||||
translate([0,8.5,0.5]) cylinder( h=3.25, r=5, $fn=30 );
|
||||
translate( [ -5, 8.5, 0.5] ) cube( [ 10, 7, 3.25] );
|
||||
|
||||
//upper axis holder
|
||||
translate([0,8.5,18.25]) cylinder( h=3.5, r=5, $fn=30 );
|
||||
translate( [ -5, 8.5, 18.25] ) cube( [ 10, 8, 3.5] );
|
||||
|
||||
//springs
|
||||
translate([-8,12,16.5]) rotate([0,90,90]) cylinder( h=11, r1=4, r2=5.3, $fn=30 );
|
||||
translate([-8,12,4]) rotate([0,90,90]) cylinder( h=11, r1=4, r2=5.3, $fn=30 );
|
||||
|
||||
}
|
||||
|
||||
// drive gear cutout
|
||||
translate([0,8.5,4]) cylinder( h=10.5, r=5.2, $fn=30 );
|
||||
translate([0,8.5,14]) cylinder( h=4.25, r=5.2, $fn=30 );
|
||||
|
||||
// drive gear axis
|
||||
translate([0,8.5,1.15]) cylinder( h=23, r=1.5, $fn=30 );
|
||||
translate([0,8.5,-1]) cylinder( h=26, r=0.8, $fn=30 );
|
||||
|
||||
|
||||
// M3 screw
|
||||
translate([15.5,15.5,-3]) cylinder( h=30, r=1.6, $fn=30 );
|
||||
|
||||
// cutout hole
|
||||
translate([2,30,11]) rotate([90,0,0]) cylinder( h=20, r=7, $fn=6 );
|
||||
|
||||
// washers
|
||||
translate([15.5,15.5,-2.25]) cylinder( h=1, r=4, $fn=30 );
|
||||
translate([15.5,15.5,21.25]) cylinder( h=1, r=4, $fn=30 );
|
||||
|
||||
// edge
|
||||
translate( [ 22.5, 15, -4] ) rotate([0,0,30]) cube( [ 15, 15, 30] );
|
||||
|
||||
|
||||
//spring
|
||||
translate([-8,14,16.5]) rotate([0,90,90]) cylinder( h=15, r1=2.9,r2=3.5, $fn=30 );
|
||||
translate([-8,14,4]) rotate([0,90,90]) cylinder( h=15, r1=2.9,r2=3.5, $fn=30 );
|
||||
|
||||
// screws
|
||||
translate([-8,-15,16.5]) rotate([0,90,90]) cylinder( h=40, r=1.9, $fn=30 );
|
||||
translate([-8,-15,4]) rotate([0,90,90]) cylinder( h=40, r=1.9, $fn=30 );
|
||||
|
||||
|
||||
translate( [ -20, 25, -13] ) rotate([45,0,0]) cube( [ 50, 10, 10] );
|
||||
translate( [ -20, 25, 19] ) rotate([45,0,0]) cube( [ 50, 10, 10] );
|
||||
|
||||
|
||||
// selective infill
|
||||
difference()
|
||||
{
|
||||
translate([0,8.5,19.25]) cylinder( h=1.5, r=4.1, $fn=30 );
|
||||
translate([0,8.5,18.00]) cylinder( h=5, r=4, $fn=30 );
|
||||
}
|
||||
difference()
|
||||
{
|
||||
translate([0,8.5,1.4]) cylinder( h=1.5, r=4.1, $fn=30 );
|
||||
translate([0,8.5,0.00]) cylinder( h=5, r=4, $fn=30 );
|
||||
}
|
||||
#translate( [ -0, 11, 18.9] ) cube( [ 0.2, 10, 1.8] );
|
||||
#translate( [ 3, 11, 18.9] ) cube( [ 0.2, 10, 1.8] );
|
||||
#translate( [ -3, 11, 18.9] ) cube( [ 0.2, 10, 1.8] );
|
||||
|
||||
translate( [ -0, 11, 1.4] ) cube( [ 0.2, 10, 1.5] );
|
||||
translate( [ 3, 11, 1.4] ) cube( [ 0.2, 10, 1.5] );
|
||||
translate( [ -3, 11, 1.4] ) cube( [ 0.2, 10, 1.5] );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
translate([0,2.5,23]) rotate([-90,0,0])
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
idler();
|
||||
translate([0,0,-5]) rotate([0,180,180]) mirror([0,1,0]) idler();
|
||||
}
|
||||
translate([12,24,5]) rotate([90,0,0]) cylinder( h=2, r=2, $fn=30 );
|
||||
translate([12,24,15]) rotate([90,0,0]) cylinder( h=2, r=2, $fn=30 );
|
||||
translate([12,24,-10]) rotate([90,0,0]) cylinder( h=2, r=2, $fn=30 );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
// PRUSA MM upgrade
|
||||
// SuperSwitch-case-v2
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
|
||||
|
||||
$fn=50;
|
||||
heightY=94;
|
||||
widthX=51;
|
||||
wall=1.5;
|
||||
txt="Y";
|
||||
pcb = 14; // pcb height over bottom
|
||||
s=0;
|
||||
|
||||
cambox();
|
||||
module cambox(){
|
||||
difference() {
|
||||
translate([0,-heightY/2,0]) box(widthX,heightY,30,3,1.5);
|
||||
// M3
|
||||
translate([4,0,-1]) cylinder(h=5, r=1.75, center=false);
|
||||
translate([47,0,-1]) cylinder(h=5, r=1.75, center=false);
|
||||
// wire
|
||||
hull(){
|
||||
translate([15.5,heightY/2-5,30]) rotate([-90,0,0]) cylinder(h=10, r=3.5, center=false);;
|
||||
translate([15.5,heightY/2-5,23]) rotate([-90,0,0]) cylinder(h=10, r=3.5, center=false);;
|
||||
}
|
||||
hull(){
|
||||
translate([25.5,-heightY/2-5,30]) rotate([-90,0,0]) cylinder(h=10, r=1.75, center=false);;
|
||||
translate([25.5,-heightY/2-5,25]) rotate([-90,0,0]) cylinder(h=10, r=1.75, center=false);;
|
||||
}
|
||||
translate([widthX/2-5,0,-2]) rotate([0,0,0]) cylinder(20,20,20,$fn=3);
|
||||
translate([widthX/2+5,25,-2]) rotate([0,0,180]) cylinder(20,20,20,$fn=3);
|
||||
translate([widthX/2+5,-25,-2]) rotate([0,0,180]) cylinder(20,20,20,$fn=3);
|
||||
|
||||
translate([widthX/2-13,heightY/2-14,0.5]) {rotate([0,0,0]){
|
||||
linear_extrude(height = wall+2, center = false, convexity = 5, twist = 0, slices = 20, scale = 1.0) {
|
||||
text(text = "UP", font = "Marsh:style=Stencil", halign="center", size=7);
|
||||
}}}
|
||||
translate([widthX/2-12,-heightY/2+10,-2]) rotate([0,0,0]) cylinder(8,8,8,$fn=3);
|
||||
}
|
||||
translate([4,0,1.5]) rotate([0,0,180])support(3.5,3,1);
|
||||
translate([47,0,1.5]) rotate([0,0,0])support(3.5,3,1);
|
||||
difference() {
|
||||
union() {
|
||||
|
||||
translate([4,0.9,20]) rotate([0,0,180]) triangle(0,4,1);
|
||||
translate([4,-heightY/2+14.9,20]) rotate([0,0,180]) triangle(0,4,1);
|
||||
translate([widthX,0.9,20]) rotate([0,0,180]) triangle(0,4,1);
|
||||
translate([widthX,-heightY/2+14.9,20]) rotate([0,0,180]) triangle(0,4,1);
|
||||
}
|
||||
translate([4.3,0,20]) rotate([0,45,0])cube([6,heightY-6,6], center=true);
|
||||
translate([widthX-4.3,0,20]) rotate([0,45,0])cube([6,heightY-6,6], center=true);
|
||||
}
|
||||
|
||||
difference() {
|
||||
translate([widthX/2,heightY/2-5,12]) rotate([0,0,90])support(2.8,15,2);
|
||||
translate([widthX/2,heightY/2-8,13]) rotate([0,45,90]) cube([15,10,10], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
module triangle(long, width, ukos){
|
||||
translate([0,8,-0.5]) cube([width,long,8+0.5], center=false);
|
||||
difference() {
|
||||
cube([width,8,8], center=false);
|
||||
translate([-1,3,-5]) rotate([30,0,0])cube([6,6,13], center=false);
|
||||
if (ukos==1) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module support(mx,v,d){ // M3 height
|
||||
difference() {
|
||||
hull() {
|
||||
cylinder(h=v, r=mx, center=false);
|
||||
translate([mx+d,-mx,s]) cube([1,mx*2,v], center=false);
|
||||
}
|
||||
translate([0,0,-0.1]) cylinder(h=v+0.2, r=mx/2, center=false);
|
||||
}
|
||||
}
|
||||
|
||||
module box(x,y,z,zz,s){ // x y z - round edges
|
||||
difference() {
|
||||
union() {
|
||||
hull() {
|
||||
translate([zz,zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
translate([x-zz,zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
translate([zz,y-zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
translate([x-zz,y-zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
}
|
||||
}
|
||||
hull() {
|
||||
translate([zz,zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
translate([x-zz,zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
translate([zz,y-zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
translate([x-zz,y-zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
// PRUSA MM upgrade
|
||||
// SuperSwitch-case
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module holder_box()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([0,-20,18]) rotate([0,0,0]) cube([10,3,7]);
|
||||
translate([6,-20,14]) rotate([0,-45,0]) cube([15,5,5]);
|
||||
translate([-1,-17,14]) rotate([45,0,0]) cube([15,6,5]);
|
||||
}
|
||||
}
|
||||
|
||||
module box()
|
||||
{
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
//back plate
|
||||
translate([-65,-25,0]) rotate([0,0,0]) cube([130,53,2]);
|
||||
|
||||
difference()
|
||||
{
|
||||
translate([-65,-25,0]) rotate([0,0,0]) cube([130,53,30]);
|
||||
translate([-63,-23,0]) rotate([0,0,0]) cube([126,49,32]);
|
||||
}
|
||||
|
||||
translate([-50,-13.5,0]) cube([100,2,5]);
|
||||
translate([-50,13.5,0]) cube([100,2,5]);
|
||||
|
||||
translate([-46,-12.5,0]) cylinder( h=6, r=5, $fn=60 );
|
||||
translate([-46,14.5,0]) cylinder( h=6, r=5, $fn=60 );
|
||||
translate([46,-12.5,0]) cylinder( h=6, r=5, $fn=60 );
|
||||
translate([46,14.5,0]) cylinder( h=6, r=5, $fn=60 );
|
||||
translate([-12,-21,0]) cylinder( h=4, r=3, $fn=60 );
|
||||
translate([-12,22,0]) cylinder( h=4, r=3, $fn=60 );
|
||||
|
||||
//corners
|
||||
translate([-65,14,0]) rotate([0,0,45]) cube([20,20,30]);
|
||||
translate([-65,-39,0]) rotate([0,0,45]) cube([20,20,30]);
|
||||
translate([65,14,0]) rotate([0,0,45]) cube([20,20,30]);
|
||||
translate([65,-39,0]) rotate([0,0,45]) cube([20,20,30]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//corners cut
|
||||
translate([-67,16,-1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
translate([-67,-41,-1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
translate([67,16,-1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
translate([67,-41,-1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
|
||||
translate([65,-41,-1]) rotate([0,0,0]) cube([20,90,35]);
|
||||
translate([-85,-41,-1]) rotate([0,0,0]) cube([20,90,35]);
|
||||
translate([-80,-45,-1]) rotate([0,0,0]) cube([150,20,35]);
|
||||
translate([-80,28,-1]) rotate([0,0,0]) cube([150,20,35]);
|
||||
|
||||
|
||||
translate([-46,-12.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
|
||||
translate([-46,14.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
|
||||
translate([46,-12.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
|
||||
translate([46,14.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
|
||||
|
||||
translate([-46,-12.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
|
||||
translate([-46,14.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
|
||||
translate([46,-12.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
|
||||
translate([46,14.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
|
||||
|
||||
translate([-46,-12.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
|
||||
translate([-46,14.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
|
||||
translate([46,-12.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
|
||||
translate([46,14.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
|
||||
|
||||
// frame mounting holes
|
||||
translate([-12,-21,-1]) cylinder( h=15, r=1.7, $fn=60 );
|
||||
translate([-12,22,-1]) cylinder( h=15, r=1.7, $fn=60 );
|
||||
translate([-12,-21,4]) cylinder( h=8, r=3, $fn=60 );
|
||||
translate([-12,22,4]) cylinder( h=4, r=3, $fn=60 );
|
||||
translate([-12,-21,-4]) cylinder( h=5, r1=4, r2=1.7,$fn=60 );
|
||||
translate([-12,22,-4]) cylinder( h=5, r1=4, r2=1.7,$fn=60 );
|
||||
|
||||
// cut off
|
||||
translate([-25,0,-1]) cylinder( h=15, r=11, $fn=6 );
|
||||
translate([-15,0,-1]) cylinder( h=15, r=11, $fn=6 );
|
||||
translate([30,0,-1]) cylinder( h=15, r=11, $fn=6 );
|
||||
translate([15,0,-1]) cylinder( h=15, r=11, $fn=6 );
|
||||
translate([20,0,-1]) cylinder( h=15, r=11, $fn=6 );
|
||||
|
||||
translate([54,0,-1]) cylinder( h=15, r=8, $fn=6 );
|
||||
translate([-53,0,-1]) cylinder( h=15, r=8, $fn=6 );
|
||||
|
||||
// M3 nut
|
||||
translate([71,2,21]) rotate([0,0,90]) cube([6,15,2.5]);
|
||||
|
||||
// wires to rambo hole
|
||||
difference()
|
||||
{
|
||||
translate([-74,2,8]) rotate([0,90,0]) cylinder( h=15, r=8, $fn=6 );
|
||||
translate([-80,-10,6]) rotate([0,90,0]) cube([20,30,30]);
|
||||
}
|
||||
|
||||
// wires to motor hole
|
||||
translate([60,-7,18]) rotate([0,90,0]) cylinder( h=15, r=7, $fn=6 );
|
||||
|
||||
translate( [ -46 , -12.5 ,1] )
|
||||
{
|
||||
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( [ -46 , 14.5 ,1] )
|
||||
{
|
||||
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( [ 46 , -12.5 ,1] )
|
||||
{
|
||||
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( [ 46 , 14.5 ,1] )
|
||||
{
|
||||
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([53.7,5,27]) cylinder( h=5, r=10, $fn=60 );
|
||||
}
|
||||
|
||||
// wires to rambo hole shield
|
||||
difference()
|
||||
{
|
||||
translate([-74,2,8]) rotate([0,90,0]) cylinder( h=11, r=10, $fn=6 );
|
||||
translate([-80,2,8]) rotate([0,90,0]) cylinder( h=25, r=8, $fn=6 );
|
||||
translate([-80,-10,6]) rotate([0,90,0]) cube([20,30,30]);
|
||||
translate([-80,-10,17]) rotate([0,70,0]) cube([20,30,10]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// door mounts
|
||||
translate([0,-3,5]) holder_box();
|
||||
translate([-56,-3,5]) holder_box();
|
||||
translate([-56,6,5]) mirror([0,1,0]) holder_box();
|
||||
translate([0,6,5]) mirror([0,1,0]) holder_box();
|
||||
|
||||
|
||||
// M3 screw for doors
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([59,5,2]) rotate([0,0,90]) cylinder( h=25, r=5, $fn=6 );
|
||||
translate([63,0,2]) rotate([0,0,90]) cube([10,4,25]);
|
||||
}
|
||||
translate([59,5,17]) cylinder( h=25, r=1.6, $fn=60 );
|
||||
translate([59,5,29]) cylinder( h=5, r1=1.6, r2=3, $fn=60 );
|
||||
translate([58,-5,-5]) rotate([0,-30,0]) cube([10,20,25]);
|
||||
translate([71,2,21]) rotate([0,0,90]) cube([6,15,2.5]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
box();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
// PRUSA MM upgrade
|
||||
// SuperSwitch-cover-v2
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
$fn=50;
|
||||
heightY=94;
|
||||
widthX=51;
|
||||
wall=1.5;
|
||||
txt="Y";
|
||||
pcb = 14; // pcb height over bottom
|
||||
|
||||
boxtop(51,heightY,2,3,1.5);
|
||||
|
||||
|
||||
module triangle(long, width, ukos){
|
||||
translate([0,8,-0.5]) cube([width,long,8+0.5], center=false);
|
||||
difference() {
|
||||
cube([width,8,8], center=false);
|
||||
translate([-1,3,-5]) rotate([30,0,0])cube([6,6,13], center=false);
|
||||
if (ukos==1) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module boxtop(x,y,z,zz,s){
|
||||
difference() {
|
||||
union() {
|
||||
box(x,y,s,zz,s);
|
||||
translate([1.1*s,1.1*s,0]) box(x-2.5*s,y-2.5*s,2*s,zz,s);
|
||||
translate([widthX/2,heightY-5,0]) rotate([0,0,180]) cylinder(h=s+3, r=4, center=false);
|
||||
}
|
||||
translate([widthX/2,heightY-5,-2]) rotate([0,0,180]) cylinder(h=10, r=1.6, center=false);
|
||||
translate([widthX/2,heightY-5,-1]) rotate([0,0,180]) cylinder(h=4, r=3, center=false);
|
||||
translate([widthX/2,heightY-5,1]) rotate([0,0,180]) cube([5.2,3.2,5], center=true);
|
||||
|
||||
translate([widthX/2,92.2,8.6]) rotate([45,0,0])cube([widthX,8,12], center=true);
|
||||
// TXT
|
||||
translate([widthX/2,heightY/2-12,3]){rotate([0,180,0]){
|
||||
linear_extrude(height = wall+2, center = false, convexity = 5, twist = 0, slices = 20, scale = 1.0) {
|
||||
|
||||
}}}
|
||||
}
|
||||
difference() {
|
||||
union() {
|
||||
translate([0.15,heightY/2-7,1]) rotate([0,0,0]) triangle(4,3,0);
|
||||
translate([0.15,7,1]) rotate([0,0,0]) triangle(4,3,0);
|
||||
|
||||
translate([widthX-3.6,heightY/2-7,1]) rotate([0,0,0]) triangle(4,3,0);
|
||||
translate([widthX-3.6,7,1]) rotate([0,0,0]) triangle(4,3,0);
|
||||
}
|
||||
translate([widthX/2,20,8]) rotate([45,0,0])cube([widthX,8,12], center=true);
|
||||
translate([widthX/2,55,8]) rotate([45,0,0])cube([widthX,8,12], center=true);
|
||||
translate([widthX/2,90,8]) rotate([45,0,0])cube([widthX,8,12], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module box(x,y,z,zz,s){ // x y z - round edges
|
||||
difference() {
|
||||
union() {
|
||||
hull() {
|
||||
translate([zz,zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
translate([x-zz,zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
translate([zz,y-zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
translate([x-zz,y-zz,0]) cylinder(h=z, r=zz+s, center=false, $fn=4);
|
||||
}
|
||||
}
|
||||
hull() {
|
||||
translate([zz,zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
translate([x-zz,zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
translate([zz,y-zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
translate([x-zz,y-zz,s]) cylinder(h=z, r=zz, center=false, $fn=4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
// PRUSA MM upgrade
|
||||
// SuperSwitch-cover
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module holder_doors()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([10,-20,17]) rotate([0,0,0]) cube([10,3,7]);
|
||||
translate([6,-20,14]) rotate([0,-45,0]) cube([15,5,5]);
|
||||
|
||||
}
|
||||
}
|
||||
module doors()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-65,-25,30]) rotate([0,0,0]) cube([130,53,2]);
|
||||
translate([59,5,27]) cylinder( h=5, r=5, $fn=60 );
|
||||
}
|
||||
//corners
|
||||
translate([-67,16,1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
translate([-67,-41,1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
translate([67,16,1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
translate([67,-41,1]) rotate([0,0,45]) cube([20,20,33]);
|
||||
|
||||
// M3 screw
|
||||
translate([59,5,17]) cylinder( h=45, r=1.6, $fn=60 );
|
||||
translate([59,5,29]) cylinder( h=3.5, r=3.2, $fn=60 );
|
||||
|
||||
translate([58.5,-0,21.3]) rotate([0,30,0]) cube([10,10,10]);
|
||||
translate([62.8,-0,20]) cube([10,10,10]);
|
||||
|
||||
translate( [ 59 , 5 ,32] ) rotate([0,180,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([-55,-19.5,27]) cube([110,1,3]);
|
||||
translate([-55,21.5,27]) cube([110,1,3]);
|
||||
|
||||
// holders
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
translate([-4.8,-2.5,7]) holder_doors();
|
||||
translate([-60.8,-2.5,7]) holder_doors();
|
||||
translate([-4.8,42.5,7]) holder_doors();
|
||||
translate([-60.8,42.5,7]) holder_doors();
|
||||
}
|
||||
translate([11,-40,23]) rotate([0,45,0]) cube([10,80,10]);
|
||||
translate([-45,-40,23]) rotate([0,45,0]) cube([10,80,10]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
doors();
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
// PRUSA MM upgrade
|
||||
// Y-Splitter
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
module festo_cut()
|
||||
{
|
||||
translate([0,0,-37]) cylinder( h=72, r=1.0, $fn=30 );
|
||||
translate([0,0,-23]) cylinder( h=25, r1=1.65, r2=2,$fn=30 );
|
||||
translate([0,0,-25]) cylinder( h=2.2, r1=1, r2=1.4,$fn=30 );
|
||||
|
||||
translate([0,0,-3]) cylinder( h=3, r1=1.25, r2=1.5, $fn=30 );
|
||||
translate([0,0,0]) cylinder( h=6, r=2.15, $fn=30 );
|
||||
translate([0,0,5]) cylinder( h=1.5, r=5, $fn=30 );
|
||||
translate([0,0,2]) cylinder( h=3.1, r=3.75, $fn=30 );
|
||||
translate([0,0,4]) cylinder( h=3, r1=3.75, r2=4.25, $fn=30 );
|
||||
|
||||
translate([-10,-10,5]) cube([20,20,5]) ;
|
||||
}
|
||||
module festo_bottom_cut()
|
||||
{
|
||||
|
||||
translate([0,0,-1]) cylinder( h=4.5, r=2.15, $fn=30 );
|
||||
translate([0,0,3]) cylinder( h=0.8, r=2.15, r2=2.3,, $fn=30 );
|
||||
translate([-15,-15,3.5]) cube([30,30,5]) ;
|
||||
}
|
||||
|
||||
|
||||
module final_part()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
translate([-11,-11,-18.2]) cube([22,22,30]);
|
||||
translate([-11,0,-38]) cube([22,11,30]);
|
||||
difference()
|
||||
{
|
||||
translate([-7,-4,-35]) cube([14,15,17]) ;
|
||||
|
||||
translate([-15,-20,-36]) rotate([0,0,45]) cube([20,20,20]) ;
|
||||
translate([15,-20,-36]) rotate([0,0,45]) cube([20,20,20]) ;
|
||||
|
||||
translate([15,1,-36]) rotate([0,0,45]) cube([20,20,20]) ;
|
||||
translate([-15,1,-36]) rotate([0,0,45]) cube([20,20,20]) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
translate([-4.4,-4.4,5]) rotate([7,-7,0]) festo_cut();
|
||||
translate([4.4,-4.4,5]) rotate([7,7,0]) festo_cut();
|
||||
translate([-4.4,4.4,5]) rotate([-7,-7,0]) festo_cut();
|
||||
translate([4.4,4.4,5]) rotate([-7,7,0]) festo_cut();
|
||||
|
||||
translate([0,0,-34]) cylinder( h=7, r=1.15, r2=1.3, $fn=30 );
|
||||
translate([0,0,-41]) cylinder( h=10, r=2.15, $fn=30 );
|
||||
translate([0,0,-38]) cylinder( h=5, r1=3, r2=2.15, $fn=30 );
|
||||
translate([0,0,-39]) cylinder( h=4, r=7, $fn=30 );
|
||||
|
||||
|
||||
translate([-14,-20,-30]) rotate([0,0,45]) cube([10,10,50]);
|
||||
translate([-14,6,-40]) rotate([0,0,45]) cube([10,10,50]);
|
||||
translate([14,-20,-30]) rotate([0,0,45]) cube([10,10,50]);
|
||||
translate([14,6,-40]) rotate([0,0,45]) cube([10,10,50]);
|
||||
|
||||
|
||||
translate([-3,0,0]) rotate([0,-5,0]) translate([-13,-1,-40]) rotate([0,0,60]) cube([20,10,60]);
|
||||
translate([-4.5,18,0]) rotate([0,5,0]) translate([10,-1,-40]) rotate([0,0,-60]) cube([20,10,60]);
|
||||
|
||||
translate([-25,-6,-14]) rotate([0,90,0]) cylinder( h=50, r=1.5, $fn=30 );
|
||||
translate([10.5,5,5]) rotate([0,90,0]) cylinder( h=2, r=1.5, $fn=30 );
|
||||
translate([10.5,1,5]) rotate([0,90,0]) cylinder( h=2, r=1.5, $fn=30 );
|
||||
translate([-12.5,5,5]) rotate([0,90,0]) cylinder( h=2, r=1.5, $fn=30 );
|
||||
translate([-12.5,1,5]) rotate([0,90,0]) cylinder( h=2, r=1.5, $fn=30 );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
final_part();
|
||||
|
||||
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
|
|
@ -1,4 +1,4 @@
|
|||
# Original Prusa i3 MK2
|
||||
# Original Prusa i3 MK2 + Multi Material upgrade
|
||||
|
||||
|
||||
Original Prusa i3 MK2 is a 3D printer project maintained by PRUSA RESEARCH.
|
||||
|
|
@ -10,5 +10,5 @@ This repository contains SCAD files and STLs of the printed parts.
|
|||
|
||||
* Prusa Research website : http://prusa3d.com
|
||||
* Product page : http://shop.prusa3d.com/en/3d-printers/59-original-prusa-i3-mk2-kit.html
|
||||
* Build manual : http://manual.prusa3d.com/c/English_manuals
|
||||
* Build manual : http://manual.prusa3d.com/c/Original_Prusa_i3_MK2_kit_assembly
|
||||
* Firmware : https://github.com/prusa3d/Prusa-Firmware
|
||||
|
|
|
|||
Loading…
Reference in New Issue