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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
translate(v=[-4.5,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r2=3, r1=4, $fn=50);
|
||||
|
||||
|
||||
|
||||
|
||||
// pulley side cut
|
||||
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
|
||||
translate([-19,-35,21.25]) cube([10,20,18]);
|
||||
|
|
@ -39,7 +33,7 @@ module x_end_idler_holes()
|
|||
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module waste_pocket()
|
||||
|
|
@ -66,34 +60,21 @@ module x_end_idler_base()
|
|||
difference()
|
||||
{
|
||||
|
||||
|
||||
translate(v=[-6.5,-21,13.5]) cube([1,12.5,42]);
|
||||
|
||||
|
||||
translate([-24,-11.5,19]) cube([20,10,24]);
|
||||
translate(v=[-6.5,-10,55.5]) rotate([180,-45,0]) cube([1.5,19,5]);
|
||||
translate(v=[-6.5,-29,13.5]) rotate([0,45,0]) cube([1.5,19,5]);
|
||||
translate(v=[-5.5,-19,13.5]) rotate([90,0,-35]) cube([1.5,45,6]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
// 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([-26,-11.5,19]) cube([20,10,24]);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
// nut trap print supoorts
|
||||
|
||||
// nut trap print supoorts
|
||||
translate(v=[-5.8,-13.149,13.5]) rotate([0,0,45]) cube(size = [10,2.1,1], center = true);
|
||||
|
||||
translate(v=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
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([-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
|
||||
|
|
@ -209,8 +182,6 @@ difference()
|
|||
x_end_idler();
|
||||
translate([-8,15,13.0]) rotate([0,0,-45.4]) cube([10,1.5,1]);
|
||||
}
|
||||
|
||||
// chamfers
|
||||
translate([-47,-40,60]) rotate([0,45,0]) cube([20,80,20]);
|
||||
translate([-20,10.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
||||
translate([-25,37,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ module x_end_motor_base()
|
|||
{
|
||||
x_end_base();
|
||||
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
module x_end_motor_holes()
|
||||
|
|
@ -24,27 +26,22 @@ module x_end_motor_holes()
|
|||
translate(v=[-19,-21,-12]) cube(size = [10,25,22]);
|
||||
|
||||
// Motor mounting holes
|
||||
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
|
||||
translate(v=[0,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
|
||||
|
||||
translate(v=[20,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-15,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-16,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
translate(v=[20,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[1,-16.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
for (x =[-1:0.25:1])
|
||||
{
|
||||
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=30, r=1.55, $fn=60);
|
||||
translate(v=[0,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,-15.5+x,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.05, $fn=60);
|
||||
|
||||
translate(v=[20,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[0,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,-15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
|
||||
translate(v=[20,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=70, r=1.6, $fn=30);
|
||||
translate(v=[0,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=18, r2=1.55, r1=1.7, $fn=60);
|
||||
translate(v=[1,15.5+x,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h=10, r=3.1, $fn=30);
|
||||
};
|
||||
|
||||
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
|
||||
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([-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
|
||||
|
|
@ -106,9 +101,6 @@ module x_end_motor()
|
|||
translate([-17,3,-8]) cube([4,4,10]);
|
||||
translate([-30,-30,58]) cube([30,30,10]);
|
||||
|
||||
// version
|
||||
translate([-23.2,-20,2]) rotate([90,0,270]) linear_extrude(height = 0.6)
|
||||
{ text("R3",font = "helvetica:style=Bold", size=4, center=true); }
|
||||
}
|
||||
|
||||
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]);
|
||||
}
|
||||
|
||||
// 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=[-9.8,-11,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-5.2,-8,13.7]) rotate([0,0,135]) cube(size = [8,2.1,0.4], center = true);
|
||||
|
||||
translate(v=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], center = true);
|
||||
|
||||
}
|
||||
|
|
@ -154,12 +144,37 @@ difference()
|
|||
{
|
||||
x_end_motor();
|
||||
translate([-8,-17,13.0]) rotate([0,0,44.7]) cube([10,1.5,1]);
|
||||
|
||||
// belt tensioner body
|
||||
translate([-24,9,30.25]) rotate(a=[90,30,0]) cylinder(h=27, r=4, $fn=6);
|
||||
difference()
|
||||
{
|
||||
translate([-30,9-27,30.25]) rotate(a=[0,45,0]) cube([11,27,11]);
|
||||
translate([-37.465,9-27-1,20]) cube([10,30,21]);
|
||||
translate([-29,9-27-1,35]) cube([10,30,21]);
|
||||
translate([-20,9-27-1,20]) cube([25,30,21]);
|
||||
}
|
||||
//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([-20,-30.5,69]) rotate([0,45,0]) cube([20,20,20]);
|
||||
translate([-25,-37,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||
translate([-25,23.5,49]) rotate([45,0,0]) cube([30,20,20]);
|
||||
|
||||
|
||||
// belt tensioner
|
||||
translate(v=[0,32,30.25])
|
||||
{
|
||||
translate([-24,-15.5-2.5,0]) rotate(a=[90,0,0]) cylinder(h=35, r=1.6, $fn=30);
|
||||
translate([-24,-15.5-4.5-30,0]) rotate(a=[90,0,0]) cylinder(h=30, r=3.2, $fn=30);
|
||||
translate([-24-10+2.8,-29,0-2.8]) cube([10,2.1,5.6]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,6 @@ rod_distance = 45;
|
|||
|
||||
module x_end_base()
|
||||
{
|
||||
|
||||
|
||||
|
||||
// Main block
|
||||
height = 58;
|
||||
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
|
||||
|
|
@ -24,7 +21,7 @@ module x_end_base()
|
|||
|
||||
//Nut trap
|
||||
// Cylinder
|
||||
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=100);
|
||||
translate(v=[0,-17,0]) cylinder(h = 13.5, r=12.5, $fn=250);
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,-17,13]) poly_cylinder(h = 3, r=12.5, $fn=25);
|
||||
|
|
@ -34,11 +31,6 @@ module x_end_base()
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
module reinforcement_selective_infill()
|
||||
{
|
||||
|
|
@ -46,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]] );
|
||||
}
|
||||
|
||||
x_end_base();
|
||||
|
||||
|
||||
module x_end_holes()
|
||||
|
|
@ -55,7 +48,6 @@ module x_end_holes()
|
|||
translate(v=[-1,0,0])
|
||||
{
|
||||
// Stress relief
|
||||
translate(v=[-5.5-10+1.5,-10-1,30]) cube(size = [18,1,28], center = true);
|
||||
difference()
|
||||
{
|
||||
|
||||
|
|
@ -84,29 +76,27 @@ module x_end_holes()
|
|||
translate(v=[0,-17, -0.1]) cylinder(h = 1, r1 = 7.2,r2 = 6.7, $fn = 60);
|
||||
|
||||
// Screw holes for TR nut
|
||||
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -4]) cylinder(h = 19, r = 1.65, $fn=50);
|
||||
|
||||
|
||||
|
||||
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65, $fn=50);
|
||||
translate(v=[0,-17,0]) rotate([0,0,-135]) translate([0,-9.5,-1]) cylinder(h=2, r1=2.2,r2=1.65,, $fn=50);
|
||||
|
||||
|
||||
// Nut traps for TR nut screws
|
||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 11]) rotate([0, 0, 0])cylinder(h = 6, r = 3.1, $fn=6);
|
||||
|
||||
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,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, 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 = 3, r = 3.1, $fn=6);
|
||||
translate([-5.5,-17.2,10]) rotate([0,0,30]) cube([5,5,3]);
|
||||
translate([-0,-17.2,10]) rotate([0,0,60]) cube([5,10,3]);
|
||||
|
||||
translate([0,0,6.5])
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,-17, 0]) rotate([0,0,-135]) translate([0,-9.5,5.8]) rotate([0,0,30])cylinder(h = 1, r = 3.1, $fn=6);
|
||||
translate([-11,-12.0,4.5]) rotate([0,0,45]) cube([8,3,3]);
|
||||
translate([-6.5,-16.85,4.5]) rotate([0,0,45]) cube([8,3,3]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -122,9 +112,13 @@ module x_end_plain()
|
|||
x_end_base();
|
||||
x_end_holes();
|
||||
}
|
||||
|
||||
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
|
||||
}
|
||||
difference()
|
||||
{
|
||||
translate(v=[0,-17, 0.3]) rotate([0,0,-135]) translate([0,-9.5,10]) rotate([0,0,30])cylinder(h = 3, r = 3.2, $fn=6);
|
||||
translate(v=[-5.8,-13.3,13.5]) rotate([0,0,45.3]) cube(size = [10,2,1], center = true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -134,6 +128,7 @@ module x_end_plain()
|
|||
|
||||
|
||||
|
||||
|
||||
module pushfit_rod(diameter,length)
|
||||
{
|
||||
poly_cylinder(h = length, r=diameter/2);
|
||||
|
|
@ -143,8 +138,5 @@ module pushfit_rod(diameter,length)
|
|||
translate(v=[0,-diameter/4-diameter/2-0.4,length/2]) rotate([0,0,0]) cube(size = [diameter,diameter/2,length], center = true);
|
||||
}
|
||||
}
|
||||
difference () {
|
||||
x_end_plain();
|
||||
//translate([-50,-50,-1]) rotate([0,0,0]) cube([100,100,5]);
|
||||
}
|
||||
//
|
||||
|
||||
x_end_holes();
|
||||
|
|
@ -1,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