MK3S+ upgrade

MK3S+ upgrade
This commit is contained in:
akukan 2020-12-07 14:59:53 +01:00
parent e1982c8dda
commit d7f81f2ef2
39 changed files with 129063 additions and 114435 deletions

View File

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

View File

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

View File

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

View File

@ -11,35 +11,29 @@ module x_end_idler_holes()
{
x_end_holes();
translate([0,3.5,0])
{
{
// pulley screw
translate(v=[0,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.55, $fn=50);
translate(v=[-4,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 4, r=3, $fn=50);
translate(v=[-21.5,-19,30.25]) rotate([0,-90,0]){
rotate([0,0,30])cylinder( h = 4, r = 3.1, $fn=6);
}
translate(v=[-21.5,-19,30.25]) rotate([0,-90,0]){
rotate([0,0,30])cylinder( h = 4, r = 3.1, $fn=6);
}
translate(v=[-24,-19,30.25]) rotate([0,-90,0]){
translate(v=[-24,-19,30.25]) rotate([0,-90,0]){
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
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
translate([-19,-35,21.25]) cube([10,20,18]);
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
// pulley side cut
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
translate([-19,-35,21.25]) cube([10,20,18]);
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
}
}
}
module waste_pocket()
@ -65,34 +59,21 @@ module x_end_idler_base()
x_end_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([-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() {
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]);
}
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,16 +91,11 @@ 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);
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);
}
@ -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]);

View File

@ -11,11 +11,13 @@ module x_end_motor_base()
{
x_end_base();
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
}
module x_end_motor_holes()
{
x_end_holes();
x_end_holes();
// Position to place
translate(v=[-1,32,30.25])
@ -24,28 +26,23 @@ 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);
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,-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);
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);
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);
};
// Material saving cutout
translate(v=[-10,12,12]) cube(size = [60,42,42], center = true);
translate(v=[-25,10.5,-11]) rotate([45,0,0]) cube(size = [60,10,10]);
@ -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,15 +128,13 @@ 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=[-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=[-8.8,-8.55,13.5]) rotate([0,0,45]) cube(size = [8,2.1,1], 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]);
}
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]);
}
}
//chamfers
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]);
}
}

View File

@ -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,7 +38,8 @@ 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, 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_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();

View File

@ -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.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.