initial commit
This commit is contained in:
parent
7a61ad3021
commit
8897214524
|
|
@ -0,0 +1,33 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// blade-holder
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
module blade_holder()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// base shape
|
||||||
|
translate([40,-28,5]) cube([25,4,16]);
|
||||||
|
|
||||||
|
// screws
|
||||||
|
translate([45,-20,16]) rotate([90,0,0]) cylinder(r=1.7, h=10, $fn=50);
|
||||||
|
translate([55,-20,12]) rotate([90,0,0]) cylinder(r=1.7, h=10, $fn=50);
|
||||||
|
translate([45,-22,16]) rotate([90,0,0]) cylinder(r=3.1, h=4, $fn=50);
|
||||||
|
translate([55,-22,12]) rotate([90,0,0]) cylinder(r=3.1, h=4, $fn=50);
|
||||||
|
|
||||||
|
// edges
|
||||||
|
translate([38,-24,1]) rotate([46,0,0]) cube([30,7,5]);
|
||||||
|
translate([38,-23,19]) rotate([45,0,0]) cube([30,5,5]);
|
||||||
|
|
||||||
|
// filament path
|
||||||
|
translate([59,-20,4]) rotate([90,0,0]) cylinder(r=1.3, h=10, $fn=50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rotate([90,0,0])
|
||||||
|
blade_holder();
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,159 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// ele-cover
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module nut_cut()
|
||||||
|
{
|
||||||
|
translate([0,0,2]) cylinder(r=3.1, r2=4, h=4, $fn=6);
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
cylinder(r=3.1, h=4, $fn=6);
|
||||||
|
translate([-3.65,-5,-0.4]) cube([2,10,1]);
|
||||||
|
translate([1.65,-5,-0.4]) cube([2,10,1]);
|
||||||
|
translate([-2,1.65,-0.7]) cube([4,4,1]);
|
||||||
|
translate([-2,-5.65,-0.7]) cube([4,4,1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module head_cut()
|
||||||
|
{
|
||||||
|
translate([0,0,2.5]) cylinder(r=3.1, r2=4, h=4, $fn=30);
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
cylinder(r=3.1, h=4, $fn=30);
|
||||||
|
translate([-3.65,-5,-0.4]) cube([2,10,1]);
|
||||||
|
translate([1.65,-5,-0.4]) cube([2,10,1]);
|
||||||
|
translate([-2,1.65,-0.7]) cube([4,4,1]);
|
||||||
|
translate([-2,-5.65,-0.7]) cube([4,4,1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module ele_cover()
|
||||||
|
{
|
||||||
|
|
||||||
|
difference(){
|
||||||
|
|
||||||
|
translate([-29,-21,23]) cube([125,56,15]);
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-21,-11.5,21]) cube([108,48,15]);
|
||||||
|
translate([73,8,34]) cylinder(r=5, h=3, $fn=6);
|
||||||
|
translate([30,22,34]) cylinder(r=5, h=3, $fn=6);
|
||||||
|
translate([-10,1,34]) cylinder(r=5, h=3, $fn=6);
|
||||||
|
translate([-14,1,34]) cylinder(r=5, h=3, $fn=6);
|
||||||
|
translate([-19,1,34]) cylinder(r=5, h=3, $fn=6);
|
||||||
|
|
||||||
|
}
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-30,-23,22]) rotate([45,0,0]) cube([130,47,10]);
|
||||||
|
translate([-30,-12.5,22]) rotate([0,0,0]) cube([130,30,30]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// angled side for buttons
|
||||||
|
translate([-17,-20,22]) rotate([55,0,0]) cube([33,13,10]);
|
||||||
|
|
||||||
|
// LED
|
||||||
|
for (i =[0:4])
|
||||||
|
{
|
||||||
|
translate([22+(i*13.716),-21,29.5]) cube([4,10,3]);
|
||||||
|
translate([22+(i*13.716),-10,31]) rotate([90,0,0]) cylinder(r=1.5, h=18, $fn=50);
|
||||||
|
translate([26+(i*13.716),-10,31]) rotate([90,0,0]) cylinder(r=1.5, h=18, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
// buttons
|
||||||
|
translate([11,-11,28.5]) rotate([90,0,0]) cylinder(r=2.5, h=18, $fn=50);
|
||||||
|
translate([-1,-11,28.5]) rotate([90,0,0]) cylinder(r=2.5, h=18, $fn=50);
|
||||||
|
translate([-13,-11,28.5]) rotate([90,0,0]) cylinder(r=2.5, h=18, $fn=50);
|
||||||
|
|
||||||
|
// reset button
|
||||||
|
translate([78,7.5,28.5]) rotate([0,90,0]) cylinder(r=2.5, h=20, $fn=50);
|
||||||
|
|
||||||
|
// usb
|
||||||
|
translate([80,-8.5,29]) cube([20,12,7]);
|
||||||
|
|
||||||
|
translate([78,1.5,29]) rotate([0,90,0]) cylinder(r=2, h=20, $fn=50);
|
||||||
|
translate([78,-6.5,29]) rotate([0,90,0]) cylinder(r=2, h=20, $fn=50);
|
||||||
|
translate([75,-6.5,27]) cube([25,8,3]);
|
||||||
|
|
||||||
|
// mounting screws
|
||||||
|
translate([73,8,28.5]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([30,22,28.5]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([-10,1,28.5]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
translate([73,8,35.0]) nut_cut();
|
||||||
|
translate([30,22,35.0]) nut_cut();
|
||||||
|
translate([-10,1,35.0]) nut_cut();
|
||||||
|
|
||||||
|
|
||||||
|
// edges
|
||||||
|
translate([-30,-16,33]) rotate([45,0,0]) cube([130,10,10]);
|
||||||
|
translate([-40,-16,37.5]) rotate([0,30,0]) cube([10,60,10]);
|
||||||
|
translate([99.5,-16,30]) rotate([0,-30,0]) cube([10,60,10]);
|
||||||
|
|
||||||
|
|
||||||
|
// ventilation
|
||||||
|
for (i =[0:3])
|
||||||
|
{
|
||||||
|
translate([15-(i*6),0,30]) cube([4,23,20]);
|
||||||
|
translate([17-(i*6),0,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
translate([17-(i*6),23,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
}
|
||||||
|
for (i =[0:1])
|
||||||
|
{
|
||||||
|
translate([-10-(i*6),8,30]) cube([4,15,20]);
|
||||||
|
translate([-8-(i*6),8,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
translate([-8-(i*6),23,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// sheep ventilation
|
||||||
|
translate([21,0,30]) cube([15,15.5,20]);
|
||||||
|
translate([23,0,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
translate([34,0,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
translate([23,15.5,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
translate([34,15.5,30]) cylinder(r=2, h=20, $fn=6);
|
||||||
|
translate([23,-1.75,30]) cube([10,19,20]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([-4,-2,35]) cube([35,19.5,2]);
|
||||||
|
translate([-19,5.5,35]) cube([40,19.5,2]);
|
||||||
|
|
||||||
|
|
||||||
|
// mounting screws
|
||||||
|
translate([-24,8,35]) head_cut();
|
||||||
|
translate([-24,8,10]) cylinder(r=1.65, h=30, $fn=50);
|
||||||
|
|
||||||
|
translate([91,14,35]) head_cut();
|
||||||
|
translate([91,14,10]) cylinder(r=1.65, h=30, $fn=50);
|
||||||
|
|
||||||
|
for (i =[0:3])
|
||||||
|
{
|
||||||
|
translate([40+(i*14),-8,37.7]) cube([10,10,10]);
|
||||||
|
translate([40+(i*14),22,37.7]) cube([10,10,10]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//version
|
||||||
|
translate([-19,-4.5,36.5]) rotate([0,180,180]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=6, center=true); }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-21,5,34]) cube([2,6,2]);
|
||||||
|
translate([-24,8,35]) cylinder(r=3.1, h=4, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
rotate([0,180,0])
|
||||||
|
ele_cover();
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
// 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,63,-17]) rotate([90,0,0]) cylinder(r=6,h = 13, $fn=30);
|
||||||
|
translate([0,63,-10]) rotate([90,0,0]) cylinder(r=5,h = 13, $fn=30);
|
||||||
|
|
||||||
|
translate([-5,50,-17]) cube([10,13,7]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// brass insert hole
|
||||||
|
translate([0,63.5,-17]) rotate([90,0,0]) cylinder(r=3.8,h = 5.5, $fn=30);
|
||||||
|
translate([0,65,-17]) rotate([90,0,0]) cylinder(r=5,h = 2, $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,66.5,-24.5]) rotate([90,0,0]) cylinder(r=3.1,h = 15, $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([-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("M1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rotate([90,0,0])
|
||||||
|
part();
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// front-ptfe-holder
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
module front_PTFE_holder()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// base shape
|
||||||
|
translate([-16,-30,-15]) cube([84,15,19]);
|
||||||
|
translate([-16,-25,-15]) cube([84,10,22.5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// blade space
|
||||||
|
translate([-17,-28,2.2]) rotate([45,0,0]) cube([86,2.7,2.7]);
|
||||||
|
translate([-17,-31,3.5]) cube([86,2.7,2.7]);
|
||||||
|
translate([-17,-25,5.5]) rotate([45,0,0]) cube([86,4,4]);
|
||||||
|
|
||||||
|
// PTFE housing
|
||||||
|
for (i =[0:4])
|
||||||
|
{
|
||||||
|
translate([3+(i*14),-15,4]) rotate([90,0,0]) cylinder(r=2.2, h=10, $fn=50);
|
||||||
|
translate([3+(i*14),-15,4]) rotate([90,0,0]) cylinder(r=1.3, h=18, $fn=50);
|
||||||
|
translate([3+(i*14),-25,4]) rotate([90,0,0]) cylinder(r1=1.3, r2=1.8,h=6, $fn=50);
|
||||||
|
translate([3+(i*14),-23,4]) rotate([90,0,0]) cylinder(r1=1.4, r2=1.1,h=5, $fn=50);
|
||||||
|
translate([3+(i*14),-14,4]) rotate([90,0,0]) cylinder(r2=2.1, r1=2.6,h=3, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
// angled front side
|
||||||
|
translate([-19,-21,-25]) rotate([52,0,0]) cube([95,10,19]);
|
||||||
|
translate([-19,-38.5,-15]) rotate([5,0,0]) cube([91,10,19]);
|
||||||
|
translate([-10,-42,-15]) rotate([0,0,50]) cube([15,30,30]);
|
||||||
|
translate([60,-39,-15]) rotate([0,0,-20]) cube([15,30,30]);
|
||||||
|
|
||||||
|
// front PTFE tubes holder screws
|
||||||
|
translate([9,-14,-1.5]) rotate([90,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([9,-14,-1.5]) rotate([90,0,0]) cylinder(r2=1.65, r1=2.5, h=2, $fn=50);
|
||||||
|
translate([9,-20,-1.5]) rotate([90,0,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
translate([23,-14,-1.5]) rotate([90,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([23,-14,-1.5]) rotate([90,0,0]) cylinder(r2=1.65, r1=2.5, h=2, $fn=50);
|
||||||
|
translate([23,-20,-1.5]) rotate([90,0,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
|
||||||
|
translate([37,-14,-1.5]) rotate([90,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([37,-14,-1.5]) rotate([90,0,0]) cylinder(r2=1.65, r1=2.5, h=2, $fn=50);
|
||||||
|
translate([37,-20,-1.5]) rotate([90,0,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
translate([51,-14,-1.5]) rotate([90,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([51,-14,-1.5]) rotate([90,0,0]) cylinder(r2=1.65, r1=2.5, h=2, $fn=50);
|
||||||
|
translate([51,-20,-1.5]) rotate([90,0,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
|
||||||
|
//version
|
||||||
|
translate([-2,-15.5,-7]) rotate([-90,180,0]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=6, center=true); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rotate([-90,0,0])
|
||||||
|
front_PTFE_holder();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,223 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// idler-body
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
module motor_screws()
|
||||||
|
{
|
||||||
|
translate([-34,15.5,15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([-24.1,15.5,15.5]) rotate([0,90,0]) cylinder(r=3.2, h=15, $fn=50);
|
||||||
|
translate([-24.1,15.5-3.2,15.5]) cube([15,6.4,10]);
|
||||||
|
translate([-10,15.5-2,15.5]) rotate([0,-30,0]) cube([20,4,10]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([-34,-15.5,15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([-24.1,-15.5,15.5]) rotate([0,90,0]) cylinder(r=3.2, h=15, $fn=50);
|
||||||
|
translate([-24.1,-15.5-3.2,15.5]) cube([15,6.4,10]);
|
||||||
|
translate([-10,-15.5-2,15.5]) rotate([0,-30,0]) cube([20,4,10]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([-34,15.5,-15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([-24.1,15.5,-15.5]) rotate([0,90,0]) cylinder(r=3.2, h=15, $fn=50);
|
||||||
|
|
||||||
|
translate([-34,-15.5,-15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([-24.1,-15.5,-15.5]) rotate([0,90,0]) cylinder(r=3.2, h=15, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module idler_spring_screws()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
translate([0,-27,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([0,-27.5,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([0,-26.5,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
|
||||||
|
translate([-1.7,-27.5,-4.2]) cube([1.7*2,1,10]);
|
||||||
|
|
||||||
|
translate([0,-27,9]) rotate([-175,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([0,-27,9]) rotate([-185,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
translate([0,-27,5.5]) rotate([0,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
translate([0,-27.5,5.5]) rotate([3,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
translate([0,-26.5,5.5]) rotate([-3,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
}
|
||||||
|
translate([-5,-35,-4.5]) cube([10,20,10]);
|
||||||
|
translate([-5,-33.6,-4.2]) cube([10,4.4,10]);
|
||||||
|
translate([-5,-24.8,-4.2]) cube([10,4.4,10]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module idler_body_base()
|
||||||
|
{
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// body
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
translate([-29,-25,0]) cube([125,50,23]);
|
||||||
|
translate([-29,-25,-20]) cube([10,49,42]);
|
||||||
|
translate([70.5,0,0]) rotate([0,90,0]) cylinder(r=7, h=10, $fn=50);
|
||||||
|
|
||||||
|
// spring screw mounts
|
||||||
|
translate([86,-33,-2]) cube([10,57,25]);
|
||||||
|
translate([-27,-33,-2]) cube([10,57,25]);
|
||||||
|
translate([91,-33,-2]) rotate([0,0,0]) cylinder(r=5, h=25, $fn=6);
|
||||||
|
translate([-22,-33,-2]) rotate([0,0,0]) cylinder(r=5, h=25, $fn=6);
|
||||||
|
//translate([-27,-20,-8]) rotate([20,0,0]) cube([8,10,10]);
|
||||||
|
|
||||||
|
// hold together shaft housing
|
||||||
|
translate([81,30,-24]) rotate([0,90,0]) cylinder(r=11, h=10, $fn=50);
|
||||||
|
translate([-29,30,-24]) rotate([0,90,0]) cylinder(r=11, h=10, $fn=50);
|
||||||
|
translate([81,21,-24]) cube([10,20,46]);
|
||||||
|
translate([-29,21,-24]) cube([10,20,46]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// shaft
|
||||||
|
translate([70,0,0]) rotate([0,90,0]) cylinder(r=2.55, h=12, $fn=50);
|
||||||
|
translate([80.5,0,0]) rotate([0,90,0]) cylinder(r=3, h=20, $fn=50);
|
||||||
|
translate([81,-3,-10]) cube([20,6,10]);
|
||||||
|
translate([85,0,-11.5]) rotate([45,0,0]) cube([15,10,10]);
|
||||||
|
translate([83.5,0,-9]) rotate([0,0,0]) cylinder(r=3, h=12, $fn=50);
|
||||||
|
translate([83.5,0,0]) rotate([0,0,0]) cylinder(r=1.4, h=12, $fn=50);
|
||||||
|
translate([83.5,0,2]) rotate([0,0,0]) cylinder(r2=1.4,r1=1.7, h=3, $fn=50);
|
||||||
|
|
||||||
|
// hold together shafts
|
||||||
|
translate([80,30,-24]) rotate([0,90,0]) cylinder(r=2.55, h=12, $fn=50);
|
||||||
|
translate([-30,30,-24]) rotate([0,90,0]) cylinder(r=2.55, h=12, $fn=50);
|
||||||
|
translate([89,30,-24]) rotate([0,90,0]) cylinder(r1=2.55, r2=3, h=3, $fn=50);
|
||||||
|
translate([-30,30,-24]) rotate([0,90,0]) cylinder(r2=2.55, r1=3, h=3, $fn=50);
|
||||||
|
|
||||||
|
translate([80,30,-25.5]) rotate([0,90,0]) cylinder(r=1.5, h=12, $fn=50);
|
||||||
|
translate([-30,30,-25.5]) rotate([0,90,0]) cylinder(r=1.5, h=12, $fn=50);
|
||||||
|
|
||||||
|
translate([80,30,-19]) rotate([0,90,0]) cylinder(r=1.4, h=12, $fn=50);
|
||||||
|
translate([-30,30,-19]) rotate([0,90,0]) cylinder(r=1.4, h=12, $fn=50);
|
||||||
|
translate([89,30,-19]) rotate([0,90,0]) cylinder(r1=1.4, r2=1.8, h=3, $fn=50);
|
||||||
|
translate([-31,30,-19]) rotate([0,90,0]) cylinder(r2=1.4, r1=1.8, h=3, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
// idler bearing spaces
|
||||||
|
translate([-0.5,0,0]) rotate([0,90,0]) cylinder(r=22, h=7, $fn=50);
|
||||||
|
translate([-0.5+14,0,0]) rotate([0,90,0]) cylinder(r=22, h=7, $fn=50);
|
||||||
|
translate([-0.5+28,0,0]) rotate([0,90,0]) cylinder(r=22, h=7, $fn=50);
|
||||||
|
translate([-0.5+42,0,0]) rotate([0,90,0]) cylinder(r=22, h=7, $fn=50);
|
||||||
|
translate([-0.5+56,0,0]) rotate([0,90,0]) cylinder(r=22, h=7, $fn=50);
|
||||||
|
|
||||||
|
// idler body space
|
||||||
|
translate([-5,0,0]) rotate([0,90,0]) cylinder(r=18, h=75.5, $fn=50);
|
||||||
|
translate([-30,0,0]) rotate([0,90,0]) cylinder(r=11.5, h=5, $fn=50);
|
||||||
|
translate([-30,0,-8]) rotate([0,90,0]) cylinder(r=4, h=5, $fn=50);
|
||||||
|
|
||||||
|
// motor coupling space
|
||||||
|
translate([-26,0,0]) rotate([0,90,0]) cylinder(r=18, h=22, $fn=50);
|
||||||
|
translate([-24.1,-10,-30]) cube([15,20,20]);
|
||||||
|
|
||||||
|
// motor screws
|
||||||
|
motor_screws();
|
||||||
|
|
||||||
|
// idler tension springs and screws
|
||||||
|
translate([-22,-27,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([91,-27,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([-22,-27.5,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([91,-27.5,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([-22,-26.5,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
translate([91,-26.5,-4]) rotate([0,0,0]) cylinder(r=1.7, h=30, $fn=50);
|
||||||
|
|
||||||
|
translate([-22,-27,6]) rotate([0,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
translate([-22,-26.5,6.5]) rotate([-3,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
translate([-22,-27.5,6.5]) rotate([3,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
|
||||||
|
translate([91,-27,6]) rotate([0,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
translate([91,-27.5,6.5]) rotate([3,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
translate([91,-26.5,6.5]) rotate([-3,0,0]) cylinder(r=3.5, h=30, $fn=50);
|
||||||
|
|
||||||
|
translate([91,0,0]) idler_spring_screws();
|
||||||
|
translate([-22,0,0]) idler_spring_screws();
|
||||||
|
|
||||||
|
// front edge
|
||||||
|
translate([-30,-35,-27]) cube([15,15,25]);
|
||||||
|
translate([-30,-24,-35]) rotate([45,0,0]) cube([15,15,15]);
|
||||||
|
|
||||||
|
translate([-30,-40,-23]) rotate([45,0,0]) cube([150,15,25]);
|
||||||
|
|
||||||
|
// rear edge
|
||||||
|
translate([-30,44,-20]) rotate([25,0,0]) cube([130,20,55]);
|
||||||
|
translate([105.2,11.5,-20]) rotate([0,0,45]) cube([20,20,55]);
|
||||||
|
translate([-19,44,-20]) rotate([25,0,0]) cube([100,20,55]);
|
||||||
|
translate([-19,20,-17]) rotate([10,0,0]) cube([100,20,20]);
|
||||||
|
|
||||||
|
// easy printing
|
||||||
|
translate([10,3,22.7]) cube([15,15,1]);
|
||||||
|
translate([30,3,22.7]) cube([15,15,1]);
|
||||||
|
translate([70,3,22.7]) cube([15,15,1]);
|
||||||
|
translate([50,3,22.7]) cube([15,15,1]);
|
||||||
|
translate([10,-17,22.7]) cube([15,15,1]);
|
||||||
|
translate([30,-17,22.7]) cube([15,15,1]);
|
||||||
|
translate([50,-17,22.7]) cube([15,15,1]);
|
||||||
|
translate([70,-17,22.7]) cube([15,15,1]);
|
||||||
|
translate([-10,-7,22.7]) cube([15,15,1]);
|
||||||
|
|
||||||
|
// endstop mount
|
||||||
|
translate([-0,15,-3]) cube([20,12,8]);
|
||||||
|
|
||||||
|
// cover nuts
|
||||||
|
translate([91,14,10]) cylinder(r=1.65, h=25, $fn=50);
|
||||||
|
translate([91,14,22]) cylinder(r1=1.65, r2=2.2,h=2, $fn=50);
|
||||||
|
translate([-24,8,10]) cylinder(r=1.65, h=25, $fn=50);
|
||||||
|
translate([-24,8,22]) cylinder(r1=1.65, r2=2.2,h=2, $fn=50);
|
||||||
|
translate([91-2.9,14-2.8,18]) cube([10,5.6,2]);
|
||||||
|
translate([-34+2.8,8-2.8,18]) cube([10,5.6,2]);
|
||||||
|
translate([91-1.65,14-2.8,17.4]) cube([1.65*2,5.6,2]);
|
||||||
|
translate([-27.3+1.65,8-2.8,17.4]) cube([1.65*2,5.6,2]);
|
||||||
|
|
||||||
|
// cover edges
|
||||||
|
translate([-17,-34,18]) rotate([-31,0,0]) cube([33,10,20]);
|
||||||
|
translate([-17,-36,18]) rotate([-31,0,0]) cube([103,10,20]);
|
||||||
|
translate([-17,-25,-3]) rotate([-45,0,0]) cube([88,11,11]);
|
||||||
|
|
||||||
|
|
||||||
|
//version
|
||||||
|
translate([-5,24.4,7]) rotate([-90,180,0]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module endstop_block()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-1,15.5,3]) cube([22,9.5,5]);
|
||||||
|
|
||||||
|
translate([-1,14,2.4]) rotate([45,0,0]) cube([22,10,5]);
|
||||||
|
translate([-0.8,11,2]) rotate([0,0,45]) cube([5,5,5]);
|
||||||
|
translate([20.8,11,2]) rotate([0,0,45]) cube([5,5,5]);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module idler_body()
|
||||||
|
{
|
||||||
|
endstop_block();
|
||||||
|
idler_body_base();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rotate([0,180,0])
|
||||||
|
idler_body();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,161 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// idler
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
module idler_segment_l()
|
||||||
|
{
|
||||||
|
translate([0,0,-12]) rotate([0,90,0]) cylinder(r=8.5, h=6, $fn=50);
|
||||||
|
translate([-6,0,-12]) rotate([0,90,0]) cylinder(r=2.55, h=60, $fn=50);
|
||||||
|
translate([-70,0,-12.5]) rotate([0,90,0]) cylinder(r=1.6, h=75, $fn=50);
|
||||||
|
translate([-70,0,-12]) rotate([0,90,0]) cylinder(r=1.4, h=75, $fn=50);
|
||||||
|
translate([10,0,-12]) rotate([0,90,0]) cylinder(r=2.7, h=44, $fn=50);
|
||||||
|
|
||||||
|
translate([0,-8.5,-32]) cube([6,17,20]);
|
||||||
|
}
|
||||||
|
|
||||||
|
module idler_segment_r()
|
||||||
|
{
|
||||||
|
translate([0,0,-12]) rotate([0,90,0]) cylinder(r=8.5, h=6, $fn=50);
|
||||||
|
translate([-48,0,-12]) rotate([0,90,0]) cylinder(r=2.55, h=60, $fn=50);
|
||||||
|
translate([0,0,-12]) rotate([0,90,0]) cylinder(r=1.4, h=80, $fn=50);
|
||||||
|
translate([0,0,-12.5]) rotate([0,90,0]) cylinder(r=1.6, h=80, $fn=50);
|
||||||
|
translate([-48-17,0,-12]) rotate([0,90,0]) cylinder(r=2.7, h=60, $fn=50);
|
||||||
|
|
||||||
|
translate([0,-8.5,-32]) cube([6,17,20]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module idler()
|
||||||
|
{
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// base body
|
||||||
|
translate([-3,0,0]) rotate([0,90,0]) cylinder(r=17, h=71, $fn=50);
|
||||||
|
translate([-5,0,0]) rotate([0,90,0]) cylinder(r2=17,r1=16, h=2, $fn=50);
|
||||||
|
translate([68,0,0]) rotate([0,90,0]) cylinder(r1=17, r2=16, h=2, $fn=50);
|
||||||
|
|
||||||
|
// motor shaft coupling
|
||||||
|
rotate([-60,0,0])
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
translate([-25,0,0]) rotate([0,90,0]) cylinder(r=9, h=20, $fn=50);
|
||||||
|
translate([-25,-6,5]) cube([20,12,9]);
|
||||||
|
translate([-25,-5,-5]) rotate([60,0,0]) cube([20,16,10]);
|
||||||
|
}
|
||||||
|
// screws
|
||||||
|
translate([-10,0,0]) cylinder(r=1.6, h=12.5, $fn=50);
|
||||||
|
translate([-10,0,10.4]) cylinder(r=3.1, h=5, $fn=50);
|
||||||
|
translate([-20,0,0]) cylinder(r=1.6, h=12.5, $fn=50);
|
||||||
|
translate([-20,0,10.4]) cylinder(r=3.1, h=5, $fn=50);
|
||||||
|
|
||||||
|
// nuts
|
||||||
|
translate([-12.8,-2.8,7]) cube([5.6,10,2]);
|
||||||
|
translate([-22.8,-2.8,7]) cube([5.6,10,2]);
|
||||||
|
translate([-12.8,2.8,6.9]) cube([5.6,10,2.2]);
|
||||||
|
translate([-22.8,2.8,6.9]) cube([5.6,10,2.2]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([-26,6.5,10]) rotate([30,0,0]) cube([21,16,10]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// shaft reinforcement
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-21,0,0]) rotate([0,90,0]) cylinder(r=7, h=15, $fn=50);
|
||||||
|
translate([-21,0,0]) rotate([0,90,0]) cylinder(r=6, h=15, $fn=50);
|
||||||
|
translate([-30,-3,15]) rotate([-60,0,0]) cube([30,100,10]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// idler bearing segments
|
||||||
|
rotate([-160/2,0,0])
|
||||||
|
{
|
||||||
|
translate([0,0,0]) idler_segment_r();
|
||||||
|
translate([14,0,0]) rotate([40,0,0]) idler_segment_r();
|
||||||
|
translate([28,0,0]) rotate([80,0,0]) idler_segment_l();
|
||||||
|
translate([42,0,0]) rotate([120,0,0]) idler_segment_l();
|
||||||
|
translate([56,0,0]) rotate([160,0,0]) idler_segment_l();
|
||||||
|
}
|
||||||
|
|
||||||
|
// shaft
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
translate([-26,0,0]) rotate([0,90,0]) cylinder(r=2.55, h=25, $fn=50);
|
||||||
|
translate([-26,0,0]) rotate([0,90,0]) cylinder(r2=2.55, r1=3, h=3, $fn=50);
|
||||||
|
}
|
||||||
|
translate([-25,-0.15,5]) rotate([-60,0,0]) cube([20,12,9]);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([62,0,0]) rotate([0,90,0]) cylinder(r=2.55, h=4, $fn=50);
|
||||||
|
translate([-26,0,0]) rotate([0,90,0]) cylinder(r=2, h=150, $fn=50);
|
||||||
|
|
||||||
|
// shaft bearing
|
||||||
|
translate([65,0,0]) rotate([0,90,0]) cylinder(r=8, h=6, $fn=50);
|
||||||
|
translate([64,0,0]) rotate([0,90,0]) cylinder(r=6.5, h=6, $fn=50);
|
||||||
|
translate([68.5,0,0]) rotate([0,90,0]) cylinder(r1=8, r2=9, h=5, $fn=50);
|
||||||
|
|
||||||
|
// endstop cut
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-1,0,0]) rotate([0,90,0]) cylinder(r=20, h=22, $fn=50);
|
||||||
|
translate([-1,0,0]) rotate([0,90,0]) cylinder(r=14.5, h=22, $fn=50);
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-5,-48,-30]) cube([30,50,50]);
|
||||||
|
translate([-5,-16,9]) cube([30,30,30]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// removal opening
|
||||||
|
translate([-1,6.72,-10.5]) rotate([-50,0,0]) cube([22,10,3.2]);
|
||||||
|
translate([-1,8,-10.5]) rotate([-110,0,0]) cube([22,5,3.2]);
|
||||||
|
translate([-1,8,-12.2]) rotate([-10,0,0]) cube([22,5,3.2]);
|
||||||
|
|
||||||
|
translate([-1,14,-6.8]) rotate([40,0,0]) cube([22,3,5]);
|
||||||
|
translate([-1,13,-8]) rotate([00,0,0]) cube([22,3,5]);
|
||||||
|
translate([-1,12,-4]) rotate([-10,0,0]) cube([22,5,3.2]);
|
||||||
|
translate([-1,15.5,-4]) rotate([30,0,0]) cube([22,5,3.2]);
|
||||||
|
|
||||||
|
translate([-1,-20,10.9]) rotate([0,0,0]) cube([1,50,5]);
|
||||||
|
translate([20,-20,10.9]) rotate([0,0,0]) cube([1,50,5]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([-1,-19.95,4.0]) rotate([30,0,0]) cube([22,10,10]);
|
||||||
|
|
||||||
|
// flat bottom
|
||||||
|
translate([-30,-25,11]) cube([150,50,15]);
|
||||||
|
|
||||||
|
// version
|
||||||
|
translate([6,-1.5,10.5]) rotate([0,0,0]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rotate([0,180,0])
|
||||||
|
idler();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,276 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// pulley-body
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
module front_PTFE()
|
||||||
|
{
|
||||||
|
for (i =[0:4])
|
||||||
|
{
|
||||||
|
translate([3+(i*14),-10.5,4]) rotate([90,0,0]) cylinder(r=2.2, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),-10.5,5.5]) rotate([90,0,0]) cylinder(r=1, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),-15.5,4]) rotate([90,0,0]) cylinder(r1=2.2, r2=2.4, h=5, $fn=50);
|
||||||
|
translate([3+(i*14),0,4]) rotate([90,0,0]) cylinder(r=1.1, h=35, $fn=50);
|
||||||
|
translate([3+(i*14),-2,4]) rotate([90,0,0]) cylinder(r1=2,r2=1.1, h=5, $fn=50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module rear_PTFE()
|
||||||
|
{
|
||||||
|
for (i =[0:4])
|
||||||
|
{
|
||||||
|
translate([3+(i*14),15,4]) rotate([90,0,0]) cylinder(r=1.2, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),11.5,4]) rotate([90,0,0]) cylinder(r2=1.2, r1=1.5, h=3, $fn=50);
|
||||||
|
translate([3+(i*14),15,4]) rotate([92,0,0]) cylinder(r1=1.1, r2=1.3, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),25,4]) rotate([90,0,0]) cylinder(r=2.05, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),17,4.25]) rotate([95,0,0]) cylinder(r=2.05, h=3, $fn=50);
|
||||||
|
translate([3+(i*14),36.4,1.4]) rotate([80,0,0]) cylinder(r=2.05, h=15, $fn=50);
|
||||||
|
translate([2+(i*14),4.5,4]) cube([2,4,10]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module pulley_body()
|
||||||
|
{
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// body
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// body
|
||||||
|
translate([-18.5,-20,-24]) cube([114.5,41,31]);
|
||||||
|
translate([-27,-65,-25]) cube([123,92,1]);
|
||||||
|
translate([-27,-65,-25]) cube([123,2,3]);
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-5,-5,-24]) cube([72,41,31]);
|
||||||
|
translate([-15,40,-0]) rotate([45,0,0]) cube([90,41,31]);
|
||||||
|
}
|
||||||
|
translate([86,-69,-24]) cube([10,90,45]);
|
||||||
|
translate([-27,-69,-24]) cube([10,90,26]);
|
||||||
|
translate([-27,-69,-24]) cube([10,47,45]);
|
||||||
|
translate([-18.5,-30,-24]) cube([1.5,45,31]);
|
||||||
|
|
||||||
|
// shaft bearing body
|
||||||
|
translate([-18.5,0,-0.5]) rotate([0,90,0]) cylinder(r=9.5, h=11.5, $fn=50);
|
||||||
|
|
||||||
|
// left hold together bearing housing
|
||||||
|
translate([-18.5,30,0]) rotate([0,90,0]) cylinder(r=11, h=14, $fn=50);
|
||||||
|
translate([-18.5,-15,-9]) cube([14,45,16]);
|
||||||
|
translate([-18.5,-7,-24]) cube([14,45,24]);
|
||||||
|
|
||||||
|
// right hold together bearing housing
|
||||||
|
translate([66.5,30,0]) rotate([0,90,0]) cylinder(r=11, h=14, $fn=50);
|
||||||
|
translate([66.5,15,-9]) cube([14,15,16]);
|
||||||
|
translate([66.5,-7,-24]) cube([14,45,24]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// left hold together shaft bearing
|
||||||
|
translate([-28.5,30,0]) rotate([0,90,0]) cylinder(r=13, h=10, $fn=50);
|
||||||
|
translate([-18.5,30,0]) rotate([0,90,0]) cylinder(r=8, h=5, $fn=50);
|
||||||
|
translate([-18.5,30,0]) rotate([0,90,0]) cylinder(r=6.5, h=6, $fn=50);
|
||||||
|
translate([-15,30,0]) rotate([0,90,0]) cylinder(r=2.8, h=6, $fn=50);
|
||||||
|
translate([-20,30,0]) rotate([0,90,0]) cylinder(r2=8, r1=8.5, h=3, $fn=50);
|
||||||
|
translate([-19.5,30,5]) rotate([0,90,0]) cylinder(r=4, h=6, $fn=50);
|
||||||
|
|
||||||
|
// right hold together shaft bearing
|
||||||
|
translate([80.5,30,0]) rotate([0,90,0]) cylinder(r=13, h=12, $fn=50);
|
||||||
|
translate([75.5,30,0]) rotate([0,90,0]) cylinder(r=8, h=6, $fn=50);
|
||||||
|
translate([74.5,30,0]) rotate([0,90,0]) cylinder(r=6.5, h=6, $fn=50);
|
||||||
|
translate([71.5,30,0]) rotate([0,90,0]) cylinder(r=2.8, h=6, $fn=50);
|
||||||
|
translate([79,30,0]) rotate([0,90,0]) cylinder(r1=8, r2=8.5, h=3, $fn=50);
|
||||||
|
translate([80.5,19.5,30]) rotate([0,90,0]) cube([30,30,12]);
|
||||||
|
translate([75.5,30,5]) rotate([0,90,0]) cylinder(r=4, h=6, $fn=50);
|
||||||
|
|
||||||
|
// hold together shafts removal
|
||||||
|
translate([-15,30,0]) rotate([0,90,0]) cylinder(r=2, h=100, $fn=50);
|
||||||
|
translate([-2,28,0]) cube([65,4,10]);
|
||||||
|
|
||||||
|
// selector shafts
|
||||||
|
translate([-28,-48,-3]) rotate([0,90,0]) cylinder(r=4.3, h=130, $fn=50);
|
||||||
|
translate([-26,-48,16]) rotate([0,90,0]) cylinder(r=2.7, h=130, $fn=50);
|
||||||
|
translate([-26,-48,-19]) rotate([0,90,0]) cylinder(r=2.6, h=130, $fn=50);
|
||||||
|
translate([-19,-48,16]) rotate([0,90,0]) cylinder(r1=2.65, r2=3,h=3, $fn=50);
|
||||||
|
translate([-19,-48,-19]) rotate([0,90,0]) cylinder(r1=2.6, r2=3, h=3, $fn=50);
|
||||||
|
translate([94,-48,16]) rotate([0,90,0]) cylinder(r1=2.65, r2=3,h=3, $fn=50);
|
||||||
|
translate([94,-48,-19]) rotate([0,90,0]) cylinder(r1=2.6, r2=3, h=3, $fn=50);
|
||||||
|
translate([-30,-48,16]) rotate([0,90,0]) cylinder(r=1.5, h=15, $fn=50);
|
||||||
|
translate([-30,-48,-19]) rotate([0,90,0]) cylinder(r=1.5, h=15, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
// PTFE tubes
|
||||||
|
front_PTFE();
|
||||||
|
rear_PTFE();
|
||||||
|
|
||||||
|
// rear PTFE tubes holder
|
||||||
|
translate([-2,15,4]) cube([65,30,10]);
|
||||||
|
translate([-2,15,5]) rotate([-10,0,0]) cube([65,30,10]);
|
||||||
|
|
||||||
|
// pulley space
|
||||||
|
translate([-7,0,0]) rotate([0,90,0]) cylinder(r=5, h=71, $fn=50);
|
||||||
|
translate([-7,-5,0]) cube([71,10,10]);
|
||||||
|
translate([-7,0,24.5]) rotate([0,90,0]) cylinder(r=21, h=71, $fn=50);
|
||||||
|
|
||||||
|
// grub screws space
|
||||||
|
for (i =[-6:14:50])
|
||||||
|
{
|
||||||
|
translate([i,0,0]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
// coupling space
|
||||||
|
translate([63.9,0,-0.5]) rotate([0,90,0]) cylinder(r=11.5, h=32, $fn=50);
|
||||||
|
translate([63.9,-11,-0.5]) cube([22.1,22,10]);
|
||||||
|
|
||||||
|
// shaft bearing
|
||||||
|
translate([-28,0,-0.5]) rotate([0,90,0]) cylinder(r=2.8, h=15, $fn=50);
|
||||||
|
translate([-14,0,-0.5]) rotate([0,90,0]) cylinder(r=8, h=5, $fn=50);
|
||||||
|
translate([-15,0,-0.5]) rotate([0,90,0]) cylinder(r=6.5, h=6, $fn=50);
|
||||||
|
translate([-10.5,0,-0.5]) rotate([0,90,0]) cylinder(r1=8, r2=9, h=3, $fn=50);
|
||||||
|
translate([-9,0,-0.5]) rotate([0,90,0]) cylinder(r=9, h=7, $fn=50);
|
||||||
|
translate([-9,-9,-0.5]) cube([7,18,10]);
|
||||||
|
translate([-7,-6,2]) cube([7,12,10]);
|
||||||
|
|
||||||
|
translate([-28.5,0,-3.5]) rotate([0,90,0]) cylinder(r=5, h=10, $fn=50);
|
||||||
|
translate([-28,-5,-3.5]) cube([9.5,10,10]);
|
||||||
|
translate([-28,-0,-3.5]) rotate([45,0,0]) cube([9.5,20,20]);
|
||||||
|
|
||||||
|
// top bearing cut
|
||||||
|
translate([-19,-9,7]) cube([17,18,10]);
|
||||||
|
translate([-14,-5,3]) cube([17,10,10]);
|
||||||
|
|
||||||
|
|
||||||
|
// rear PTFE tubes holder screws
|
||||||
|
for (i =[10:14:52])
|
||||||
|
{
|
||||||
|
translate([i,14,-30]) rotate([-20,0,0]) cylinder(r=1.7, h=36, $fn=50);
|
||||||
|
|
||||||
|
translate([i,14,-30]) rotate([-20,0,0]) cylinder(r=3.1, h=31, $fn=6);
|
||||||
|
translate([i,14,-30]) rotate([-20,0,0]) cylinder(r=3.6, h=28, $fn=6);
|
||||||
|
translate([i,14,-30]) rotate([-20,0,0]) cylinder(r1=4, r2=3.1, h=22, $fn=6);
|
||||||
|
translate([i,23.1,-5]) rotate([-20,0,0]) cylinder(r1=3.6, r2=3.1, h=3, $fn=6);
|
||||||
|
}
|
||||||
|
|
||||||
|
// front PTFE tubes holder screws
|
||||||
|
for (i=[9:14:23])
|
||||||
|
{
|
||||||
|
translate([i,-14,-1.5]) rotate([90,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([i-2.8,-18,-1.5-2.9]) cube([5.6,2,19]);
|
||||||
|
|
||||||
|
translate([i+28,-14,-1.5]) rotate([90,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([i-2.8+28,-18,-1.5-2.9]) cube([5.6,2,19]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// front corners
|
||||||
|
translate([-29,-68,-35]) rotate([45,0,0]) cube([130,10,20]);
|
||||||
|
translate([-29,-73,12]) rotate([45,0,0]) cube([130,20,10]);
|
||||||
|
translate([-29.5,-77.7,-35]) rotate([0,0,35]) cube([10,10,90]);
|
||||||
|
|
||||||
|
// front waste pocket and material saving
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-17,-32,-15]) rotate([-60,0,0]) cube([78,20,10]);
|
||||||
|
translate([-17,-58,-34]) cube([103,50,10]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// rear corners
|
||||||
|
translate([-29,27,12]) rotate([45,0,0]) cube([130,10,20]);
|
||||||
|
translate([-29,-21,12]) rotate([20,0,0]) cube([100,10,20]);
|
||||||
|
|
||||||
|
// rear angled side
|
||||||
|
translate([-35,49.6,-45]) rotate([55,0,0]) cube([150,41,31]);
|
||||||
|
translate([-35,21,-45]) cube([16.5,41,31]);
|
||||||
|
translate([80.5,21,-45]) cube([16.5,41,31]);
|
||||||
|
|
||||||
|
// idler spring screws
|
||||||
|
translate([-22,-27,0]) rotate([0,0,0]) cylinder(r=1.8, h=50, $fn=50);
|
||||||
|
translate([91,-27,0]) rotate([0,0,0]) cylinder(r=1.8, h=50, $fn=50);
|
||||||
|
translate([-22-2.9,-27-2.8,14]) cube([10,5.6,2.1]);
|
||||||
|
translate([91-2.9,-27-2.8,14]) cube([20,5.6,2.1]);
|
||||||
|
translate([-22-1.8,-27-2.8,14.4]) cube([1.8*2,5.6,2.1]);
|
||||||
|
translate([91-1.8,-27-2.8,14.4]) cube([1.8*2,5.6,2.1]);
|
||||||
|
|
||||||
|
// pulley motor screws and opening
|
||||||
|
translate([93,0,-0.5]) rotate([0,90,0]) cylinder(r=11.5, h=5, $fn=50);
|
||||||
|
translate([80,0,7.5]) rotate([0,90,0]) cylinder(r=4, h=20, $fn=50);
|
||||||
|
translate([91,-15.5,-15.5-0.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([91,15.5,-15.5-0.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([91,-15.5,15.5-0.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([91,15.5,15.5-0.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
|
||||||
|
translate([76,-15.5,-15.5-0.5]) rotate([0,90,0]) cylinder(r=3.1, h=15, $fn=50);
|
||||||
|
translate([76,15.5,-15.5-0.5]) rotate([0,90,0]) cylinder(r=3.1, h=15, $fn=50);
|
||||||
|
translate([81,-15.5,15.5-0.5]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
translate([81,15.5,15.5-0.5]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
|
||||||
|
translate([76,-15.5-3.1,-25-0.5]) cube([15,6.2,10]);
|
||||||
|
translate([76,15.5-3.1,-25-0.5]) cube([15,6.2,10]);
|
||||||
|
translate([66,-15.5-1.5,-33-0.5]) rotate([0,-30,0]) cube([20,3,10]);
|
||||||
|
translate([66,15.5-1.5,-33-0.5]) rotate([0,-30,0]) cube([20,3,10]);
|
||||||
|
|
||||||
|
|
||||||
|
// selector motor screws and opening
|
||||||
|
translate([93,-48,-3]) rotate([0,90,0]) cylinder(r=11.5, h=5, $fn=50);
|
||||||
|
translate([93,-48,5]) rotate([0,90,0]) cylinder(r=4, h=5, $fn=50);
|
||||||
|
translate([85,-48,-3]) rotate([0,90,0]) cylinder(r=8, h=15, $fn=50);
|
||||||
|
translate([85,-48,1.5]) rotate([0,90,0]) cylinder(r=4, h=15, $fn=50);
|
||||||
|
translate([91,-48-15.5,-3-15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([91,-48-15.5,-3+15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([91,-48+15.5,-3+15.5]) rotate([0,90,0]) cylinder(r=1.65, h=10, $fn=50);
|
||||||
|
translate([81,-48-15.5,-3-15.5]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
translate([81,-48-15.5,-3+15.5]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
translate([81,-48+15.5,-3+15.5]) rotate([0,90,0]) cylinder(r=3.1, h=10, $fn=50);
|
||||||
|
|
||||||
|
translate([85,-48-10,-3]) rotate([0,90,0]) cylinder(r=4, h=5, $fn=50);
|
||||||
|
translate([85,-48+10,-3]) rotate([0,90,0]) cylinder(r=4, h=5, $fn=50);
|
||||||
|
translate([85,-48-10,-7]) cube([5,20,8]);
|
||||||
|
|
||||||
|
// frame holders
|
||||||
|
|
||||||
|
translate([91,7,-26]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([-22,7,-26]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([-32+2.9,4.1,-21]) cube([10,5.8,2]);
|
||||||
|
translate([91-2.9,4.1,-21]) cube([10,5.8,2]);
|
||||||
|
translate([-23.65,4.1,-20.6]) cube([1.65*2,5.8,2]);
|
||||||
|
translate([89.35,4.1,-20.6]) cube([1.65*2,5.8,2]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([91,-57,-26]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([-22,-57,-26]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([-32+2.9,-59.9,-21]) cube([10,5.8,2]);
|
||||||
|
translate([91-2.9,-59.9,-21]) cube([10,5.8,2]);
|
||||||
|
translate([-23.65,-59.9,-20.6]) cube([1.65*2,5.8,2]);
|
||||||
|
translate([89.35,-59.9,-20.6]) cube([1.65*2,5.8,2]);
|
||||||
|
|
||||||
|
// material saving
|
||||||
|
translate([-24,-33,-3]) rotate([0,90,0]) cylinder(r=9, h=9, $fn=6);
|
||||||
|
translate([-24,-61,-3]) rotate([0,90,0]) cylinder(r=7, h=9, $fn=6);
|
||||||
|
|
||||||
|
translate([-30,-70,7.1]) rotate([40,0,0]) cube([20,30,10]);
|
||||||
|
|
||||||
|
// better printing
|
||||||
|
translate([0,-15,-25.75]) cube([15,15,1]);
|
||||||
|
translate([25,-15,-25.75]) cube([15,15,1]);
|
||||||
|
translate([-15,-37,-25.75]) cube([15,15,1]);
|
||||||
|
translate([-15,-58,-25.75]) cube([15,15,1]);
|
||||||
|
for (i=[5:20:65])
|
||||||
|
{
|
||||||
|
translate([i,-37,-25.75]) cube([15,15,1]);
|
||||||
|
translate([i,-58,-25.75]) cube([15,15,1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//version
|
||||||
|
translate([-14,-5.5,-24.4]) rotate([0,180,180]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pulley_body();
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// rear-PTFE-holder
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
module rear_PTFE_holder()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// base shape
|
||||||
|
translate([-1.8,15.2,0]) cube([64.6,20.8,7]);
|
||||||
|
|
||||||
|
for (i =[10:14:52])
|
||||||
|
{
|
||||||
|
translate([i,14,-30]) rotate([-20,0,0]) cylinder(r=1.7, h=46, $fn=50);
|
||||||
|
translate([i,26.75,5]) rotate([-20,0,0]) cylinder(r=3.1, h=46, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i =[0:4])
|
||||||
|
{
|
||||||
|
translate([3+(i*14),15,4]) rotate([90,0,0]) cylinder(r=1.1, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),22,4]) rotate([90,0,0]) cylinder(r=2.05, h=15, $fn=50);
|
||||||
|
translate([3+(i*14),36.4,1.4]) rotate([80,0,0]) cylinder(r=2, h=15, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-2,15,-4]) cube([65,30,10]);
|
||||||
|
translate([-2,15,4]) cube([65,30,10]);
|
||||||
|
translate([-2,15,5]) rotate([-10,0,0]) cube([65,30,10]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// markers
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([5,17,6.5]) cube([10,10,10]);
|
||||||
|
translate([5,18,5.5]) rotate([0,0,45]) cube([10,10,12]);
|
||||||
|
translate([8,25,5.5]) rotate([0,0,-45]) cube([10,10,12]);
|
||||||
|
}
|
||||||
|
//version
|
||||||
|
translate([49,17,6.6]) rotate([0,0,0]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
rotate([0,180,0])
|
||||||
|
rear_PTFE_holder();
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// s-holder-endstop
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// outside shape
|
||||||
|
translate([0,0,0]) cylinder( h=1, r=11.5, $fn=60 );
|
||||||
|
translate([0,0,0]) cylinder( h=4, r=7.5, $fn=60 );
|
||||||
|
translate([0,0,4]) cylinder( h=2, r=7.5, r2=6, $fn=60 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// rod
|
||||||
|
translate([0,0,0]) cylinder( h=5, r=4.5, $fn=60 );
|
||||||
|
translate([0,0,-0.5]) cylinder( h=2.5, r2=4.5, r1=5, $fn=60 );
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,170 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// selector-finda
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
module blade()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([0,0,0]) cube([17,0.5,9]);
|
||||||
|
translate([11.5,-0.5,10]) rotate([0,61,0]) cube([21,1.5,9]);
|
||||||
|
translate([-9.3,-0.5,9]) rotate([0,61,0]) cube([21,1.5,9]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module selector()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// base shape
|
||||||
|
translate([40,-61,-23.5]) cube([25,30.5,44.5]);
|
||||||
|
translate([40,-57.75,5.1]) cube([25,30,15.9]);
|
||||||
|
translate([50,-61,21]) cube([15,22,10]);
|
||||||
|
translate([59,-51,22]) cylinder(r=9.2, h=9, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
// filament path
|
||||||
|
translate([59,-30,4]) rotate([90,0,0]) cylinder(r=1.3, h=40, $fn=50);
|
||||||
|
translate([59,-27,4]) rotate([90,0,0]) cylinder(r2=1.3, r1=1.4,h=15, $fn=50);
|
||||||
|
translate([59,-60,4]) rotate([90,0,0]) cylinder(r2=2.5, r1=1.3,h=2, $fn=50);
|
||||||
|
|
||||||
|
translate([59,-55,4]) rotate([90,0,0]) cylinder(r2=1.3, r1=2.5,h=3, $fn=50);
|
||||||
|
translate([59,-52,4]) rotate([90,0,0]) cylinder(r2=2.5, r1=1.3,h=3, $fn=50);
|
||||||
|
|
||||||
|
// cutter space
|
||||||
|
translate([39,-39,2.1]) cube([16,12,3]);
|
||||||
|
translate([39,-39,2]) rotate([-20,0,0]) cube([16,10,3.2]);
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([37,-38,-3.5]) rotate([-30,-30,0]) cube([13,10,5]);
|
||||||
|
translate([39,-39,5]) cube([16,12,3]);
|
||||||
|
translate([39,-48,-10]) cube([16,12,30]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TR nut screws
|
||||||
|
translate([55,-33.5,-3]) rotate([0,90,0]) cylinder(r=1.65, h=12, $fn=50);
|
||||||
|
translate([9,-52.5,-3]) rotate([0,90,0]) cylinder(r=1.65, h=180, $fn=50);
|
||||||
|
|
||||||
|
// TR nut nuts
|
||||||
|
translate([58,-33.5-2.8,-5.8]) cube([2.1,7,5.6]);
|
||||||
|
translate([40,-52.5,-3]) rotate([0,90,0]) cylinder(r=3.1, h=21, $fn=6);
|
||||||
|
translate([36,-52.5,-3]) rotate([0,90,0]) cylinder(r=3.3, h=21, $fn=6);
|
||||||
|
|
||||||
|
// TR nut
|
||||||
|
translate([9,-43,-3]) rotate([0,90,0]) cylinder(r=4.6, h=180, $fn=50);
|
||||||
|
translate([9,-38.8,-3]) rotate([0,90,0]) cylinder(r=1, h=180, $fn=50);
|
||||||
|
translate([63.5,-43,-3]) rotate([0,90,0]) cylinder(r=12.8, h=5, $fn=50);
|
||||||
|
translate([37,-43,-3]) rotate([0,90,0]) cylinder(r2=4.6, r1=6, h=5, $fn=50);
|
||||||
|
translate([63.5,-50,-8]) cube([4,50,10]);
|
||||||
|
translate([63.5,-45,-18]) cube([4,4,10]);
|
||||||
|
|
||||||
|
// linear rods
|
||||||
|
translate([-28,-43,16]) rotate([0,90,0]) cylinder(r=3.05, h=130, $fn=50);
|
||||||
|
translate([-28,-43,-19]) rotate([0,90,0]) cylinder(r=3.05, h=130, $fn=50);
|
||||||
|
|
||||||
|
translate([30,-43-6,-19.25]) cube([40,12,0.5]);
|
||||||
|
translate([30,-41.5,-19.25-1.9]) rotate([45,0,0]) cube([40,3,3]);
|
||||||
|
translate([30,-43-4,15.75]) cube([40,10,0.5]);
|
||||||
|
translate([30,-41.5,15.75-1.9]) rotate([45,0,0]) cube([40,3,3]);
|
||||||
|
|
||||||
|
translate([39,-43,16]) rotate([0,90,0]) cylinder(r2=3.05,r1=3.5, h=4, $fn=50);
|
||||||
|
translate([45,-43,16]) rotate([0,90,0]) cylinder(r1=3.05,r2=3.3, h=4.01, $fn=50);
|
||||||
|
translate([49,-43,16]) rotate([0,90,0]) cylinder(r2=3.05,r1=3.3, h=4, $fn=50);
|
||||||
|
translate([54,-43,16]) rotate([0,90,0]) cylinder(r1=3.05,r2=3.3, h=4.01, $fn=50);
|
||||||
|
translate([58,-43,16]) rotate([0,90,0]) cylinder(r2=3.05,r1=3.3, h=4, $fn=50);
|
||||||
|
|
||||||
|
translate([39,-43,-19]) rotate([0,90,0]) cylinder(r2=3.05,r1=3.5, h=4, $fn=50);
|
||||||
|
translate([45,-43,-19]) rotate([0,90,0]) cylinder(r1=3.05,r2=3.3, h=4.01, $fn=50);
|
||||||
|
translate([49,-43,-19]) rotate([0,90,0]) cylinder(r2=3.05,r1=3.3, h=4, $fn=50);
|
||||||
|
translate([54,-43,-19]) rotate([0,90,0]) cylinder(r1=3.05,r2=3.3, h=4.01, $fn=50);
|
||||||
|
translate([58,-43,-19]) rotate([0,90,0]) cylinder(r2=3.05,r1=3.3, h=4, $fn=50);
|
||||||
|
|
||||||
|
// blade holder
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([39.4,-28.15,6.0]) rotate([0,10.0,0]) blade();
|
||||||
|
translate([40.5,-29,3.1]) rotate([0,-24,0]) cube([4,2,11]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// blade holder screws
|
||||||
|
translate([45,-27,16]) rotate([90,0,0]) cylinder(r=1.7, h=10, $fn=50);
|
||||||
|
translate([55,-27,12]) rotate([90,0,0]) cylinder(r=1.7, h=10, $fn=50);
|
||||||
|
|
||||||
|
// blade holder nuts
|
||||||
|
translate([55-2.9,-33,12-2.95]) cube([5.8,2.0,13]);
|
||||||
|
translate([55-2.9,-34,17]) cube([5.8,4,13]);
|
||||||
|
translate([45-2.9,-33,16-2.95]) cube([5.8,2.0,13]);
|
||||||
|
|
||||||
|
// edges
|
||||||
|
translate([39,-37,-30]) rotate([-20,0,0]) cube([40,12,30]);
|
||||||
|
translate([39,-54,-35]) rotate([50,0,0]) cube([40,12,40]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// front cover mount
|
||||||
|
translate([59,-48,-8]) rotate([90,0,0]) cylinder(r=1.65, h=30, $fn=50);
|
||||||
|
translate([59,-59,-8]) rotate([90,0,0]) cylinder(r1=1.65, r2=2.2,h=3, $fn=50);
|
||||||
|
translate([59-2.8,-58.5,-8-2.8]) cube([10,2.1,5.6]);
|
||||||
|
|
||||||
|
translate([59,-48,15]) rotate([90,0,0]) cylinder(r=1.65, h=30, $fn=50);
|
||||||
|
translate([59,-59,15]) rotate([90,0,0]) cylinder(r1=1.65, r2=2.2,h=3, $fn=50);
|
||||||
|
translate([59-2.8,-58.5,15-2.8]) cube([10,2.1,5.6]);
|
||||||
|
|
||||||
|
// F.I.N.D.A.
|
||||||
|
translate([59,-47.5,4.5]) cylinder(r=1, h=30, $fn=60);
|
||||||
|
translate([59,-51,6.5]) cylinder(r=4.05, h=30, $fn=60);
|
||||||
|
translate([59,-51,6.5]) cylinder(r2= 4.05,r1=4.2, h=5, $fn=60);
|
||||||
|
translate([59,-51,29]) cylinder(r1=4.05, r2=5, h=10, $fn=60);
|
||||||
|
translate([59,-51,6.70]) sphere(4.2, $fn=100);
|
||||||
|
|
||||||
|
translate([58.5,-65,21]) cube([1,15,30]);
|
||||||
|
translate([58.5,-65,21]) cube([10,15,1]);
|
||||||
|
|
||||||
|
translate([49,-57,26.5]) rotate([0,90,0]) cylinder(r=1.65, h=15, $fn=50);
|
||||||
|
translate([62,-57,26.5]) rotate([0,90,0]) cylinder(r=3.2, h=6, $fn=50);
|
||||||
|
translate([53,-67+2.9,21+2.8]) cube([2.2,10,5.6]);
|
||||||
|
|
||||||
|
// edges
|
||||||
|
translate([47,-45,32]) rotate([-45,0,0]) cube([20,15,10]);
|
||||||
|
translate([30,-82,32]) rotate([-50,0,0]) cube([20,30,30]);
|
||||||
|
|
||||||
|
// better printing
|
||||||
|
// blade holder
|
||||||
|
translate([55-2.9,-33,12-1.7]) cube([5.8,2.35,3.4]);
|
||||||
|
translate([55-1.7,-33,12-1.7]) cube([3.4,2.6,3.4]);
|
||||||
|
translate([45-2.9,-33,16-1.7]) cube([5.8,2.35,3.4]);
|
||||||
|
translate([45-1.7,-33,16-1.7]) cube([3.4,2.6,3.4]);
|
||||||
|
|
||||||
|
// front plate holder
|
||||||
|
translate([59-1.65,-58.5,-8-2.8]) cube([3.3,2.4,5.6]);
|
||||||
|
translate([59-1.65,-58.5,15-2.8]) cube([3.3,2.4,5.6]);
|
||||||
|
translate([59-1.65,-58.5,-8-1.65]) cube([3.3,2.7,3.3]);
|
||||||
|
translate([59-1.65,-58.5,15-1.65]) cube([3.3,2.7,3.3]);
|
||||||
|
|
||||||
|
|
||||||
|
//version
|
||||||
|
translate([49,-40,-23.3]) rotate([0,180,180]) linear_extrude(height = 0.8)
|
||||||
|
{ text("M1",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rotate([90,0,0])
|
||||||
|
selector();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
// PRUSA MMU2
|
||||||
|
// selector-front-plate
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
module front_plate()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([50,-65.5,-13.5]) cube([15,4.5,34.5]);
|
||||||
|
|
||||||
|
// screws
|
||||||
|
translate([59,-48,-8]) rotate([90,0,0]) cylinder(r=1.65, h=30, $fn=50);
|
||||||
|
translate([59,-48,15]) rotate([90,0,0]) cylinder(r=1.65, h=30, $fn=50);
|
||||||
|
|
||||||
|
translate([59,-60,-8]) rotate([90,0,0]) cylinder(r2=1.65,r1=2.5, h=1.5, $fn=50);
|
||||||
|
translate([59,-60,15]) rotate([90,0,0]) cylinder(r2=1.65,r1=2.5, h=1.5, $fn=50);
|
||||||
|
|
||||||
|
translate([59,-65,-8]) rotate([90,0,0]) cylinder(r=3.2, h=5, $fn=50);
|
||||||
|
translate([59,-65,15]) rotate([90,0,0]) cylinder(r=3.2, h=5, $fn=50);
|
||||||
|
|
||||||
|
// brass insert
|
||||||
|
translate([59,-60,4]) rotate([90,0,0]) cylinder(r=3.8, h=6, $fn=50);
|
||||||
|
translate([59,-63,4]) rotate([90,0,0]) cylinder(r2=5, r1=3.5, h=2, $fn=50);
|
||||||
|
translate([59,-59.5-1,4]) rotate([90,0,0]) cylinder(r1=5, r2=3.5, h=2, $fn=50);
|
||||||
|
translate([59,-64,4]) rotate([90,0,0]) cylinder(r1=5,r2=5.5, h=2, $fn=50);
|
||||||
|
|
||||||
|
// edges
|
||||||
|
translate([45,-64,-15]) rotate([0,0,-45]) cube([15,4,40]);
|
||||||
|
translate([45,-64,-18.5]) rotate([45,0,0]) cube([25,4,42]);
|
||||||
|
translate([45,-71,19]) rotate([-45,0,0]) cube([25,4,40]);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rotate([-90,0,0])
|
||||||
|
front_plate();
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
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
Loading…
Reference in New Issue