parent
e1982c8dda
commit
d7f81f2ef2
|
|
@ -1,56 +0,0 @@
|
||||||
// PRUSA iteration3
|
|
||||||
// LCD Knob
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
difference () {
|
|
||||||
|
|
||||||
// main body
|
|
||||||
|
|
||||||
translate([0,0,0]) rotate(a=[0,0,0]) cylinder(h = 7.5, r1=10, r=7.25, $fn=60);
|
|
||||||
|
|
||||||
translate([0,0,20]) rotate(a=[0,0,0]) sphere(14);
|
|
||||||
|
|
||||||
// knob cutout
|
|
||||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d=6.1, $fn=60);
|
|
||||||
|
|
||||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 0.6, d1=7.1, d2=6.1 , $fn=30);
|
|
||||||
|
|
||||||
translate([0,0.75,-0.1]) rotate(a=[0,0,-90]) cube([1.5,5.3,4.6]);
|
|
||||||
|
|
||||||
// first layer correction
|
|
||||||
union () {
|
|
||||||
|
|
||||||
difference (){
|
|
||||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 2,d1= 11.5, d2=10.5, $fn=60);
|
|
||||||
translate([0,0,-0.15]) rotate(a=[0,0,0]) cylinder(h = 2,d1= 9.5, d2=10.5, $fn=60);
|
|
||||||
translate([0,0,1]) rotate(a=[0,0,0]) cylinder(h = 2,d= 13, $fn=30);
|
|
||||||
translate([-13.5,-6,-0.1]) rotate(a=[0,0,0]) cube([10,12,4.6]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
difference () {
|
|
||||||
|
|
||||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d=11, $fn=60);
|
|
||||||
translate([0,0,-0.1]) rotate(a=[0,0,0]) cylinder(h = 4.6, d= 10, $fn=60);
|
|
||||||
translate([-13.5,-6,-0.1]) rotate(a=[0,0,0]) cube([10,12,4.6]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// handle
|
|
||||||
|
|
||||||
difference () {
|
|
||||||
|
|
||||||
translate([-2.1,6.5,0]) rotate(a=[0,0,0]) cube([4.2,12,7.5]);
|
|
||||||
translate([-2.5,15,7.7]) rotate(a=[-67,0,0]) cube([5.5,11,7.5]);
|
|
||||||
translate([-2.2,18.22,-0.1]) rotate(a=[0,0,0]) cube([4.4,12,0.21]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// extruder idler
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module nut_bp(diameter,head,layer)
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
cylinder(h = 2, r=head, $fn=6);
|
|
||||||
|
|
||||||
translate([-5-diameter,-5,2-layer*2])cube([5,10,2]);
|
|
||||||
translate([diameter,-5,2-layer*2])cube([5,10,2]);
|
|
||||||
translate([-5,-5-diameter,2-layer])cube([10,5,2]);
|
|
||||||
translate([-5,diameter,2-layer])cube([10,5,2]);
|
|
||||||
}
|
|
||||||
cylinder(h = 5, r=diameter, $fn=40);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module idler()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([6,-33.5,-15]) cube([10.5,30,25.5]);
|
|
||||||
translate([11.5,-5,-16.5]) cylinder(h = 27, r=5, $fn=60);
|
|
||||||
translate([11.5,-4,-10]) cube([5,4,20.5]);
|
|
||||||
|
|
||||||
translate([4,-24.7,-15]) cube([10.5,8.4,16]);
|
|
||||||
translate([4,-24.70,-9]) cube([10.5,8.4,16]);
|
|
||||||
translate([4,-20.5,-15]) cylinder(h = 18, r=4.2, $fn=60);
|
|
||||||
translate([4,-20.5,2]) cylinder(h = 5, r=4.2, $fn=60);
|
|
||||||
}
|
|
||||||
|
|
||||||
// turn around screw
|
|
||||||
translate([11.5,-5,-25]) cylinder(h = 40, r=1.7, $fn=60);
|
|
||||||
|
|
||||||
// bondtech shaft
|
|
||||||
translate([4,-20.5,-25]) cylinder(h = 40, r=1.5, $fn=60);
|
|
||||||
|
|
||||||
// bontech space
|
|
||||||
translate([4,-20.5,-11.2]) cylinder(h = 14.4, r=5, $fn=60);
|
|
||||||
translate([4,-20.5,-11.2]) cylinder(h = 5, r=5.5, $fn=60);
|
|
||||||
|
|
||||||
translate([-13.8,-13,-20]) rotate([0,0,-8]) cube([20,20,35]);
|
|
||||||
translate([-5.76,-40.88,-20]) rotate([0,0,-36]) cube([20,20,35]);
|
|
||||||
|
|
||||||
translate([-2,-44.7,-20]) cube([10,20,35]);
|
|
||||||
|
|
||||||
|
|
||||||
// tension screw
|
|
||||||
translate([-20,-28,-4]) rotate([0,90,0]) cylinder(h = 60, r=1.7, $fn=60);
|
|
||||||
translate([0,-28,-4]) rotate([0,90,0]) cylinder(h = 10, r2=1.7, r1=3, $fn=60);
|
|
||||||
translate([2,-27,-4]) rotate([5,90,0]) cylinder(h = 10, r2=1.7, r1=3, $fn=60);
|
|
||||||
|
|
||||||
translate([13.2,-28,-4]) rotate([0,90,0]) cylinder(h = 5, r=3.1, $fn=6);
|
|
||||||
translate([14.6,-28,-4]) rotate([0,-90,0]) nut_bp(1.7,3.1,0.3);
|
|
||||||
|
|
||||||
translate([15,-28,-4]) rotate([0,90,0]) cylinder(h = 2.5, r1=3.1,r2=3.6, $fn=6);
|
|
||||||
translate([5.5,-28,-4]) rotate([0,90,0]) cylinder(h = 7, r2=1.7, r1=2.5, $fn=30);
|
|
||||||
|
|
||||||
translate([0,-16,-2.9]) rotate([0,90,0]) rotate([0,0,90])cylinder(h = 25, r=7, $fn=6);
|
|
||||||
|
|
||||||
translate([11.5,-5,-17]) cylinder(h = 7, r=5.5, $fn=60);
|
|
||||||
translate([5,-9,-17]) cube([15,10,7]);
|
|
||||||
translate([-3,-10.5,-17]) cube([15,10,7]);
|
|
||||||
|
|
||||||
//edge
|
|
||||||
translate([19,-5,-18]) rotate([0,0,45]) cube([20,20,30]);
|
|
||||||
|
|
||||||
// motor rim
|
|
||||||
translate([-4,-20.5,7]) cylinder(h = 4, r=13.0, $fn=60);
|
|
||||||
|
|
||||||
// cleanup
|
|
||||||
translate([-12,-30,-11.2]) cube([20,10,14.4]);
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([8,-28,-4]) rotate([0,90,0]) cylinder(h = 8, r=4, $fn=60);
|
|
||||||
translate([15.0,-32.5,-15]) cube([1.5,2,25.5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([13.2,-28,-4]) rotate([0,90,0]) cylinder(h = 5, r=3.1, $fn=6);
|
|
||||||
translate([14.6,-28,-4]) rotate([0,-90,0]) nut_bp(1.7,3.1,0.3);
|
|
||||||
|
|
||||||
translate([15,-28,-4]) rotate([0,90,0]) cylinder(h = 2.5, r1=3.1,r2=3.6, $fn=6);
|
|
||||||
translate([-5,-46,-20]) rotate([0,0,-36]) cube([20,20,35]);
|
|
||||||
|
|
||||||
translate([2,-28,-4]) rotate([0,90,0]) cylinder(h = 10, r2=1.7, r1=3, $fn=60);
|
|
||||||
translate([2,-27,-4]) rotate([5,90,0]) cylinder(h = 10, r2=1.7, r1=3, $fn=60);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
rotate([0,90,0]) idler();
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// FS cover
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
|
||||||
module fs_cover()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([-17,-17,0]) cube([39,28,5]);
|
|
||||||
|
|
||||||
translate([0,-10,5]) cylinder(h=1,r=5,$fn = 60);
|
|
||||||
translate([0,0,5]) cylinder(h=1,r=5,$fn = 60);
|
|
||||||
translate([-5,-10,0]) cube([10,10,6]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// filament path
|
|
||||||
translate([0,0,-1]) cylinder(h=20,r1=1.2, r2=4,$fn = 60);
|
|
||||||
translate([0,0,-8]) cylinder(h=10,r1=5, r2=1.2,$fn = 60);
|
|
||||||
|
|
||||||
// mounting screw
|
|
||||||
translate([0,-10,-1]) cylinder(h=20,r=1.65,$fn = 60);
|
|
||||||
translate([0,-10,-1.5]) cylinder(h=2,r2=1.65, r1=3,$fn = 60);
|
|
||||||
translate([0,-10,3]) cylinder(h=20,r=3.1,$fn = 60);
|
|
||||||
|
|
||||||
// ir sensor place
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([7.5,-18,-1]) cube([10,23,4]);
|
|
||||||
translate([3,-18,3.5]) rotate([0,45,0]) cube([5,23,5]);
|
|
||||||
translate([15,-18,3.5]) rotate([0,45,0]) cube([5,23,5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// edges
|
|
||||||
translate([18,-18,6]) rotate([0,45,0]) cube([7,30,7]);
|
|
||||||
translate([-20,13,0]) rotate([45,0,0]) cube([60,7,7]);
|
|
||||||
translate([-25,-18,6]) rotate([0,45,0]) cube([7,30,7]);
|
|
||||||
|
|
||||||
// version
|
|
||||||
translate([-13,-9,0.7]) rotate([180,0,90]) linear_extrude(height = 0.75)
|
|
||||||
{ text("R4",font = "helvetica:style=Bold", size=7, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fs_cover();
|
|
||||||
|
|
@ -24,14 +24,8 @@ module x_end_idler_holes()
|
||||||
rotate([0,0,30])cylinder( h = 4, r1 = 3.1, r2 = 7, $fn=6);
|
rotate([0,0,30])cylinder( h = 4, r1 = 3.1, r2 = 7, $fn=6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
|
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// pulley side cut
|
// pulley side cut
|
||||||
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
|
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
|
||||||
translate([-19,-35,21.25]) cube([10,20,18]);
|
translate([-19,-35,21.25]) cube([10,20,18]);
|
||||||
|
|
@ -39,7 +33,7 @@ module x_end_idler_holes()
|
||||||
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
|
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module waste_pocket()
|
module waste_pocket()
|
||||||
|
|
@ -66,34 +60,21 @@ module x_end_idler_base()
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
translate(v=[-6.5,-21,13.5]) cube([1,12.5,42]);
|
translate(v=[-6.5,-21,13.5]) cube([1,12.5,42]);
|
||||||
|
|
||||||
|
|
||||||
translate([-24,-11.5,19]) cube([20,10,24]);
|
translate([-24,-11.5,19]) cube([20,10,24]);
|
||||||
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
|
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
|
||||||
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
|
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
|
||||||
translate(v=[-5.5,-19,13.5]) rotate([90,0,-35]) cube([1.5,45,6]);
|
translate(v=[-5.5,-19,13.5]) rotate([90,0,-35]) cube([1.5,45,6]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// pulley nut support
|
// pulley nut support
|
||||||
difference() {
|
difference()
|
||||||
|
{
|
||||||
translate(v=[-23.5,-15.5,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 1,r1=5.5, r2=3.7, $fn=30);
|
translate(v=[-23.5,-15.5,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 1,r1=5.5, r2=3.7, $fn=30);
|
||||||
translate([-26,-11.5,19]) cube([20,10,24]);
|
translate([-26,-11.5,19]) cube([20,10,24]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
x_end_idler_holes();
|
x_end_idler_holes();
|
||||||
|
|
||||||
|
|
@ -110,17 +91,12 @@ module x_end_idler_base()
|
||||||
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=30);
|
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=30);
|
||||||
}
|
}
|
||||||
|
|
||||||
// nut trap print supoorts
|
// nut trap print supoorts
|
||||||
|
|
||||||
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
||||||
|
|
||||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||||
|
|
||||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||||
|
|
||||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module selective_infill()
|
module selective_infill()
|
||||||
|
|
@ -170,9 +146,6 @@ module x_end_idler()
|
||||||
|
|
||||||
translate(v=[-8,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 20, r=1.55, $fn=30);
|
translate(v=[-8,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 20, r=1.55, $fn=30);
|
||||||
translate([-25,7.5,-1]) rotate([0,0,45]) cube([10,10,100]);
|
translate([-25,7.5,-1]) rotate([0,0,45]) cube([10,10,100]);
|
||||||
//version
|
|
||||||
translate([-23.7,-25,2]) rotate([90,0,90]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// bearings stop
|
// bearings stop
|
||||||
|
|
@ -209,8 +182,6 @@ difference()
|
||||||
x_end_idler();
|
x_end_idler();
|
||||||
translate([-8,15,13.0]) rotate([0,0,-45.4]) cube([10,1.5,1]);
|
translate([-8,15,13.0]) rotate([0,0,-45.4]) cube([10,1.5,1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// chamfers
|
|
||||||
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
||||||
translate([-20,10.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
translate([-20,10.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
||||||
translate([-25,37,49]) rotate([45,0,0]) cube([30,20,20]);
|
translate([-25,37,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ module x_end_motor_base()
|
||||||
{
|
{
|
||||||
x_end_base();
|
x_end_base();
|
||||||
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
|
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module x_end_motor_holes()
|
module x_end_motor_holes()
|
||||||
|
|
@ -24,27 +26,22 @@ module x_end_motor_holes()
|
||||||
translate(v=[-19,-21,-12]) cube(size = [10,25,22]);
|
translate(v=[-19,-21,-12]) cube(size = [10,25,22]);
|
||||||
|
|
||||||
// Motor mounting holes
|
// Motor mounting holes
|
||||||
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
|
|
||||||
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
|
||||||
translate(v=[1,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
|
|
||||||
|
|
||||||
translate(v=[20,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
for (x =[-1:0.25:1])
|
||||||
translate(v=[1,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
{
|
||||||
translate(v=[20,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
|
||||||
translate(v=[1,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||||
translate(v=[20,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
translate(v=[1,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
|
||||||
translate(v=[1,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
|
||||||
translate(v=[20,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
translate(v=[20,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||||
translate(v=[1,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
translate(v=[0,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||||
|
translate(v=[1,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||||
|
|
||||||
|
translate(v=[20,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||||
|
translate(v=[0,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||||
|
translate(v=[1,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||||
|
};
|
||||||
|
|
||||||
translate(v=[20,16.,-15.0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
|
||||||
translate(v=[1,16.,-15.0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
|
||||||
translate(v=[20,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
|
||||||
translate(v=[1,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
|
||||||
translate(v=[20,15,-16]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
|
||||||
translate(v=[1,15,-16]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
|
||||||
translate(v=[20,14.5,-16.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
|
||||||
translate(v=[1,14.5,-16.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
|
||||||
|
|
||||||
// Material saving cutout
|
// Material saving cutout
|
||||||
translate(v=[-10,12,12]) cube(size = [60,42,42], center = true);
|
translate(v=[-10,12,12]) cube(size = [60,42,42], center = true);
|
||||||
|
|
@ -55,11 +52,9 @@ module x_end_motor_holes()
|
||||||
translate(v=[-10,41,-30.5]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
|
translate(v=[-10,41,-30.5]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
|
||||||
|
|
||||||
|
|
||||||
translate([-15,-2,-33]) rotate([-45,0,0]) cylinder(h=25, r=1.7, $fn=30);
|
|
||||||
translate([-15,-2,-33]) rotate([-45,0,0]) cylinder(h=28-18, r=3.2, $fn=30);
|
|
||||||
translate([-35+2.8,10,-25]) rotate([45,0,0]) cube(size = [20,2,5.6]);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Motor shaft cutout
|
// Motor shaft cutout
|
||||||
|
|
@ -106,9 +101,6 @@ module x_end_motor()
|
||||||
translate([-17,3,-8]) cube([4,4,10]);
|
translate([-17,3,-8]) cube([4,4,10]);
|
||||||
translate([-30,-30,58]) cube([30,30,10]);
|
translate([-30,-30,58]) cube([30,30,10]);
|
||||||
|
|
||||||
// version
|
|
||||||
translate([-23.2,-20,2]) rotate([90,0,270]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
|
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
|
||||||
|
|
@ -136,14 +128,12 @@ module x_end_motor()
|
||||||
rotate([0,0,310-240]) translate([-2.5,0,26]) cube([5,15,10]);
|
rotate([0,0,310-240]) translate([-2.5,0,26]) cube([5,15,10]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// nut trap print supoorts
|
// nut trap print suports
|
||||||
|
|
||||||
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
||||||
|
|
||||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||||
|
|
||||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||||
|
|
||||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -154,12 +144,37 @@ difference()
|
||||||
{
|
{
|
||||||
x_end_motor();
|
x_end_motor();
|
||||||
translate([-8,-17,13.0]) rotate([0,0,44.7]) cube([10,1.5,1]);
|
translate([-8,-17,13.0]) rotate([0,0,44.7]) cube([10,1.5,1]);
|
||||||
|
|
||||||
|
// belt tensioner body
|
||||||
|
translate([-24,9,30.25]) rotate(a=[90,30,0]) cylinder(h=27, r=4, $fn=6);
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-30,9-27,30.25]) rotate(a=[0,45,0]) cube([11,27,11]);
|
||||||
|
translate([-37.465,9-27-1,20]) cube([10,30,21]);
|
||||||
|
translate([-29,9-27-1,35]) cube([10,30,21]);
|
||||||
|
translate([-20,9-27-1,20]) cube([25,30,21]);
|
||||||
}
|
}
|
||||||
//chamfers
|
difference()
|
||||||
|
{
|
||||||
|
translate([-24,-18,30.25]) rotate(a=[90,0,0]) cylinder(h=10.5, r=5, $fn=30);
|
||||||
|
translate([-24-19.5,-18,20]) rotate(a=[90,0,0]) cube([20,20,20]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
||||||
translate([-20,-30.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
translate([-20,-30.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
||||||
translate([-25,-37,49]) rotate([45,0,0]) cube([30,20,20]);
|
translate([-25,-37,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||||
translate([-25,23.5,49]) rotate([45,0,0]) cube([30,20,20]);
|
translate([-25,23.5,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||||
|
|
||||||
|
|
||||||
|
// belt tensioner
|
||||||
|
translate(v=[0,32,30.25])
|
||||||
|
{
|
||||||
|
translate([-24,-15.5-2.5,0]) rotate(a=[90,0,0]) cylinder(h=35, r=1.6, $fn=30);
|
||||||
|
translate([-24,-15.5-4.5-30,0]) rotate(a=[90,0,0]) cylinder(h=30, r=3.2, $fn=30);
|
||||||
|
translate([-24-10+2.8,-29,0-2.8]) cube([10,2.1,5.6]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,6 @@ rod_distance = 45;
|
||||||
|
|
||||||
module x_end_base()
|
module x_end_base()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Main block
|
// Main block
|
||||||
height = 58;
|
height = 58;
|
||||||
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
|
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
|
||||||
|
|
@ -24,7 +21,7 @@ module x_end_base()
|
||||||
|
|
||||||
//Nut trap
|
//Nut trap
|
||||||
// Cylinder
|
// Cylinder
|
||||||
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=100);
|
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=250);
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate(v=[0,-17,13]) poly_cylinder(h = 3, r=12.5, $fn=25);
|
translate(v=[0,-17,13]) poly_cylinder(h = 3, r=12.5, $fn=25);
|
||||||
|
|
@ -34,11 +31,6 @@ module x_end_base()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
module reinforcement_selective_infill()
|
module reinforcement_selective_infill()
|
||||||
{
|
{
|
||||||
|
|
@ -46,6 +38,7 @@ module reinforcement_selective_infill()
|
||||||
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,5],[12,0]] );
|
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,5],[12,0]] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
x_end_base();
|
||||||
|
|
||||||
|
|
||||||
module x_end_holes()
|
module x_end_holes()
|
||||||
|
|
@ -55,7 +48,6 @@ module x_end_holes()
|
||||||
translate(v=[-1,0,0])
|
translate(v=[-1,0,0])
|
||||||
{
|
{
|
||||||
// Stress relief
|
// Stress relief
|
||||||
translate(v=[-5.5-10+1.5,-10-1,30]) cube(size = [18,1,28], center = true);
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -84,29 +76,27 @@ module x_end_holes()
|
||||||
translate(v=[0,-17, -0.1]) cylinder(h = 1, r1 = 7.2,r2 = 6.7, $fn = 60);
|
translate(v=[0,-17, -0.1]) cylinder(h = 1, r1 = 7.2,r2 = 6.7, $fn = 60);
|
||||||
|
|
||||||
// Screw holes for TR nut
|
// Screw holes for TR nut
|
||||||
|
|
||||||
|
|
||||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
||||||
|
|
||||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65, $fn=50);
|
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65, $fn=50);
|
||||||
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,-9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65,, $fn=50);
|
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,-9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65,, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
// Nut traps for TR nut screws
|
// Nut traps for TR nut screws
|
||||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.1, $fn=6);
|
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.15, $fn=6);
|
||||||
|
|
||||||
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 4, r = 3.2, $fn=6);
|
|
||||||
translate([-5.5,-17.2,10]) rotate([0,0,32]) cube([5,5.9,3.5]);
|
|
||||||
translate([-0,-17.2,10]) rotate([0,0,58]) cube([5,10,3.5]);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.1, $fn=6);
|
||||||
|
translate([-5.5,-17.2,10]) rotate([0,0,30]) cube([5,5,3]);
|
||||||
|
translate([-0,-17.2,10]) rotate([0,0,60]) cube([5,10,3]);
|
||||||
|
|
||||||
|
translate([0,0,6.5])
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,5.8]) rotate([0,0,30])cylinder(h = 1, r = 3.1, $fn=6);
|
||||||
|
translate([-11,-12.0,4.5]) rotate([0,0,45]) cube([8,3,3]);
|
||||||
|
translate([-6.5,-16.85,4.5]) rotate([0,0,45]) cube([8,3,3]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -122,9 +112,13 @@ module x_end_plain()
|
||||||
x_end_base();
|
x_end_base();
|
||||||
x_end_holes();
|
x_end_holes();
|
||||||
}
|
}
|
||||||
|
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
|
||||||
|
}
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate(v=[0,-17, 0.3]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.2, $fn=6);
|
||||||
|
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -134,6 +128,7 @@ module x_end_plain()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module pushfit_rod(diameter,length)
|
module pushfit_rod(diameter,length)
|
||||||
{
|
{
|
||||||
poly_cylinder(h = length, r=diameter/2);
|
poly_cylinder(h = length, r=diameter/2);
|
||||||
|
|
@ -143,8 +138,5 @@ module pushfit_rod(diameter,length)
|
||||||
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
|
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
difference () {
|
|
||||||
x_end_plain();
|
x_end_holes();
|
||||||
//translate([-50,-50,-1]) rotate([0,0,0]) cube([100,100,5]);
|
|
||||||
}
|
|
||||||
//
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Y holder front
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module ziptie_round_edge()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,0,0]) rotate([90,0,0]) cylinder( h=3.2, r=4, $fn=50 );
|
|
||||||
translate([0,1,0]) rotate([90,0,0]) cylinder( h=5, r=2, $fn=50 );
|
|
||||||
translate([-10,-4,0]) cube([20,5,5]);
|
|
||||||
translate([-20,-4,-13]) cube([20,5,20]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module part()
|
|
||||||
{
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// body block
|
|
||||||
difference() {
|
|
||||||
translate([-13,-3,0]) cube([26,10,12]);
|
|
||||||
|
|
||||||
// upper corners
|
|
||||||
translate([4,-3.5,20]) rotate([0,60,0]) cube([20,30,20]);
|
|
||||||
translate([-21.2,-3.5,30]) rotate([0,120,0]) cube([20,30,20]);
|
|
||||||
translate([-15,-3.3,-6]) rotate([45,0,0]) cube([30,5,5]);
|
|
||||||
translate([15,7.3,-6]) rotate([45,0,180]) cube([30,5,5]);
|
|
||||||
}
|
|
||||||
difference() {
|
|
||||||
translate([-4,2,-2]) cube([8,5,3]);
|
|
||||||
|
|
||||||
// upper corners
|
|
||||||
translate([-15,2,-7.07]) rotate([45,0,0]) cube([30,5,5]);
|
|
||||||
translate([15,9.5,-6]) rotate([45,0,180]) cube([30,5,5]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// y-axis cut
|
|
||||||
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=14, r=4, $fn=50 );
|
|
||||||
translate([0,8,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4.5, r2=4, $fn=50 );
|
|
||||||
translate([0,-2,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4, r2=4.5, $fn=50 );
|
|
||||||
translate([-7,-4,14.5]) rotate([0,45,0]) cube([10,20,10]);
|
|
||||||
translate([0,8,10.5]) rotate([90,0,0]) cylinder( h=1.4, r1=5, r2=4, $fn=50 );
|
|
||||||
|
|
||||||
// screw holes
|
|
||||||
translate([-5.5,4,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.55, $fn=60 );
|
|
||||||
translate([5.5,4,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.55, $fn=60 );
|
|
||||||
translate([-5.5,-2.4,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.5, r2=2.6, $fn=60 );
|
|
||||||
translate([5.5,-2.4,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.5, r2=2.6, $fn=60 );
|
|
||||||
|
|
||||||
|
|
||||||
// ziptie
|
|
||||||
translate([7.8,5.75,9]) ziptie_round_edge();
|
|
||||||
translate([-7.8,2.55,9]) rotate([0,0,180]) ziptie_round_edge();
|
|
||||||
translate([-8.1,2.55,5]) cube([16.2,3.2,2]);
|
|
||||||
translate([0.8,2.55,25]) rotate([0,60,0]) cube([20,3.2,2]);
|
|
||||||
translate([-1.8,2.55,27]) rotate([0,120,0]) cube([20,3.2,2]);
|
|
||||||
|
|
||||||
|
|
||||||
// nuts
|
|
||||||
difference () {
|
|
||||||
union(){
|
|
||||||
translate([-8.2,-0.45,-3.4]) cube([5.6,2.1,10]);
|
|
||||||
translate([2.8,-0.45,-3.4]) cube([5.6,2.1,10]);}
|
|
||||||
|
|
||||||
// nut holding '
|
|
||||||
translate([-14,-0.45,-0.02]) cube([24,0.5,0.5]);
|
|
||||||
|
|
||||||
}
|
|
||||||
// nut print supports
|
|
||||||
translate([-8.2,-0.25,3.5-3.2/2]) cube([5.6,2.1,3.2]);
|
|
||||||
translate([2.8,-0.25,3.5-3.2/2]) cube([5.6,2.1,3.2]);
|
|
||||||
translate([-7.1,0,3.5-3.2/2]) cube([3.2,2.1,3.2]);
|
|
||||||
translate([3.9,0,3.5-3.2/2]) cube([3.2,2.1,3.2]);
|
|
||||||
|
|
||||||
|
|
||||||
// upper corners
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
rotate([90,0,0])part();
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
Reference in New Issue