pull/25/merge
Protoncek 2017-03-16 09:18:41 +00:00 committed by GitHub
commit 477b055a14
61 changed files with 250503 additions and 168446 deletions

View File

@ -5,27 +5,30 @@
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org // http://prusamendel.org
// body
difference(){ difference(){
union(){ union(){
cylinder(r=7,h = 7, $fn=30); cylinder(r=7,h = 7, $fn=30);
translate([2,-8,0]) cube([9.5,18,3]); translate([2,-8,0]) cube([9.5,18,3]);
translate([2,-9,0]) cube([5.5,5,3]); translate([2,-9,0]) cube([5.5,5,3]);
} }
// rod cutout
translate([0,0,-1]) cylinder(r=5,h = 10, $fn=30); translate([0,0,-1]) cylinder(r=5,h = 10, $fn=30);
translate([-4.5,0,-5]) cube([9,15,15]); translate([-4.5,0,-5]) cube([9,15,15]);
// LCD cable cut
translate([8,-12,-1]) cube([2,19,5]); translate([8,-12,-1]) cube([2,19,5]);
translate([9,7,-1]) cylinder(r=1,h = 5, $fn=30); translate([9,7,-1]) cylinder(r=1,h = 5, $fn=30);
//corners //corners
translate([2,-13.75,-1]) rotate([0,0,45]) cube([5,5,5]); translate([2,-13.75,-1]) rotate([0,0,45]) cube([5,5,5]);
translate([4,6,-1]) rotate([0,0,45]) cube([10,10,5]); translate([4,6,-1]) rotate([0,0,45]) cube([10,10,5]);
translate([14,6,-1]) rotate([0,0,45]) cube([10,10,5]); translate([14,6,-1]) rotate([0,0,45]) cube([10,10,5]);
translate([-3,3,-1]) rotate([0,0,45]) cube([5,5,10]); translate([-3,3,-1]) rotate([0,0,45]) cube([5,5,10]);
translate([3,3,3]) rotate([0,0,45]) cube([5,5,10]); translate([3,3,3]) rotate([0,0,45]) cube([5,5,10]);
} }
// LCD cable cut ends
translate([7.5,-8,0]) cylinder(r=1,h = 3, $fn=30); translate([7.5,-8,0]) cylinder(r=1,h = 3, $fn=30);
translate([10.5,-8,0]) cylinder(r=1,h = 3, $fn=30); translate([10.5,-8,0]) cylinder(r=1,h = 3, $fn=30);

View File

@ -0,0 +1,189 @@
// PRUSA iteration3
// LCD cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module main_body(){
difference() {
union() {
// main body
translate( [ -77 , -4.5 , 0 ] ) cube( [ 155 , 59.8 , 2 ] );
translate( [ -77 , -4.5 , 0 ] ) rotate([35,0,0]) cube( [ 155 , 2 , 20.08 ] );
translate( [ -77 , -14.7 , 14.2 ] ) cube( [ 155 , 2 , 11.8 ] );
translate( [ -77 , 54 , 0 ] ) cube( [ 155 , 2 , 17 ] );
// M3 hole body
translate( [ 73.5 , 43.3 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
translate( [ -72.5 , 43.5 , 0.5 ] ) rotate([0,0,90]) cylinder( h = 14, r = 4, $fn=6);
}
translate( [ -61.5 , 1 , 1.2 ] ) cube( [ 98.5 , 42 , 10 ] ); // LCD window
translate( [ -54.5 , 8 , -1 ] ) cube( [ 85 , 30.5 , 10 ] ); // LCD window
// buzzer holes
translate( [ 55 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 57 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 59 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 61 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 63 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 65 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
translate( [ 67 , 1.5 , -1 ] ) cube( [ 1.3 , 4 , 10 ] );
// buzzer holes corners
translate( [ 66.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 64.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 62.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 60.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 58.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 56.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
translate( [ 54.25 , 1.5 , -0.5 ] ) rotate([0,45,0]) cube( [ 2 , 4 , 2 ] );
// knob hole
translate( [ 62.5 , 21 , -1 ] ) cylinder( h = 10, r = 6, $fn=30);
translate( [ 62.5 , 21 , -1.2 ] ) cylinder( h = 2, r1 = 7, r2 = 6, $fn=30);
// reset button cutout
translate( [ 44 , 26 , -1 ] ) cube( [ 1 , 6 , 9 ] );
translate( [ 48 , 26 , -1 ] ) cube( [ 1 , 2.5 , 9 ] );
translate( [ 68.5 , 36 , -1 ] ) cube( [ 1 , 8 , 9 ] );
translate( [ 56 , 43 , -1 ] ) cube( [ 13.5 , 1 , 9 ] );
translate( [ 50.5 , 30 , -1 ] ) cube( [ 13 , 1 , 9 ] );
translate( [ 44.7 , 31.28 , -1 ] ) rotate([0,0,45]) cube( [ 17 , 1 , 9 ] );
translate( [ 63.5 , 30 , -1 ] ) rotate([0,0,45]) cube( [ 8.5 , 1 , 9 ] );
translate( [ 48.7 , 27.8 , -1 ] ) rotate([0,0,45]) cube( [ 3.55 , 1 , 9 ] );
// rear support cutout
translate( [ -64.5 , -12.7 , 14 ] ) cube( [ 10 , 3 , 16 ] );
translate( [ 55.5 , -12.7 , 14 ] ) cube( [ 10 , 3 , 16 ] );
}
}
module pcb_clip(){
difference(){
union(){
translate( [ -3 , -12 , 17.5 ] ) cube( [ 7 , 4 , 5 ] );
translate( [ -3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
translate( [ 3 , -10.6 , 12.5 ] ) cube( [ 1 , 2.6 , 7 ] );
}
translate( [ -4 , -8 , 18.5 ] ) rotate([30,0,0]) cube( [ 10 , 6 , 6 ] );
translate( [ 2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 14.5 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ 2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
translate( [ -2.5 , -12 , 17.3 ] ) cube( [ 1 , 4 , 0.2 ] );
}
}
difference()
{
union()
{
pcb_clip();
main_body();
// reset button
translate( [ 62.5 , 37.3 , 0 ] ) cylinder( h = 7.2, r = 3.5, $fn=30);
//left side
translate( [ -77 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ -76.5 , -15 , 0 ] ) cube( [ 4 , 70 , 14.6 ] );
//right side
translate( [ 76.5 , -14.7 , 0 ] ) cube( [ 1.5 , 70.7 , 26 ] );
translate( [ 73.5 , -14 , 0 ] ) cube( [ 4 , 70 , 14.5 ] );
//rear side reinforcement
translate( [ -54.5 , -11.7 , 8 ] ) cube( [ 110 , 4 , 6.5 ] );
translate( [ 65.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ 65.5 , -13 , 14 ] ) cube( [ 12 , 2 , 12 ] );
translate( [ -76.5 , -11.7 , 8 ] ) cube( [ 12 , 4 , 6.5 ] );
translate( [ -76.5 , -14.7 , 14.5 ] ) cube( [ 12 , 4 , 11.5 ] );
translate( [ -44 , -14.7 , 14.5 ] ) cube( [ 89 , 4 , 11.5 ] );
translate( [ -43.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
translate( [ 44.5 , -10.7 , 15 ] ) rotate([90,0,0]) cylinder( h = 2, r = 11, $fn=60);
//front left side reinforcement
difference()
{
union(){
translate( [ -77 , 41.3 , 0 ] ) cube( [ 15 , 14 , 25 ] );
translate( [ -77 , 46.3 , 14 ] ) cube( [ 15 , 9 , 3 ] );
}
translate( [ -64.5 , 40 , -3 ] ) cube( [ 4 , 8 , 40 ] );
translate( [ -75.5 , 40.3 , 14.5 ] ) cube( [15 , 6.5 , 25 ] );
}
//front right side reinforcement
difference(){
translate( [ 38 , 41.2 , 0 ] ) cube( [ 40 , 14 , 26 ] );
translate( [ 55 , 44.5 , 0 ] ) cube( [ 10.5 , 3.7 , 30 ] );
translate( [ 44 , 39.5 , 0 ] ) cube( [ 25.5 , 5 , 30 ] );
translate( [ 35 , 39.3 , 14.5 ] ) cube( [ 42.5 , 7 , 15 ] );
translate( [ 49 , 43.2 , 25 ] ) rotate([0,60,0]) cube( [ 12 , 5 , 10 ] );
}
}
// SD card opening
translate( [ -80 , 9 , 14.5 ] ) cube( [ 10 , 28 , 6 ] );
// front and rear angle
translate( [ -81 , -9.3 , -17 ] ) rotate([35,0,0]) cube( [ 164 , 14 , 54.08 ] );
translate( [ -78 , 72.7 , -3 ] ) rotate([45,0,0]) cube( [ 160 , 14 , 54.08 ] );
// M3 screw thread
translate( [ 72.7 , 43.2 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ -72.5 , 42.7 , 3 ] ) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ 72.7 , 43.2 , 14 ] ) cylinder( h = 1, r1 = 1.4, r2=2, $fn=30);
translate( [ -72.5 , 42.7 , 14 ] ) cylinder( h = 1, r = 1.4, r2=2, $fn=30);
// ORIGINAL PRUSA text
translate([-67,52,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("ORIGINAL",font = "helvetica:style=Bold", size=7, center=true); }
translate([-18,52,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
{ text("PRUSA",font = "helvetica:style=Bold", size=11, center=true); }
translate( [ -66 , 41.5 , -0.4 ] ) cube( [ 45 , 1.6 , 1 ] );
translate( [ -66 , 42.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
translate( [ -21 , 42.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
// front cleanup
translate( [ -100 , -64 , 0 ] ) cube( [ 200 , 50 , 50 ] );
// X sign on reset button
translate( [ 63 , 34 , -1 ] ) rotate([0,0,45]) cube( [ 2, 8, 2 ] );
translate( [ 57.5 , 35.5 , -1 ] ) rotate([0,0,-45]) cube( [ 2, 8, 2 ] );
// corners
translate( [ 76 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 5, 80, 5 ] );
translate( [ -82 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 5, 80, 5 ] );
translate( [ -82 , 58 , -4 ] ) rotate([45,0,0]) cube( [ 200, 5, 5 ] );
translate( [ -77 , 54 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
translate( [ 78 , 54 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
translate( [ 78 , -19 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
translate( [ -77 , -19 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
// LCD corners
translate( [ -54.5 , 9.5 , -5.2 ] ) rotate([45,0,0]) cube( [ 85 , 5 , 5 ] ); // LCD window
translate( [ -54.5 , 37 , -5.2 ] ) rotate([45,0,0]) cube( [ 85 , 5 , 5 ] ); // LCD window
rotate([35,0,0]) translate( [ -78 , -7 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
rotate([35,0,0]) translate( [ 79 , -7 , -4 ] ) rotate([0,0,45]) cube( [ 5, 5, 50 ] );
}

View File

@ -25,6 +25,7 @@ union(){
module cutout() module cutout()
{ {
translate([ 22, 4 , -2 ]) cylinder( h = 20, r = 1.6, $fn=30); // M3 hole A translate([ 22, 4 , -2 ]) cylinder( h = 20, r = 1.6, $fn=30); // M3 hole A
translate([ 22, 4 , -1 ]) cylinder( h = 10, r = 3.2, $fn=6); // M3 nut body A translate([ 22, 4 , -1 ]) cylinder( h = 10, r = 3.2, $fn=6); // M3 nut body A
translate([ 22, 4 , -1 ]) cylinder( h = 14, r1 = 3.2, r1 = 5, $fn=6); // M3 nut hole fillet A translate([ 22, 4 , -1 ]) cylinder( h = 14, r1 = 3.2, r1 = 5, $fn=6); // M3 nut hole fillet A

View File

@ -5,31 +5,48 @@
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org // http://prusamendel.org
module CubeAdjust(Xdim, Zdim){
for (x =[6:11.2:Xdim-12]){
for (z =[6:11.2:Zdim-12]){
translate([x,-0.2,z])cube([10,0.4,10]);
}
}
}
module nuttrap(){
rotate([0, 180, 0]) difference(){
union(){
translate([-4.25,-7.5,0]) difference(){
translate([0,0,0]) cube([8.5, 9, 3]);
rotate([45,0,0]) cube([11.5,5.7,5.7]);
}
}
translate([0,0, -0.2])rotate([0,0,30]) cylinder(r=3.5,h=15-1.5, $fn=6);
}
}
module PSU_COVER() module PSU_COVER()
{ {
difference(){ difference(){
union(){ union(){
translate([0,0,-1])cube([95,50+15,56]); // Base translate([0,0,-0.46])cube([95,50+15,54.25]); // Base
translate([0,0,-3.5])cube([14-0.5,50+15,5]); // Back pillar 1 translate([0,0,-3.5])cube([14-0.5,50+15,5]); // Back pillar 1
translate([60-0.5,0,-3.5])cube([14,50+15,5]); // Back pillar 2 translate([60-0.5,0,-3.5])cube([14,50+15,5]); // Back pillar 2
translate([91+4,0,-1])cube([6,50+15,56]); // Base for bracket translate([91+4,0,-0.46])cube([6,50+15,54.25]); // Base for bracket
translate([-2,45.4-4.6,19])cube([2,3,15]); // nipple on the right translate([-2,45.4-4.6,19])cube([2,3,15]); // nipple on the right
translate([0,35,46.5])scale([1.2,1,0.2])rotate([-28,-50,-58])cube([45,45,30]);
//translate([94,20,13])scale([0.2,1.2,1])rotate([-29,-51,-48])cube([30,35,30]);
//translate([10,25,45])scale([1,1,0.3])rotate([-40,-50,-58])cube([40,30,30]);
translate([-1.6,0,0])cube([1.65,65,2]); // Frame skirt 1 translate([-1.6,0,0])cube([1.65,65,2]); // Frame skirt 1
translate([-1.6,0,0])cube([1.65,30,55]); // Frame skirt 2 translate([-1.6,0,0])cube([1.65,30,53.78]); // Frame skirt 2
translate([-1.6,0,51])cube([1.65,65,4]); // Frame skirt 3 translate([-1.6,0,51.32])cube([1.65,65,2.46]); // Frame skirt 3
} }
@ -38,11 +55,11 @@ translate([-1.6,0,51])cube([1.65,65,4]); // Frame skirt 3
translate([-11,-2,-2])rotate([0,0,-45])cube([10,10,58]); translate([-11,-2,-2])rotate([0,0,-45])cube([10,10,58]);
translate([95-3+5+1,-2,-2])rotate([0,0,-45])cube([10,10,58]); translate([95-3+5+1,-2,-2])rotate([0,0,-45])cube([10,10,58]);
translate([-3,-9,-5])rotate([-45,0,0])cube([130,10,10]); translate([-3,-9,-4.46])rotate([-45,0,0])cube([130,10,10]);
translate([-3,-12,56])rotate([-45,0,0])cube([130,10,10]); translate([-3,-12,54.78])rotate([-45,0,0])cube([130,10,10]);
translate([-3,45+15,-5])rotate([-45,0,0])cube([130,10,10]); translate([-3,45+15,-4.46])rotate([-45,0,0])cube([130,10,10]);
translate([-3,48+15,56])rotate([-45,0,0])cube([130,10,10]); translate([-3,48+15,54.78])rotate([-45,0,0])cube([130,10,10]);
translate([95-3+3,70,-2])rotate([0,0,-45])cube([10,10,58]); translate([95-3+3,70,-2])rotate([0,0,-45])cube([10,10,58]);
@ -54,12 +71,12 @@ translate([95,0-10,45])rotate([0,-45,-45])cube([20,20,20]);
translate([95,60,-10])rotate([-35,-45,-45])cube([20,20,20]); translate([95,60,-10])rotate([-35,-45,-45])cube([20,20,20]);
translate([95,60,65])rotate([-55,48,-48])cube([20,20,20]); translate([95,60,65])rotate([-55,48,-48])cube([20,20,20]);
translate([79,-5,68.5])rotate([0,45,0])cube([20,90,20]); translate([79,-5,67.28])rotate([0,45,0])cube([20,90,20]);
translate([79,4,-14.5])rotate([0,45,0])cube([20,90,20]); translate([79,-5,-13.96])rotate([0,45,0])cube([20,90,20]);
translate([-14,-5,68.5])rotate([0,45,0])cube([20,90,20]); translate([-14,-5,67.28])rotate([0,45,0])cube([20,90,20]);
translate([3,2,2])cube([89.02,50.02+15,50.02-0.7]); // main cutout translate([3,2,2])cube([89.02,50.02+15,50.02-0.7]); // main cutout
@ -69,6 +86,9 @@ translate([-3,50-16.4-15.6+15,2])cube([10,100,17]); // right bottom cutout
translate([85+2,50-16.4-17.6+15+0.9,2])cube([10,100,50-0.7]); // left bottom cutout translate([85+2,50-16.4-17.6+15+0.9,2])cube([10,100,50-0.7]); // left bottom cutout
translate([85+2,10,2])rotate([0,0,45]) cube([10*sqrt(2),10*sqrt(2),50-0.7]);
translate([85+2,2,2]) cube([10,18,50-0.7]);
translate([-3,50-16.4-17.6+15+0.9,2])cube([100,100,10]); // bottom cutout translate([-3,50-16.4-17.6+15+0.9,2])cube([100,100,10]); // bottom cutout
translate([5.5,0,0]){ translate([5.5,0,0]){
@ -78,20 +98,9 @@ translate([45-4.5+37-0.5,2+15.6,40])cylinder(r=2,h=50, $fn=8); // socket left ho
translate([1,2,44])cube([20,14,30]); // switch cutout translate([1,2,44])cube([20,14,30]); // switch cutout
translate([45-4.5+37-0.5,2+15.6,40])cylinder(r=3.25,h=15-1.5, $fn=6); // socket left hole cutout nuttrap translate([45-4.5+37-0.5,2+15.6,39.1]) rotate([0,0,30]) cylinder(r=3.25,h=15-2.8, $fn=6); // socket left hole cutout nuttrap
translate([45-4.5,2+15.6,40])cylinder(r=3.25,h=15-1.5, $fn=6); // socket left hole cutout nuttrap translate([45-4.5,2+15.6,39.1]) rotate([0,0,30]) cylinder(r=3.25,h=15-2.8, $fn=6); // socket left hole cutout nuttrap
} }
translate([20,50,54.5])linear_extrude(height = 1) {
text("Prusa3D", center=true);
}
/*
translate([8,40-1+15,40])cylinder(r=2,h=50,$fn=15); // left front mounthole cutout
translate([8,40-1+15,53.6])cylinder(r1=2, r2=3.5,h=1.5,$fn=15);
translate([87,40-1+15,40])cylinder(r=2,h=50,$fn=15); // right front mounthole cutout
translate([87,40-1+15,53.6])cylinder(r1=2, r2=3.5,h=1.5,$fn=15);
*/
translate([7-0.5-0.5,40-1+15+0.7,-10])cylinder(r=2,h=50,$fn=15); // left back mounthole cutout translate([7-0.5-0.5,40-1+15+0.7,-10])cylinder(r=2,h=50,$fn=15); // left back mounthole cutout
translate([7-0.5-0.5,40-1+15+0.7,-3.7])cylinder(r2=2, r1=3.5,h=1.5,$fn=15); translate([7-0.5-0.5,40-1+15+0.7,-3.7])cylinder(r2=2, r1=3.5,h=1.5,$fn=15);
@ -102,13 +111,13 @@ translate([67.5-0.7-0.5,43.5-1+15+0.5,-3.7])cylinder(r2=2, r1=3.5,h=1.5,$fn=15);
translate([130,32+26,55-4-25])rotate([0,-90,0])cylinder(r=2.5,h=50,$fn=35); // Left side bracket screw hole translate([130,32+26,55-4-25])rotate([0,-90,0])cylinder(r=2.5,h=50,$fn=35); // Left side bracket screw hole
translate([101.1,32+26,55-4-25])rotate([0,-90,0])cylinder(r2=2.5, r1=4.1,h=3,$fn=15); translate([101.1,32+26,55-4-25])rotate([0,-90,0])cylinder(r2=2.5, r1=4.1,h=3,$fn=15);
translate([-0.3,0,-1.2])CubeAdjust(102,54.25);
for(i=[0:10]){ for(i=[0:9]){
translate([20+i,6,-10])cylinder(r=3,h=50); // left back mounthole cutout translate([20+i,6.5,-10])cylinder(r=3.5,h=50); // left back mounthole cutout
} }
} }
} }
@ -124,19 +133,17 @@ difference()
union () // cutouts union () // cutouts
{ {
//translate([ 88-0.5, 8, -10.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.6, $fn=30 ); //hole A1
//translate([ 88, 8, -10.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.6, $fn=30 ); //hole A
//translate([ 88+0.5, 8, -10.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.6, $fn=30 ); //hole A2
//translate([ 68-0.5, 8, -10.5 ]) rotate([ 90, 0, 0 ]) cylinder( h = 10, r = 1.6, $fn=30 ); //hole B1
//translate([ 68, 8, -10.5 ]) rotate([ 90, 0, 0 ]) cylinder( h = 10, r = 1.6, $fn=30 ); //hole B
//translate([ 68+0.5, 8, -10.5 ]) rotate([ 90, 0, 0 ]) cylinder( h = 10, r = 1.6, $fn=30 ); //hole B2
// corner cuts
translate([ 87.5, -8, -20 ]) rotate([ 0, 45, 0 ]) cube([ 10, 20, 10 ]); //corner cut translate([ 87.5, -8, -20 ]) rotate([ 0, 45, 0 ]) cube([ 10, 20, 10 ]); //corner cut
translate([ 52.5, -8, -20 ]) rotate([ 0, 45, 0 ]) cube([ 10, 20, 10 ]); //corner cut translate([ 52.5, -8, -20 ]) rotate([ 0, 45, 0 ]) cube([ 10, 20, 10 ]); //corner cut
// angled vertical support
translate([ 68.5, 20, -34 ]) rotate([ 45, 0, 0 ]) cube([ 15, 23, 20 ]); //vertical reinf cutout translate([ 68.5, 20, -34 ]) rotate([ 45, 0, 0 ]) cube([ 15, 23, 20 ]); //vertical reinf cutout
// bottom surface cuts
translate([ 66.2, -0.2, -5])cube([23.6, 0.4, 5.6]);
translate([ 68 + 1.8 +2.6, -0.2, -7.7 -5.6])cube([11.2, 0.4, 5.6]);
translate([ 88, 8, -11.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.8, $fn=30 ); //hole A translate([ 88, 8, -11.5 ]) rotate([ 90, 0, 0]) cylinder( h = 10, r = 1.8, $fn=30 ); //hole A
@ -149,18 +156,21 @@ difference()
translate([ 66.2, -10, -11.5 ]) cube([ 3.6, 20, 2 ]); // hole cut extension translate([ 66.2, -10, -11.5 ]) cube([ 3.6, 20, 2 ]); // hole cut extension
} }
} }
} }
module FINAL_PART(){ module FINAL_PART(){
union() union()
{ {
PSU_COVER(); PSU_COVER();
PSU_Y_REINFORCEMENT(); PSU_Y_REINFORCEMENT();
translate([82.5,2+15.6,39.1+13.5]) nuttrap();
translate([46,2+15.6,39+13.5]) nuttrap();
} }
} }
FINAL_PART(); FINAL_PART();

View File

@ -1,5 +1,5 @@
// PRUSA iteration3 // PRUSA iteration3
// RAMBo cover base // RAMBo base
// GNU GPL v3 // GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors // Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
@ -9,254 +9,315 @@
// main body // main body
module main_body(){ module main_body(){
cube( [ 114.5 , 92 , 2 ] ); // side panel
cube( [ 1.5 , 92 , 35 ] ); cube( [ 118.5 , 92 , 2 ] );
translate( [ 0 , 90 , 0 ] ) cube( [ 105.5 , 2 , 35 ] );
translate( [ 63 , 88.5 , 0.5 ] ) cube( [ 6.5 , 2 , 34.5 ] );
translate( [ 0 , 0 , 1 ] ) cube( [ 5.5 , 7 , 34 ] ); // upper panel
translate( [ 0 , 0 , 1 ] ) cube( [ 9 , 92 , 3 ] ); cube( [ 1.5 , 92 , 35 ] );
translate( [ 98 , 0 , 0 ] ) cube( [ 9 , 92 , 4 ] ); // rear panel
translate( [ 98 , 86 , 0 ] ) cube( [ 7.5 , 6 , 35 ] ); translate( [ 0 , 90 , 0 ] ) cube( [ 105.5 , 2 , 35 ] );
translate( [ 0 , 85 , 0 ] ) cube( [ 5.5 , 7 , 35 ] ); // heatbed ziptie reinforcement
translate( [ 54 , 84 , 0 ] ) cube( [ 9.5 , 7 , 35 ] ); translate( [ 63 , 88.5 , 0.5 ] ) cube( [ 6.5 , 2 , 34.5 ] );
translate( [ 20 , 0 , 0 ] ) cube( [ 80 , 3 , 5 ] );
// RAMBo mounting holes // upper panel frame reinforcement
translate( [ 102.5 , 14 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6); translate( [ 0 , 0 , 1 ] ) cube( [ 5.5 , 7 , 34 ] );
translate( [ 102.5 , 75 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 14 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 75 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
// corners reinforcement // side panel reinforcement
translate( [ 0 , 75 , 1 ] ) cube( [ 13 , 16 , 6 ] ); translate( [ 0 , 0 , 1 ] ) cube( [ 9 , 92 , 3 ] );
translate( [ 0 , 70.25 , 1 ] ) cube( [ 7.5 , 11 , 6 ] ); translate( [ 98 , 0 , 0 ] ) cube( [ 9 , 92 , 4 ] );
translate( [ 0 , 7.75 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 0 , 1 ] ) cube( [ 13 , 14 , 6 ] );
// frame mounting screw blocks
translate( [ 98 , 0 , 0 ] ) cube( [ 16.5 , 8 , 8 ] );
translate( [ 1 , 0 , 0 ] ) cube( [ 19.5 , 8 , 8 ] );
translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 8, r = 5, $fn=30);
translate( [ 110.5 , 8 , 5 ] ) rotate([90,90,0]) cylinder( h = 8, r = 5, $fn=30);
translate( [ 18.45 , 0 , 0 ] ) cube( [ 3 , 8 , 5.5] );
// heatbed filament holder body
translate( [ 81.6 , 90.35 , 24 ] ) rotate([0,90,0]) cylinder( h = 17, r = 5, $fn=6);
// door closing corner
translate( [ 102 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
translate( [ 2 , 85 , 31 ] ) cube( [ 6 , 7 , 4] );
translate( [ 4 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
translate( [ 89 , 2 , 0 ] ) cylinder( h = 5, r = 6, $fn=6);
}
module inside_cable_holder(){
translate( [ 50 , 6 , 0.5 ] ) cube( [ 30, 2, 20] );
difference(){
translate( [ 50 , 8 , 25 ] ) rotate([0,90,0]) cylinder( h = 30, r = 6, $fn=6);
translate( [ 49 , 8 , 25 ] ) rotate([0,90,0]) cylinder( h = 34, r = 4, $fn=6);
translate( [ 49 , 8 , 10 ] ) cube( [ 34, 10, 25] );
}
difference()
{
// bottom side reinforcement
translate( [ 98 , 86 , 0 ] ) cube( [ 7.5 , 6 , 35 ] );
translate( [ 96 , 79 , 0 ] ) rotate([0,0,45]) cube( [ 7.5 , 6 , 36 ] );
} }
translate( [ 0 , 85 , 0 ] ) cube( [ 5.5 , 7 , 35 ] );
// screw mounting block
translate( [ 54 , 84 , 0 ] ) cube( [ 9.5 , 7 , 35 ] );
// frame side panel
translate( [ 20 , 0 , 0 ] ) cube( [ 80 , 3 , 5 ] );
// RAMBo mounting holes
translate( [ 102.5 , 14 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 102.5 , 75 , 1 ] ) rotate([0,0,90]) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 14 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
translate( [ 7.5 , 75 , 1 ] ) cylinder( h = 7, r = 5.5, $fn=6);
// corners reinforcement
translate( [ 0 , 75 , 1 ] ) cube( [ 13 , 16 , 6 ] );
translate( [ 0 , 70.25 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 7.75 , 1 ] ) cube( [ 7.5 , 11 , 6 ] );
translate( [ 0 , 0 , 1 ] ) cube( [ 13 , 14 , 6 ] );
// frame mounting screw blocks
//upper
translate( [ 1 , 0 , 0 ] ) cube( [ 28 , 4 , 10 ] );
translate( [ 18.45 , 0 , 0 ] ) cube( [ 3 , 4 , 5.5] );
//lower
translate( [ 98 , 0 , 0 ] ) cube( [ 20.5 , 4 , 10 ] );
// heatbed filament holder body
translate( [ 81.6 , 90.35 , 24 ] ) rotate([0,90,0]) cylinder( h = 18, r = 5, $fn=6);
// door closing corner
translate( [ 102 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
// doors pin upper
translate( [ 2 , 85 , 31 ] ) cube( [ 6 , 7 , 4] );
translate( [ 4 , 88.5 , 35 ] ) cylinder( h = 3, r1=2.5, r2=1, $fn=30);
// x-axis cables entry hole body
translate( [ 89 , 2 , 0 ] ) cylinder( h = 5, r = 6, $fn=6);
}
module ventilation_holes()
{
for ( i = [-6 : 8] ){
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+50,1.2]);
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19,10]);
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,19,10]);
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,19,10]);
}
}
module cutouts(){ module cutouts(){
// side // side
translate( [ 12 , 19 , 1 ] ) cube( [ 85.5 , 51 , 3 ] ); translate( [ 12 , 19 , 1 ] ) cube( [ 85.5 , 51 , 3 ] );
// RAMBo M3 screws // RAMBo M3 screws
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.7, $fn=30); translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
// frame mounting screws translate( [ 7.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); translate( [ 102.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); translate( [ 102.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 16.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30); translate( [ 7.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 114.5 , -2 , -1 ] ) cube( [ 5 , 15 , 10] );
// USB connector hole translate( [ 2 , 0 , 0 ] )ventilation_holes();
translate( [ -1 , 41.5 , 11 ] ) cube( [ 5.5 , 13 , 11 ] );
// reset button // frame mounting screws
translate( [ -2 , 65 , 14 ] ) rotate([0,90,0]) cylinder( h = 10, r = 2, $fn=30); //upper
translate( [ 18.5, -2 , 15.6 ] ) rotate([0,45,0]) cube( [ 15 , 10 , 10] );
// door closing screw translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 43, r = 1.8, $fn=30); translate( [ 16.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 15.15 , -2 , 5 ] ) cube( [ 2.7 , 15 , 10] );
translate( [ 15.1 , -2 , 7 ] ) rotate([0,5,0]) cube( [ 2.8 , 15 , 10] );
translate( [ 15.1 , -2 , 7 ] ) rotate([0,-5,0]) cube( [ 2.8 , 15 , 10] );
// heatbed cable opening hole //lower
translate( [ 75.5 , 94 , 24 ] ) rotate([90,90,0]) cylinder( h = 5, r = 7, $fn=6); translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
translate( [ 77.6 , 80 , 20.5 ] ) cube( [ 4 , 15 , 15] ); translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
translate( [ 69.4 , 95 , 27.5 ] ) rotate([90,60,0]) cube( [ 5 , 10 , 10] ); translate( [ 118.5 , -2 , 6 ] ) rotate([0,-45,0]) cube( [ 5 , 15 , 15] );
translate( [ 94.5 , -2 , 8.5 ] ) rotate([0,45,0]) cube( [ 5 , 8 , 15] );
translate( [ 0 , -2 , -5 ] ) cube( [ 120 , 15 , 5] );
translate( [ 109.15 , -2 , 5 ] ) cube( [ 2.7 , 15 , 10] );
translate( [ 109.3 , -2 , 6.5 ] ) rotate([0,5,0]) cube( [ 2.5 , 15 , 10] );
translate( [ 109.2 , -2 , 6.5 ] ) rotate([0,-5,0]) cube( [ 2.5 , 15 , 10] );
// heatbed cable ziptie holes // USB connector hole
translate( [ 64 , 87 , 30 ] ) cube( [ 4 , 10 , 2 ] ); translate( [ -1 , 41.5 , 11 ] ) cube( [ 5.5 , 13 , 11 ] );
translate( [ 64 , 87 , 16 ] ) cube( [ 4 , 10 , 2 ] );
// reset button
translate( [ -2 , 65 , 14 ] ) rotate([0,90,0]) cylinder( h = 10, r = 2, $fn=30);
// door closing screw
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 43, r = 1.9, $fn=30);
// heatbed cable opening hole
difference()
{
translate( [ 75.5 , 94 , 24 ] ) rotate([90,90,0]) cylinder( h = 5, r = 7, $fn=6);
translate( [ 71 , 80 , 13.5 ] ) cube( [ 8 , 15 , 5] );
}
translate( [ 73 , 80 , 20.5 ] ) cube( [ 5 , 15 , 15] );
// heatbed cable ziptie holes
translate( [ 64 , 87 , 30 ] ) cube( [ 4 , 10 , 2 ] );
translate( [ 64 , 87 , 16 ] ) cube( [ 4 , 10 , 2 ] );
// heatbed filament holder hole // heatbed filament holder hole
translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 17, r = 1.6, $fn=30); translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 17, r = 1.8, $fn=30);
translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 2, r = 2, r2=1.6, $fn=30); translate( [ 81 , 89 , 24 ] ) rotate([0,90,0]) cylinder( h = 2, r = 2, r2=1.8, $fn=30);
translate( [ 70 , 92 , 15 ] ) cube( [ 30 , 10 , 15] ); translate( [ 70 , 92 , 15 ] ) cube( [ 30 , 10 , 15] );
// nut traps // nut traps HEX
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); translate( [ 7.5 , 14 , -1 ] ){
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); cylinder( h = 4, r = 3.2, $fn=6);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=6); rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); translate( [ 102.5 , 14 , -1 ] ){
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); cylinder( h = 4, r = 3.2, $fn=6);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6); rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=30); rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 102.5 , 75 , -1 ] ){
cylinder( h = 4, r = 3.2, $fn=6);
rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
// door closing corners translate( [ 7.5 , 75 , -1 ] ){
translate( [ 8 , 80 , 28 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 10] ); cylinder( h = 4, r = 3.2, $fn=6);
translate( [ 106 , 81 , 4 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 40] ); rotate([0,0,0]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,60]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
rotate([0,0,120]) resize([0,2,0]) cylinder( h = 4, r = 3.5, $fn=6);
}
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6);
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6);
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6);
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 5, r2=3.2, $fn=6);
translate( [ 58.5 , 88 , -1 ] ) cylinder( h = 4, r = 3.2, $fn=30);
// door closing corners
translate( [ 8 , 80 , 28 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 10] );
translate( [ 106 , 81 , 4 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 40] );
// x axis cable hole // inner edges cutout
translate( [ 89 , 2 , -1 ] ) cylinder( h = 10, r = 4, $fn=6); translate( [ 54 , 79.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
translate( [ 80 , -5 , -1 ] ) cube( [ 15, 5, 10] ); translate( [ 70 , 82.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
translate( [ 6 , 80 , 7 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 24] );
translate( [ 5.5 , 4 , 7 ] ) rotate([0,0,45]) cube( [ 3 , 5 , 29] );
// x axis cable hole
translate( [ 89 , 2 , -1 ] ) cylinder( h = 10, r = 4, $fn=6);
translate( [ 80 , -5 , -1 ] ) cube( [ 15, 5, 10] );
// large corner coutout
translate( [ -27 , 80 , -54 ] ) rotate([50,0,45]) cube( [ 50, 50, 50] );
translate( [ 137.5 , 60 , -10 ] ) rotate([0,0,45]) cube( [ 50, 50, 50] );
// large corner coutout
translate( [ -25 , 80 , -54 ] ) rotate([50,0,45]) cube( [ 50, 50, 50] );
translate( [ 137.5 , 60 , -10 ] ) rotate([0,0,45]) cube( [ 50, 50, 50] );
} }
module ext_ziptie(){ // extruder cable holder
difference(){
translate( [ -6 , 28 , 27 ] ) rotate([0,90,0]) cylinder( h = 3, r = 15, $fn=30);
translate( [ -7 , 28 , 27 ] ) rotate([0,90,0]) cylinder( h = 5, r = 7, $fn=30);
}
}
module ext_cable_holder() module ext_cable_holder()
{ {
difference() difference()
{ {
// body
union(){ union(){
rotate([90,0,0]) translate([-8, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 7, r2=10, $fn=6); rotate([90,0,0]) translate([-8, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 8, r2=11, $fn=6);
rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 10, r2=10, $fn=6); rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 11, r2=11, $fn=6);
rotate([90,0,0]) translate( [ 1.5 , 26 , -28 ] ) rotate([0,90,0]) cylinder( h = 10, r1 = 10, r2=7, $fn=6); rotate([90,0,0]) translate( [ 1.5 , 26 , -28 ] ) rotate([0,90,0]) cylinder( h = 10, r1 = 13, r2=7.5, $fn=6);
translate( [ -4.1 , 28 , 17.5 ] ) rotate([0,45,0]) cube( [ 7 , 5 , 8 ] ); translate( [-4, 28, 16.5 ] ) rotate([0,45,0]) cube( [ 6 , 5.5 , 7 ] );
} }
// upper cut
translate( [ -15 , 13 , 15] ) cube( [ 15 , 15 , 25 ] ); translate( [ -15 , 13 , 15] ) cube( [ 15 , 15 , 25 ] );
translate( [ 1.5 , 26 , 10] ) cube( [ 15 , 15 , 25 ] ); // lower cut
translate( [ 1.5 , 26 , 10] ) cube( [ 15 , 15 , 26 ] );
// ziptie holder
difference(){ difference(){
rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 3.5, r = 8, $fn=30); rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 3.5, r = 8.5, $fn=30);
rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5.5, r = 6.5, $fn=30); rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5.5, r = 6.2, $fn=30);
} }
} }
} }
module rambo_cover() module rambo_cover()
{ {
difference() ext_cable_holder();
{ difference(){
main_body(); main_body();
cutouts(); cutouts();
} }
} }
difference(){
union(){
// extruder cable filament holder body
translate( [ 4.5 , 25.5 , 26 ] ) rotate([0,90,0]) cylinder( h = 7, r = 3.5, $fn=6);
translate( [ 4.5 , 22.5 , 22.5] ) cube( [ 7 , 3 , 7 ] );
translate( [ 4.5 , 23.5 , 20.8] ) cube( [ 7 , 2.5 , 7 ] );
translate( [ 4.5 , 24.7 , 26 ] ) rotate([0,90,0]) cylinder( h = 7, r = 3, $fn=30);
}
// extruder filament inner hole
translate( [ -5 , 25 , 26 ] ) rotate([0,90,0]) cylinder( h = 20, r = 1.75, $fn=30);
translate( [ 4, 25 , 26 ] ) rotate([0,90,0]) cylinder( h =3, r1 = 1.9, r2=1.75, $fn=30);
}
difference(){ difference(){
union(){
rambo_cover(); rambo_cover();
translate( [ 10 , 89 , 3] ) cube( [ 6 , 1 , 32 ] );
translate( [ 12 , 89 , 1] ) cube( [ 4 , 1 , 2 ] );
}
translate( [ 25 ,89 , 20.8] ) cube( [ 7.4 , 5 , 16 ] ); //Cube018
translate( [ 25 , 95 , 25 ] ) rotate([90,90,0]) cylinder( h = 7, r = 8.5, $fn=6);
// extruder cable zipties // upper extruder cable opening
translate( [ 11 , 87 , 30 ] ) cube( [ 4 , 10 , 2 ] ); translate( [ -5 , 28 , 26 ] ) rotate([0,90,-15]) cylinder( h = 20, r = 1.4, $fn=30);
translate( [ 11 , 87 , 16 ] ) cube( [ 4 , 10 , 2 ] );
// main hole
translate( [ -10 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 24, r = 5.5, $fn=30);
// cable opening slot
translate( [ -15 , 26.5 , 30 ] ) cube( [ 30 , 3 , 10 ] );
// flatten on door side
translate( [ -15 , 20 , 35 ] ) cube( [ 30 , 20 , 20 ] );
// opening slot cuts
translate( [ -1.5 , 26 , 33] ) rotate([45,0,45]) cube( [ 3 , 3 , 3 ] );
translate( [ 1 , 28 , 33] ) rotate([45,0,45]) cube( [ 3 , 3 , 3 ] );
// screw body edge
translate( [ 65 ,74.2 , 2] ) rotate([0,0,45]) cube( [ 10 , 10 , 50 ] );
// lightening slots
translate( [ 100 ,21 , 2] ) cube( [ 5 , 48 , 5 ] );
translate( [ 3 ,21 , 2] ) cube( [ 4.5, 48 , 5 ] );
// bottom holes print supports
translate( [ 7.5 , 14 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 102.5 , 14 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 102.5 , 75 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 7.5 , 75 ,0] ){
translate( [ 0 , 0 , 2.5 ] ) cube([3.2,5.6,2], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.2,3.8,2], center=true);
}
translate( [ 58.5 , 88 ,0] ){
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
} }
module extruder_filament_holder()
{
difference(){
translate( [ 33 , 90 , 25 ] ) rotate([0,90,0]) cylinder( h = 22, r = 8, $fn=4);
translate( [ 30 , 88 , 25 ] ) rotate([0,90,0]) cylinder( h = 22, r = 1.6, $fn=30);
translate( [ 32 , 88 , 25 ] ) rotate([0,90,0]) cylinder( h = 3, r1 = 2, r2=1.6, $fn=30);
translate( [ 26 ,79 , 20.8] ) cube( [ 30 , 5 , 16 ] );
translate( [ 26 ,91 , 15] ) cube( [ 30 , 15 , 16 ] );
}
}
extruder_filament_holder();
// print part support
translate([0,1,0])
difference(){
translate( [ 18 ,90 , 15] ) cube( [ 7 , 1 , 19 ] );
translate( [ 17 ,90.6 , 29.4] ) rotate([0,60,0]) cube( [ 1 , 1 , 19 ] );
translate( [ 30 ,90.6 , 13.1] ) rotate([0,-60,0]) cube( [ 1 , 1 , 19 ] );
translate( [ 30 ,89 , 13] ) rotate([0,-60,0]) cube( [ 10 , 3 , 10 ] );
translate( [ 20 ,100, 20 ] ) rotate([90,0,0]) cylinder( h = 33, r = 1, $fn=30);
translate( [ 21 ,99, 31 ] ) rotate([90,0,0]) cylinder( h = 33, r = 1, $fn=30);
}
// print part support
difference()
{
translate( [ 70 ,90.5 , 15] ) cube( [ 7.5 , 1 , 19 ] );
translate( [ 69 ,91 , 27.8] ) rotate([0,60,0]) cube( [ 1 , 1 , 19 ] );
translate( [ 80 ,91 , 13.9] ) rotate([0,-60,0]) cube( [ 1 , 1 , 19 ] );
translate( [ 81.5 ,90 , 10] ) rotate([0,-60,0]) cube( [ 10 , 2 , 10 ] );
}

View File

@ -1,107 +0,0 @@
// PRUSA iteration3
// RAMBo cover door
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
cube( [ 105.5 , 87.5 , 1 ] );
cube( [ 105.5 , 2 , 20 ] );
cube( [ 2 , 87.5 , 20 ] );
// corner reinforcement
translate( [ 98 , 1 , 0 ] ) cube( [ 7.5 , 5 , 20 ] );
translate( [ 0.5 , 0.5 , 0 ] ) cube( [ 5 , 6.5 , 20 ] );
translate( [ 1 , 0 , 0 ] ) cube( [ 10 , 87.5 , 6 ] );
translate( [ 99.5 , 0 , 0 ] ) cube( [ 6 , 87.5 , 7 ] );
translate( [ 10 , 0 , 0 ] ) cube( [ 6 , 5 , 6 ] );
// screw thread body
translate( [ 54 , 2 , 0 ] ) cube( [ 9.5 , 6 , 20 ] );
// rounded side
translate( [ 0 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 105.5, r = 4.5, $fn=30);
// upper hinge reinforcement
translate( [ 0.5 , 69 , -9 ] ) rotate([20,0,0]) cube( [ 26 , 20 , 10 ] );
// door closing
translate( [ 4 , 3.5 , 16.8 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.8, r2= 3.5, $fn=30);
translate( [ 102 , 3.5 , 16.8 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.8, r2= 3.5, $fn=30);
}
module ventilation_holes()
{
for ( i = [0 : 9] ){
translate([46 + (i*5.5),10.5,-1]) cube([3,19,10]);
translate([47.5 + (i*5.5),10.5,-1]) cylinder( h = 10, r = 1.5, $fn=30);;
translate([47.5 + (i*5.5),29.5,-1]) cylinder( h = 10, r = 1.5, $fn=30);;
}
}
module cutouts()
{
// door closing screw
translate( [ 58.5 , 4 , 5 ] ) cylinder( h = 17, r = 1.5, $fn=30);
translate( [ 58.5 , 4 , 18.5 ] ) cylinder( h = 2, r1 = 1.5, r2=1.9, $fn=30);
ventilation_holes();
translate([0,50,0]) ventilation_holes();
translate([0,25,0]) ventilation_holes();
// rounded side cutoff
translate( [ 26.5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 73, r = 3.5, $fn=30);
translate([ 26.5 ,80,5]) cube([73,19,10]);
translate([ 26.5 ,82.5,1]) cube([73,5,10]);
translate( [ 0 , 60 , -10 ] ) cube( [ 30 , 30 , 10 ] );
translate( [ -1 , 87.5 , 0 ] ) cube( [ 22.5 , 10 , 10 ] );
// upper hinge
translate( [2 , 80, 6] ) cube( [ 19.5, 10 , 10 ] );
translate( [-2 , 89.7, 3] ) rotate([70,0,0]) cube( [ 19.5, 10 , 5 ] );
translate( [ -5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 26.5, r = 2.5, $fn=30);
// hinge hole
translate( [ -5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 120, r = 2.6, $fn=30);
// door closing
translate( [ 4 , 3.5 , 16.9 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
translate( [ 102 , 3.5 , 16.9 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
// M3 NUT
translate( [55.65 , 0.5, 16] ) cube( [ 5.7, 10 , 2.2 ] );
translate( [4 , 10, 4] ) cube( [ 4, 65 , 5 ] );
translate( [101 , 10, 4] ) cube( [ 3, 70 , 5 ] );
}
module RAMBo_cover_doors()
{
difference()
{
body();
cutouts();
translate( [0 , -20, -3] ) rotate([0,45,45]) cube( [ 30, 30 , 20 ] );
}
}
RAMBo_cover_doors();

View File

@ -0,0 +1,119 @@
// PRUSA iteration3
// RAMBo doors
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module body()
{
// side panels
cube( [ 105.5 , 87.5 , 1 ] );
cube( [ 105.5 , 2 , 20 ] );
cube( [ 2 , 87.5 , 20 ] );
// corner reinforcement
translate( [ 98 , 1 , 0 ] ) cube( [ 7.5 , 5 , 20 ] );
translate( [ 0.5 , 0.5 , 0 ] ) cube( [ 5 , 6.5 , 20 ] );
translate( [ 1 , 0 , 0 ] ) cube( [ 10 , 87.5 , 6 ] );
translate( [ 99.5 , 0 , 0 ] ) cube( [ 6 , 87.5 , 7 ] );
translate( [ 10 , 0 , 0 ] ) cube( [ 6 , 5 , 6 ] );
// screw thread body
translate( [ 54 , 2 , 0 ] ) cube( [ 9.5 , 6 , 20 ] );
// rounded side
translate( [ 0 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 105.5, r = 4.5, $fn=30);
// upper hinge reinforcement
translate( [ 0.5 , 69 , -9 ] ) rotate([20,0,0]) cube( [ 26 , 20 , 10 ] );
// door closing
translate( [ 4 , 3.5 , 16.8 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.8, r2= 3.5, $fn=30);
translate( [ 102 , 3.5 , 16.8 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.8, r2= 3.5, $fn=30);
}
module ventilation_holes()
{
for ( i = [0 : 9] ){
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+50,1.2]);
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19,10]);
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,19,10]);
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,19,10]);
}
for ( i = [0 : -6] ){
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+50,1.2]);
}
for ( i = [-6 : -7] ){
translate([46 + (i*5.5),20.5,-1]) cube([3.65,19+40,1.2]);
}
}
module cutouts()
{
// door closing screw
translate( [ 58.5 , 4 , 5 ] ) cylinder( h = 17, r = 1.8, $fn=30);
translate( [ 58.5 , 4 , 18.5 ] ) cylinder( h = 2.6, r1 = 1.8, r2=2.2, $fn=30);
translate( [ 58.5 , 4 ,15.5] ){
translate( [ 0 , 0 , 2.5 ] ) cube([5.7,3.8,1], center=true);
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,1], center=true);}
ventilation_holes();
// rounded side cutoff
translate( [ 26.5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 73, r = 3.5, $fn=30);
translate([ 26.5 ,80,5]) cube([73,19,10]);
translate([ 26.5 ,82.5,1]) cube([73,5,10]);
// upper hinge cut
translate( [ 0 , 60 , -10 ] ) cube( [ 30 , 30 , 10 ] );
translate( [ -1 , 87.5 , 0 ] ) cube( [ 22.5 , 10 , 10 ] );
// upper hinge
translate( [2 , 80, 6] ) cube( [ 19.5, 10 , 10 ] );
translate( [-2 , 89.7, 3] ) rotate([70,0,0]) cube( [ 19.5, 10 , 5 ] );
translate( [ -5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 26.5, r = 2.5, $fn=30);
// hinge hole
translate( [ -5 , 87.5 , 4.5 ] ) rotate([0,90,0]) cylinder( h = 120, r = 2.6, $fn=30);
// door closing
translate( [ 4 , 3.5 , 16.9 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
translate( [ 102 , 3.5 , 16.9 ] ) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
// M3 NUT
translate( [55.65 , 0.5, 16] ) cube( [ 5.7, 10 , 2.2 ] );
// side panel lightning slot
translate( [2 , 10, 3] ) cube( [ 7, 65 , 5 ] );
translate( [101 , 10, 3] ) cube( [ 3, 70 , 5 ] );
// corners - cut
translate( [53 , 3, 1] ) rotate([0,0,70]) cube( [ 10, 10 , 50 ] );
translate( [61 , 12, 1] ) rotate([0,0,-70]) cube( [ 10, 10 , 50 ] );
translate( [16 , 2, 1] ) rotate([0,0,45]) cube( [ 5, 5 , 50 ] );
}
module RAMBo_doors()
{
difference()
{
body();
cutouts();
// large corner cut
translate( [0 , -20, -3] ) rotate([0,45,45]) cube( [ 30, 30 , 20 ] );
}
}
RAMBo_doors();

View File

@ -10,12 +10,15 @@ module upper_hinge()
difference() difference()
{ {
union(){ union(){
// body
cylinder( h = 26, r = 2.4, $fn=30); cylinder( h = 26, r = 2.4, $fn=30);
translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30); translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30);
translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 11 , 21 ] ); translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 11 , 21 ] );
} }
translate( [ -12.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.7, $fn=30); // M3 screw hole
translate( [ -2 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 9, r = 3, $fn=30); translate( [ -12.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
translate( [ -1.5 , -2.5 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 9, r = 3, $fn=30);
// angle cut
translate([-2.9,-20,-1]) rotate([0,0,60]) cube([25,5,26]); translate([-2.9,-20,-1]) rotate([0,0,60]) cube([25,5,26]);
} }
} }
@ -25,13 +28,16 @@ module lower_hinge()
difference() difference()
{ {
union(){ union(){
// body
translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30); translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30);
translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 2.8, $fn=30); translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 2.8, $fn=30);
translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30); translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30);
translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 11 , 10 ] ); translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 11 , 10 ] );
} }
translate( [ -1 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30); // M3 screw
translate( [ -12 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.5, $fn=30); translate( [ -0.5 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30);
translate( [ -12 , 8.5 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
// angle cut
translate([-5,20,-1]) rotate([0,0,-60]) cube([20,5,20]); translate([-5,20,-1]) rotate([0,0,-60]) cube([20,5,20]);
} }
} }

View File

@ -7,7 +7,7 @@
use <polyholes.scad> use <polyholes.scad>
bearing_diameter = 14.5; bearing_diameter = 14.95;
module horizontal_bearing_base(bearings=1){ module horizontal_bearing_base(bearings=1){
translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true); translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true);
@ -67,13 +67,14 @@ module vertical_bearing_base(){
} }
module vertical_bearing_holes(){ module vertical_bearing_holes(){
translate(v=[0,0,-1]) poly_cylinder(h = 62, r=(bearing_diameter/2)+0.1); translate(v=[0,0,-1]) poly_cylinder(h = 62, r=(bearing_diameter/2));
translate(v=[0,0,-0.1]) cylinder(r1=(bearing_diameter/2)+0.7,r2=(bearing_diameter/2), h=0.5);
rotate(a=[0,0,-40]) translate(v=[bearing_diameter/2-2.9,-0.5,0.5]) cube(size = [thinwall*2,1,62]); rotate(a=[0,0,-40]) translate(v=[bearing_diameter/2-2.9,-0.5,0.5]) cube(size = [thinwall*2,1,62]);
} }
//difference(){ //difference(){
vertical_bearing_base(); //vertical_bearing_base();
vertical_bearing_holes(); vertical_bearing_holes();
//} //}
//horizontal_bearing_test(); //horizontal_bearing_test();

View File

@ -0,0 +1,76 @@
// PRUSA iteration3
// Cable holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module cable_holder()
{
difference()
{
union()
{
// body
translate([-21.1,3,35]) cube([2.5,13,13]);
difference()
{
translate([-21.1,3,35]) rotate([-15,0,0]) cube([2.5,7,35]);
rotate([-15,0,0]) translate([-21,0,38]) rotate([0,0,45]) cube([2.5,2.5,35]);
}
//round reinforcement
difference()
{
translate([-21.1,16,50]) rotate([0,90,0])cylinder(r=4, h=2.5, $fn=50);
translate([-22,16,50]) rotate([0,90,0])cylinder(r=1.7, h=4, $fn=50);
translate([-21.6,16,45]) cube([4,10,10]);
translate([-21.6,12,50]) cube([4,10,10]);
}
}
// side angle cut
translate([-22,-1.5,38]) rotate([-11,0,0]) cube([5,7,45]);
// side cut
translate([-22,-2,33]) cube([8,8,12]);
// angled side cut
rotate([-15,0,0]) translate([-18,-8,39]) rotate([0,0,45]) cube([3.5,2.5,35]);
//zipties
translate([-25,15,42]) rotate([0,0,-45]) cube([3,10,3]);
translate([-20,2,42]) rotate([0,0,45]) cube([3,10,3]);
translate([-25,15,36]) rotate([0,0,-45]) cube([3,10,3]);
translate([-20,2,36]) rotate([0,0,45]) cube([3,10,3]);
// M3 screw
translate([-18.5,11,19]) rotate([0,0,0])cylinder(r=1.52, h=23, $fn=50);
translate([-18.5,11,42]) rotate([0,0,0])cylinder(r=3, h=3, $fn=50);
// bottom cut
translate([-21.6,-9,25]) cube([4,26,10]);
//selective infill
translate([-20.8,11.5,46]) rotate([-15,0,0]) cube([2,0.4,10]);
translate([-20.8,10,46]) rotate([-15,0,0]) cube([2,0.4,18]);
translate([-20.8,8.5,46]) rotate([-15,0,0]) cube([2,0.4,10]);
}
}
cable_holder();
translate([0,40,0]) rotate([0,180,180]) mirror([0,0,1]) cable_holder();

View File

@ -1,14 +1,129 @@
// PRUSA iteration3
// Extruder-body
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <extruder-main.scad> use <extruder-main.scad>
module m3nut()
{
difference()
{
cube([2,6,8]);
translate([-0.5,3,3]) rotate([0,90,0]) cylinder(r=1.25, h=3, $fn=20);
}
}
module ext_body(){ module ext_body(){
difference(){ difference(){
extruder_body(); extruder_body();
extruder_mount_holes(); extruder_mount_holes();
// PINDA entry hole
translate([-5.5,37,6])rotate([90,0,0])cylinder(r=4.4, h=4, $fn=20);
} }
}
difference()
{
ext_body();
// remove old pinda
translate([-20,26,-2]) cube([20,30,30]);
// screw end larger hole
translate([-20,40,12])rotate([0,90,0])cylinder(r=1.5, h=24, $fn=20);
translate([2,40,11.5])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
translate([2,40,12])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
translate([2,40,12.5])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
// M3 nuts
translate([0,46,9]) m3nut();
translate([0,37,9]) m3nut();
}
module ex_body()
{
difference()
{
union()
{
// body
// round body
translate([-5.5,36.5,6])rotate([-90,0,0])cylinder(r=8.5, h=19, $fn=20);
// body block
translate([-13,36.5,5]) cube([17,19,10]);
translate([-13,36.5,15]) cube([5,19,1]);
// extruder body joint
translate([-0,33.5,0]) cube([3,2,15]);
translate([0,34,0]) cube([4,3,15]);
translate([0,35.5,0]) rotate([0,0,45]) cube([2,2,15]);
} }
ext_body();
// PINDA lower hole
translate([-5.5,50,6])rotate([-90,0,0])cylinder(r=4.1, h=40, $fn=20);
// M3 screws
translate([-20,49,12])rotate([0,90,0])cylinder(r=1.5, h=24, $fn=20);
translate([-20,40,12])rotate([0,90,0])cylinder(r=1.5, h=24, $fn=20);
translate([-14,49,12])rotate([0,90,0])cylinder(r=3, h=5, $fn=20);
translate([-14,40,12])rotate([0,90,0])cylinder(r=3, h=5, $fn=20);
// lower M3 screw end opening
translate([2,49,11.5])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
translate([2,49,12])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
translate([2,49,12.5])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
// upper M3 screw end opening
translate([2,40,11.5])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
translate([2,40,12])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
translate([2,40,12.5])rotate([0,90,0])cylinder(r=1.5, h=3, $fn=20);
// M3 nuts opening
translate([0,46,9]) m3nut();
translate([0,37,9]) m3nut();
// flat bottom side
translate([-20,33,-10]) cube([30,35,10]);
// slot
translate([-6,33,8]) cube([1,25,10]);
// 45 / 30 deg edges
translate([-15,32,12]) rotate([45,0,0]) cube([15,10,10]);
translate([-20,55,13]) rotate([45,0,0]) cube([25,3,5]);
translate([-2,45,-1]) rotate([0,30,0]) cube([15,15,15]);
translate([7,46,-1]) rotate([0,0,30]) cube([15,11,25]);
//PINDA mounting hole
translate([-5.5,60,6])rotate([90,0,0])cylinder(r=4.2, h=30, $fn=20);
translate([-5.5,41,6])rotate([90,0,0])cylinder(r=4.4, h=5, $fn=20);
// bottom cut
translate([-15,54.5,-1]) cube([20 , 8,20]);
for ( i = [0 : 14] )
{
translate([-5.5,39+i,6])rotate([90,0,0])cylinder(r1=4.5, r2=3, h=1, $fn=20);
translate([-5.5,40+i,6])rotate([90,0,0])cylinder(r1=3, r2=4.5, h=1, $fn=20);
}
}
}
ex_body();

View File

@ -1,16 +1,23 @@
// PRUSA iteration3
// Extruder cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
use <extruder-main.scad> use <extruder-main.scad>
module ext_cover(){ module ext_cover(){
difference(){ difference(){
extruder_cover(); extruder_cover();
extruder_mount_holes(); extruder_mount_holes();
// Easy assembly trim
cube([50,50,15.2]);
translate([-1,-10+0.2,0])cube([50,10,40]);
// Easy assembly trim
translate([5,56,29.3])rotate([0,0,0])cylinder(r1=1.5, r2=1.9, h=1, $fn=20);
cube([50,50,15.2]);
translate([-1,-10+0.2,0])cube([50,10,40]);
} }
} }
ext_cover(); ext_cover();

View File

@ -1,13 +1,18 @@
// PRUSA iteration3
// Extruder idler
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module part_body(){ module part_body(){
//bottom round edge //bottom round edge
translate([ -7, 4, 6 ]) rotate([0,90,0]) cylinder(r=4, h=21.5, $fn=200 ); translate([ -7, 4, 6 ]) rotate([0,90,0]) cylinder(r=4, h=21.5, $fn=200 );
translate([ -7, 4, 4 ]) rotate([0,90,0]) cylinder(r=4, h=21.5, $fn=200 ); translate([ -7, 4, 4 ]) rotate([0,90,0]) cylinder(r=4, h=21.5, $fn=200 );
translate([ 11, 8, 4 ]) cube([3.5,4,6]); translate([ 11, 8, 4 ]) cube([3.5,4,6]);
difference() difference()
{ {
translate([ -7, 0, 4 ]) cube([21.5,5,6]); translate([ -7, 0, 4 ]) cube([21.5,5,6]);
@ -15,9 +20,7 @@ module part_body(){
} }
translate([ -7, 8, 4 ]) rotate([0,90,0]) cylinder(r=4, h=21.5, $fn=200 ); translate([ -7, 8, 4 ]) rotate([0,90,0]) cylinder(r=4, h=21.5, $fn=200 );
translate([ 11, 0, 4]) cube([3.5,12,2]); translate([ 11, 0, 4]) cube([3.5,12,2]);
translate([ 11, 4, 8]) cube([3.5,4,2]); translate([ 11, 4, 8]) cube([3.5,4,2]);
translate([ 11, 4, 0]) cube([3.5,4,2]); translate([ 11, 4, 0]) cube([3.5,4,2]);

View File

@ -1,3 +1,11 @@
// PRUSA iteration3
// Extruder main
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module extruder_body(){ module extruder_body(){
union(){ union(){
difference(){ difference(){
@ -6,10 +14,11 @@ difference(){
cube([35,44,15]); cube([35,44,15]);
// P.I.N.D.A. Probe mount // P.I.N.D.A. Probe mount
difference(){ difference(){
translate([-15.5,40,0])cube([21.5,5,14]); translate([-15.5,40,0])cube([21.5,5,14]);
translate([9,41,-1]) rotate([0,0,45]) translate([0,-5,-0.1]) cube([10,12,20]); translate([9,41,-1]) rotate([0,0,45]) translate([0,-5,-0.1]) cube([10,12,20]);
} }
translate([-7.5,17,0])cube([8,8.5,2]); // P.I.N.D.A. and Fan cable tray guide translate([-7.5,15,0])cube([8,10.5,3]); // P.I.N.D.A. and Fan cable tray guide ;
//fan nice look //fan nice look
translate([35,0,0]) cube([10,12,15]); translate([35,0,0]) cube([10,12,15]);
} }
@ -22,10 +31,10 @@ difference(){
// P.I.N.D.A. probe mount hole // P.I.N.D.A. probe mount hole
translate([35/2,0,6]){ translate([35/2,0,6]){
translate([-23,35,0])rotate([-90,0,0])cylinder(r=14/2, h=8, $fn=6); translate([-23,35,0])rotate([-90,0,0])cylinder(r=14/2, h=8, $fn=6);
translate([-23,32.99,0])rotate([-90,0,0])cylinder(r=14/2, h=7, $fn=20); translate([-23,32.99,0])rotate([-90,0,0])cylinder(r=14/2, h=7, $fn=20);
translate([-23,0,0])rotate([-90,0,0])cylinder(r=8.5/2, h=50, $fn=20); translate([-23,26,0])rotate([-90,0,0])cylinder(r=8.5/2, h=40, $fn=20);
} }
// P.I.N.D.A. and Fan cable tray cut // P.I.N.D.A. and Fan cable tray cut
@ -197,15 +206,6 @@ translate([35/2+12-42.75,6.5+38.5,25])cylinder(r=5.8, h=5, $fn=6); // Hexagon at
translate([34,44,24])rotate([0,0,0]) cube([1,13,6]); translate([34,44,24])rotate([0,0,0]) cube([1,13,6]);
translate([8-5,44,24])rotate([0,0,0]) cube([1+5,13,6]); translate([8-5,44,24])rotate([0,0,0]) cube([1+5,13,6]);
// Print fan nozzle mount - left
//#difference(){
//union(){
// #translate([34,44,24])rotate([0,0,0]) cube([5,10,6]);
// #translate([37,61-5,24])cylinder(r=7.5/2, h=6, $fn=6);
//}
//#translate([24,51.6,30.5])rotate([-45,0,0]) cube([10,7,8]);
//translate([37,61-5,23])cylinder(r=1.4, h=8, $fn=30);
//}
// Cooling grill // Cooling grill
difference(){ difference(){
@ -234,14 +234,30 @@ difference(){
module extruder_mount_holes(){ module extruder_mount_holes(){
// Carriage mount right // Carriage mount right
translate([35/2-12,6.5,-0.01])cylinder(r=1.65, h=5, $fn=30); // Bottom hole translate([35/2-12,6.5,-0.01])cylinder(r=1.75, h=5, $fn=30); // Bottom hole
translate([35/2-12,6.5,6.5+0.2])cylinder(r=1.65, h=5, $fn=30); // Middle hole translate([35/2-12,6.5,-0.01])cylinder(r1=2.2, r2=1.75, h=0.5, $fn=30); // Bottom hole
translate([35/2-12,6.5,12.5+0.2])cylinder(r=1.65, h=14.3-0.2, $fn=30); // Top hole
translate([35/2-12,6.5,6.5+0.2])cylinder(r=1.75, h=5, $fn=30); // Middle hole
translate([35/2-12,6.5,12.5+0.2])cylinder(r=1.75, h=15, $fn=30); // Top hole
translate([35/2-12,6.5,27])cylinder(r=3.1, h=5, $fn=30); // Head cut translate([35/2-12,6.5,27])cylinder(r=3.1, h=5, $fn=30); // Head cut
translate([35/2-12-6.5,6.5-2.85,10])rotate([0,0,0]) cube([9.5,5.7,2.5]); // Nut Trap top // bridged hole no clean
intersection(){
translate([35/2-12,6.5,26]) cube([3.3, 6.2,4], center=true); // Screw hole
translate([35/2-12,6.5,26.5]) cylinder(r=3.1, h=8, $fn=30); // Head cut
}
translate([35/2-12,6.5,27]) cube([3.5, 3.5, 2], center=true); // Screw hole
// bridged hole no clean END
translate([35/2-12-6.5,6.25-2.85,10])rotate([0,0,0]) cube([9.5,6.2,2.5]); // Nut Trap top
//translate([35/2-12-6.5,6.5-2.85,10])rotate([0,0,0]) cube([9.5,5.7,2.5]); // Nut Trap top old
translate([35/2-12-1.7,6.25-2.85,10.5])rotate([0,0,0]) cube([3.4,6.2,2.5]);
translate([35/2-12-1.7,6.5-2.85+1.1,11])rotate([0,0,0]) cube([3.4,3.4,2.5]);
//translate([35/2-12,6.5,10])cylinder(r=3.3, h=2.5, $fn=6); //translate([35/2-12,6.5,10])cylinder(r=3.3, h=2.5, $fn=6);
translate([35/2-12-6.5,6.5-2.85,4])rotate([0,0,0]) cube([9.5,5.7,2.5]); // Nut trap bottom translate([35/2-12-6.5,6.25-2.85,4])rotate([0,0,0]) cube([9.5,6.2,2.5]); // Nut trap bottom
//translate([35/2-12-6.5,6.5-2.85,4])rotate([0,0,0]) cube([9.5,5.7,2.5]); // Nut trap bottom old
translate([35/2-12-1.7,6.25-2.85,4.5])rotate([0,0,0]) cube([3.4,6.2,2.5]);
translate([35/2-12-1.7,6.5-2.85+1.1,5])rotate([0,0,0]) cube([3.4,3.4,2.5]);
//translate([35/2-12,6.5,4])cylinder(r=3.3, h=2.5, $fn=6); //translate([35/2-12,6.5,4])cylinder(r=3.3, h=2.5, $fn=6);
translate([35/2-12-6.5+5,6.5-2.85-2.5,3])rotate([0,0,0]) cube([5,0.4,10.5]); // Nut Trap reinforcement translate([35/2-12-6.5+5,6.5-2.85-2.5,3])rotate([0,0,0]) cube([5,0.4,10.5]); // Nut Trap reinforcement
@ -252,42 +268,95 @@ difference(){
// Carriage mount left // Carriage mount left
translate([35/2+12+11,6.5-2,6.2])cylinder(r=1.7, h=20.8-0.2, $fn=30); // Screw hole translate([35/2+12+11,6.5-2,6.2])cylinder(r=1.7, h=20.8-0.2, $fn=30); // Screw hole
translate([35/2+12+11,6.5-2,-0.01])rotate([0,0,-15])cylinder(r=3.2, h=6, $fn=6); // Nut trap translate([35/2+12+11,6.5-2,-0.01])rotate([0,0,-15])cylinder(r=3.2, h=6, $fn=6); // Nut trap
intersection(){
translate([35/2+12+11,6.5-2,5]) cube([3.4, 6.2,3], center=true); // Screw hole
translate([35/2+12+11,6.5-2,-0.01])rotate([0,0,-15])cylinder(r=3.2, h=8, $fn=6); // Nut trap
}
translate([35/2+12+11,6.5-2,5.5]) cube([3.4, 3.4,3], center=true); // Screw hole
translate([35/2+12+11,6.5-2,-0.01])rotate([0,0,-15])cylinder(r2=3.2, r1=4, h=3, $fn=6); // Nut trap translate([35/2+12+11,6.5-2,-0.01])rotate([0,0,-15])cylinder(r2=3.2, r1=4, h=3, $fn=6); // Nut trap
translate([35/2+12+11,6.5-2,27])cylinder(r=3.1, h=5, $fn=30); // Head cut translate([35/2+12+11,6.5-2,27])cylinder(r=3.1, h=5, $fn=30); // Head cut
// bridged hole no clean
intersection(){
translate([35/2+12+11,6.5-2,26]) cube([3.3, 6.2,4], center=true); // Screw hole
translate([35/2+12+11,6.5-2,26.5]) cylinder(r=3.1, h=8, $fn=30); // Head cut
}
translate([35/2+12+11,6.5-2,27]) cube([3.5, 3.5,2], center=true); // Screw hole
// bridged hole no clean END
// Fan nozzle mount hole // Fan nozzle mount hole
translate([5,61-5,20])cylinder(r=3/2, h=12, $fn=30); translate([5,61-5,20])cylinder(r=3/2, h=12, $fn=30);
// 5015 print fan top left mount hole // 5015 print fan top left mount hole
translate([35/2+12,6.5,-0.01])cylinder(r=1.65, h=35, $fn=30); // Screw cut translate([35/2+12,6.5,-0.01])cylinder(r=1.75, h=35, $fn=30); // Screw cut
translate([35/2+12,6.5,11]) rotate([0,0,30])cylinder(r=3.2, h=17.01, $fn=6); // Nut Trap translate([35/2+12,6.5,11]) rotate([0,0,30])cylinder(r=3.2, h=17.01, $fn=6); // Nut Trap
translate([35/2+12,6.5,14]) rotate([0,0,30])cylinder(r=3.5, h=11.01, $fn=6); // Nut easy entry cut translate([35/2+12,6.5,14]) rotate([0,0,30])cylinder(r=3.5, h=11.01, $fn=6); // Nut easy entry cut
// 5015 print fan bottom right mount hole // 5015 print fan bottom right mount hole
translate([35/2+12-42.75,6.5+38.5,15])cylinder(r=1.65, h=20, $fn=30); // Screw cut translate([35/2+12-42.75,6.5+38.5,15])cylinder(r=1.75, h=20, $fn=30); // Screw cut
translate([35/2+12-42.75,6.5+38.5,15]) cylinder(r=3.2, h=13.01, $fn=6); // Nut Trap translate([35/2+12-42.75,6.5+38.5,15]) cylinder(r=3.4, h=13.01, $fn=6); // Nut Trap
// Motor mount holes // Motor mount holes
translate([21,-21,0]){ translate([21,-21,0]){
// Top right // Top right
translate([-15.5,-15.5,4]) cylinder(r=1.65, h=50, $fn=30); // Screw hole translate([-15.5,-15.5,0]){
translate([-15.5,-15.5,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut translate([0,0,4]) cylinder(r=1.75, h=50, $fn=30); // Screw hole
intersection(){
translate([0,0,2]) cube([3.3, 6.2,4], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=8, $fn=30); // Head cut
}
translate([0,0,2]) cube([3.5, 3.5,5], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut
}
// Bottom right // Bottom right
translate([-15.5,15.5,4]) cylinder(r=1.65, h=50, $fn=30); // Screw hole translate([-15.5,15.5,0]){
translate([-15.5,15.5,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut translate([0,0,4]) cylinder(r=1.75, h=50, $fn=30); // Screw hole
intersection(){
translate([0,0,2]) cube([3.3, 6.2,4], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=8, $fn=30); // Head cut
}
translate([0,0,2]) cube([3.5, 3.5,5], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut
}
// Top left // Top left
translate([15.5,-15.5,4]) cylinder(r=1.65, h=50, $fn=30); // Screw hole translate([15.5,-15.5,0]){
translate([15.5,-15.5,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut translate([0,0,4]) cylinder(r=1.75, h=50, $fn=30); // Screw hole
intersection(){
translate([0,0,2]) cube([3.3, 6.2,4], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=8, $fn=30); // Head cut
}
translate([0,0,2]) cube([3.5, 3.5,5], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut
}
// Bottom left // Bottom left
translate([15.5,15.5,4]) cylinder(r=1.65, h=50, $fn=30); // Screw hole translate([15.5,15.5,0]){
translate([15.5,15.5,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut translate([0,0,4]) cylinder(r=1.75, h=50, $fn=30); // Screw hole
intersection(){
translate([0,0,2]) cube([3.3, 6.2,4], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=8, $fn=30); // Head cut
}
translate([0,0,2]) cube([3.5, 3.5,5], center=true); // Screw hole
translate([0,0,-1]) cylinder(r=3.1, h=4.5, $fn=30); // Head cut
}
} }
//selective infill spikes EXT COVER
rotate([90,0,90]) translate ([40,23,33])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
rotate([90,0,90]) translate ([40,23,31])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
rotate([90,0,90]) translate ([40,23,4])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
rotate([90,0,90]) translate ([40,23,2])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
//selective infill spikes EXT BODY
mirror([0,0,1]) rotate([90,0,90]) translate ([40,-7,34])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
mirror([0,0,1]) rotate([90,0,90]) translate ([40,-7,32])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
mirror([0,0,1]) rotate([90,0,90]) translate ([40,-7,30])linear_extrude(height = 0.2) polygon( points=[[3,-7],[1.5,-2],[-1,2],[1,2],[3,6]] );
} }
@ -303,7 +372,7 @@ translate([21,-21,0]){
// Bottom // Bottom
translate([35/2,9.8,15]) rotate([-90,0,0]) cylinder(r=8.13, h=3.7, $fn=120); translate([35/2,9.8,15]) rotate([-90,0,0]) cylinder(r=8.13, h=3.7, $fn=120);
// Main body // Main body
translate([35/2,13,15]) rotate([-90,0,0]) cylinder(r=11.53, h=33.001, $fn=80); translate([35/2,13,15]) rotate([-90,0,0]) cylinder(r=11.53, h=33.001, $fn=80);
} }
@ -312,10 +381,10 @@ module extruder_nozzle_cooling(){
// Nozzle cooling airway // Nozzle cooling airway
difference(){ difference(){
union(){ union(){
translate([31.001,43-15,15])rotate([0,90,0])cylinder(r2=14, r1=11.5, h=4, $fn=100); translate([31.001,43-15,15])rotate([0,90,0])cylinder(r2=14, r1=11.5, h=4, $fn=100);
translate([-1,43-15-2.5,15])rotate([0,90,0])cylinder(r=11.5, h=40, $fn=80); translate([-1,43-15-2.5,15])rotate([0,90,0])cylinder(r=11.5, h=40, $fn=80);
translate([-1,43-15,15])rotate([0,90,0])cylinder(r=11.5, h=40, $fn=80); translate([-1,43-15,15])rotate([0,90,0])cylinder(r=11.5, h=40, $fn=80);
translate([-1,43-15+2.5,15])rotate([0,90,0])cylinder(r=11.5, h=40, $fn=80); translate([-1,43-15+2.5,15])rotate([0,90,0])cylinder(r=11.5, h=40, $fn=80);
} }
translate([-10,40,0])cube([10,12,14]); translate([-10,40,0])cube([10,12,14]);
translate([-9,40,8])cube([10,10,4]); translate([-9,40,8])cube([10,10,4]);
@ -329,7 +398,7 @@ module extruder_nozzle_cooling(){
} }
//extruder_body(); extruder_body();
//extruder_mount_holes(); extruder_mount_holes();
//extruder_cover(); extruder_cover();

View File

@ -1,3 +1,10 @@
// PRUSA iteration3
// Fan nozzle
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module fan_nozzle(){ module fan_nozzle(){
difference(){ difference(){
@ -5,15 +12,17 @@ union(){
cube([32,10,17]); // Main cube cube([32,10,17]); // Main cube
translate([30,5,0])cylinder(r=5.8,h = 17, $fn=6); translate([30,5,0])cylinder(r=5.8,h = 17, $fn=6);
translate([-3,0,-6]) cube([3,10,23]); translate([-3,0,-6]) cube([3,10,23]);
//#translate([-2,5,0])cylinder(r=5.8,h = 17, $fn=6);
} }
// Mounting screw // Mounting screw
translate([30,5,-10])cylinder(r=3.2/2,h = 24.5-0.2, $fn=15); // Screw cut translate([30,5,-10])cylinder(r=3.2/2,h = 24.5-0.2, $fn=15); // Screw cut
intersection(){
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=15); // head cut
translate([30,5,17-3.5]) cube([6.2,3.2,1], center=true);
}
translate([30,5,17-4]) cube([3.2,3.2,1], center=true);
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=15); // head cut translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=15); // head cut
//#translate([-2,5,-10])cylinder(r=3.2/2,h = 24.5-0.2, $fn=15); // Screw cut
//#translate([-2,5,17-3.5])cylinder(r=3.1,h = 20, $fn=15); // head cut
// Fan entry hole // Fan entry hole
translate([1,10-1.5,-1])cube([20,3,16.5]); translate([1,10-1.5,-1])cube([20,3,16.5]);
translate([1,10-1.5,-1-5])cube([18,3,16.5]); translate([1,10-1.5,-1-5])cube([18,3,16.5]);
@ -25,8 +34,8 @@ translate([0,0,10])rotate([45,0,0])cube([30,8,16.5]);
translate([-1,-10,-1])rotate([0,0,45])cube([10,8,30]); translate([-1,-10,-1])rotate([0,0,45])cube([10,8,30]);
translate([20,0,16])rotate([0,20,0])cube([10,20,10]); translate([20,0,16])rotate([0,20,0])cube([10,20,10]);
} }
translate([2,-1,-4.5])cube([24,3,5]); translate([2,-1,-4.5])cube([24,3,5]);
//#translate([-2,-1,-2])rotate([0,45,0])cube([5,10,5]);
translate([22,-1,-2])rotate([0,45,0])cube([5,10,5]); translate([22,-1,-2])rotate([0,45,0])cube([5,10,5]);
} }

View File

@ -1,3 +1,11 @@
// PRUSA iteration3
// Heatbed cable cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module cover() module cover()
{ {
translate([ -17.5, 0, 0 ]) cube([ 35, 21, 8 ]); // cover translate([ -17.5, 0, 0 ]) cube([ 35, 21, 8 ]); // cover
@ -39,12 +47,12 @@ module inside_cut(){
module filament_holder(){ module filament_holder(){
difference(){ difference(){
translate([ -2.5,15, 2 ]) rotate([0,0,0]) cube( [5,7,6 ] ); // body #translate([ -3.5,15, 2 ]) rotate([0,0,0]) cube( [7,7,6 ] ); // body ; previous translate([ -2.5,15, 2 ]) cube( [5,7,6 ] );
translate( [ 0 , 24 , 4.5 ] ) rotate( [90,0,0] ) cylinder( h = 10, r = 1.4, $fn=12); // filament translate( [ 0 , 24 , 4.5 ] ) rotate( [90,0,0] ) cylinder( h = 10, r = 1.4, $fn=12); // filament
translate( [ 0 , 22.1 , 4.5 ] ) rotate( [90,0,0] ) cylinder( h = 1.5, r1 = 1.8, r2=1.4, $fn=12); // filament translate( [ 0 , 22.1 , 4.5 ] ) rotate( [90,0,0] ) cylinder( h = 1.5, r1 = 1.8, r2=1.4, $fn=12); // filament
translate([ -5,15, 1 ]) rotate([0,45,0]) cube( [3,15,3 ] ); // corners #translate([ -6,15, 2 ]) rotate([0,45,0]) cube( [4,15,3 ] ); // corners ; previous ([ -5,15, 1 ]) cube( [3,15,3 ] )
translate([ 1,15, 1 ]) rotate([0,45,0]) cube( [3,15,3 ] ); // corners #translate([ 1,15, 1 ]) rotate([0,45,0]) cube( [3,15,4 ] ); // corners ; previous cube( [3,15,3 ] )
} }
} }
module m3_screw(){ module m3_screw(){
@ -57,6 +65,7 @@ module inside_cut(){
module nut_trap(){ module nut_trap(){
translate( [ 0 , 7.5 , 4.5 ] ) rotate( [0,0,90] ) cylinder( h = 2.5, r = 4.6, $fn=6); // M3 HEAD translate( [ 0 , 7.5 , 4.5 ] ) rotate( [0,0,90] ) cylinder( h = 2.5, r = 4.6, $fn=6); // M3 HEAD
translate( [ 0 , 7.5 , 4 ] ) rotate( [0,0,0] ) cylinder( h = 1, r = 3, $fn=30); translate( [ 0 , 7.5 , 4 ] ) rotate( [0,0,0] ) cylinder( h = 1, r = 3, $fn=30);
} }
difference(){ difference(){
@ -69,6 +78,8 @@ module inside_cut(){
nut_trap(); nut_trap();
} }
m3_screw(); m3_screw();
translate( [ 0 , 7.5 , 6.2 ] ) rotate( [0,0,0] ) cube( [5.7,3,1], center=true);
translate( [ 0 , 7.5 , 5.7 ] ) rotate( [0,0,0] ) cube( [3,3,1], center=true);
} }
filament_holder(); filament_holder();

View File

@ -1,3 +1,10 @@
// PRUSA iteration3
// Spool holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module dxf_holder(){ module dxf_holder(){
linear_extrude(height = 8, center = true, convexity = 5) linear_extrude(height = 8, center = true, convexity = 5)
import (file = "spool holdahMK3.dxf", layer = "0"); import (file = "spool holdahMK3.dxf", layer = "0");

View File

@ -9,66 +9,61 @@ use <bearing.scad>
use <extruder-body.scad> use <extruder-body.scad>
//translate([-34,31,0]) rotate([0,180,180]) ext_body();
module x_carriage_base(){ module x_carriage_base(){
// Small bearing holder // Small bearing holder
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1); translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
// Long bearing holder // Long bearing holder
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2); translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2);
// Base plate // Base plate
translate([-33,-12,0]) cube([33,68.5,7]); translate([-33,-12,0]) cube([33,68.5,7]);
// upper motor srew block // upper motor screw block
translate([-19,56.8,0]) rotate([0,0,0]) cube([28.5,16.2,12]); translate([-19,56.8,0]) rotate([0,0,0]) cube([28.5,16.2,12]);
// Extruder cable tray // hotend cables guide
difference(){ difference(){
union(){ union(){
translate([-33/2 - 2.5-11.5,-17-3,3])cube([11.5,14,22]); //body
translate([-33/2 + 2.5,-17-3,3])cube([11.5,14,22]); translate([-33/2 - 2.5-11.5,-17-3,3])cube([11.5,14,22]);
translate([-33/2 + 2.5,-17,3])cube([3.5,9.75,22]); translate([-33/2 + 2.5,-17-3,3])cube([11.5,14,22]);
translate([-33/2 -2.5,-9,3])cube([5,2,22]); translate([-33/2 + 2.5,-17,3])cube([3.5,9.75,22]);
} translate([-33/2 -2.5,-13,3])cube([5,7,22]);
}
// cable entry opening sides
translate([-33/2 +7,-23,-8]) rotate([0,-25,0]) cube([5,10,22]);
translate([-33/2 -11.5,-23,-6.5]) rotate([0,25,0]) cube([5,10,22]);
// corner cuts
translate([-33/2 -21,-22,25]) rotate([0,45,0]) cube([8,20,8]);
translate([-33/2 +10,-22,25]) rotate([0,45,0]) cube([8,20,8]);
translate([-33/2 -15,-16.5,-8])rotate([30,0,0])cube([35,9.75,25]);
translate([-33/2 -15,-8.2,10])rotate([-9,0,0])cube([35,9.75,25]);
//zip tie holes
translate([-33/2 -4.5-1.3,-24,20])rotate([0,0,0])cube([2,20,4]);
translate([-33/2 +2.5+1.3,-24,20])rotate([0,0,0])cube([2,20,4]);
translate([-33/2 + 6.5-0.1,0,12]) rotate([0,90,0])cylinder(r = 11.6, h=4.2, $fn=50);
translate([-33/2 -6.5 - 4.1,0,12]) rotate([0,90,0])cylinder(r = 11.6, h=4.2, $fn=50);
translate([-33/2 +7,-22,-8]) rotate([0,-25,0]) cube([5,10,22]); //right cutout
translate([-33/2 -11.5,-22,-6.5]) rotate([0,25,0]) cube([5,10,22]); translate([-10,-30,0]) translate([0,-11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,34]);
translate([-33/2 -21,-22,25]) rotate([0,45,0]) cube([8,20,8]);
translate([-33/2 +10,-22,25]) rotate([0,45,0]) cube([8,20,8]);
translate([-33/2 -15,-16.5,-8])rotate([30,0,0])cube([35,9.75,25]);
translate([-33/2 -15,-9,10])rotate([-20,0,0])cube([35,9.75,25]);
//zip tie holes
translate([-33/2 -4.5-1.3,-24,20])rotate([0,0,0])cube([2,20,4]);
translate([-33/2 +2.5+1.3,-24,20])rotate([0,0,0])cube([2,20,4]);
translate([-33/2 + 6.5-0.1,0,12]) rotate([0,90,0])cylinder(r = 11.6, h=4.2, $fn=50);
translate([-33/2 -6.5 - 4.1,0,12]) rotate([0,90,0])cylinder(r = 11.6, h=4.2, $fn=50);
//right cutout
translate([-10,-30,0]) translate([0,-11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,34]);
} }
// Belt holder base
translate([-42.5,20,0]) cube([52,16,7]);
translate([-16.5-12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
translate([-16.5+12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
translate([-16.5-12,24.5,14])cylinder(r1=4.5, r2=3.8, h=2, $fn=25); // Belt holder base
translate([-16.5+12,24.5,14])cylinder(r1=4.5, r2=3.8, h=2, $fn=25); translate([-42.5,20,0]) cube([52,16,7]);
// Endstop trigger nipple // belt holders
difference(){ translate([-16.5-12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
union(){ translate([-16.5+12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
translate([-16.5-12,24.5,14])cylinder(r1=4.5, r2=3.8, h=2, $fn=25);
translate([-16.5+12,24.5,14])cylinder(r1=4.5, r2=3.8, h=2, $fn=25);
// Endstop trigger nipple
difference(){
union(){
translate([-2.5,-16,0]) cube([12,5.8,12]); translate([-2.5,-16,0]) cube([12,5.8,12]);
translate([-2.2,-12,0])cylinder(r=4.6, h=12, $fn=6); translate([-2.2,-12,0])cylinder(r=4.6, h=12, $fn=6);
} }
@ -78,7 +73,7 @@ module x_carriage_base(){
} }
// Belt Insert R // Belt Insert R
difference(){ difference(){
union(){ union(){
translate([2,27,0]) cube([10,6,15]); translate([2,27,0]) cube([10,6,15]);
@ -91,77 +86,68 @@ module x_carriage_base(){
// Belt Insert L // Belt Insert L
difference(){ difference(){
union(){ union(){
translate([-33,3,00]){scale([-1,1,1]){ translate([-33,3,00]){
translate([0,27,0]) cube([12.5,3,15]); scale([-1,1,1])
translate([2,27-7.5-2.3,0]) cube([12.5,7.5,15]); {
translate([-0.5,27,0]) cube([8,7,2]); translate([0,27,0]) cube([12.5,3,15]);
}} translate([2,27-7.5-2.3,0]) cube([12.5,7.5,15]);
translate([-0.5,27,0]) cube([8,7,2]);
}
}
}
translate([-36.5,27.7,5.5]) rotate([0,0,-55]) cube([5,5.5,10]);
} }
translate([-36.5,27.7,5.5]) rotate([0,0,-55]) cube([5,5.5,10]);
}
} }
module x_carriage_holes(){ module x_carriage_holes(){
// Small bearing holder holes cutter // Small bearing holder holes cutter
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes(1); translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes(1);
// Long bearing holder holes cutter // Long bearing holder holes cutter
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes(2); translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes(2);
// Extruder mounting holes // Extruder mounting holes
translate([-16.5+12,24.5,-1])cylinder(r=1.8, h=20, $fn=25); translate([-16.5+12,24.5,-1])cylinder(r=1.8, h=20, $fn=25);
translate([-16.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); translate([-16.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
translate([-16.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); translate([-16.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
translate([-16.5-12,24.5,-1])cylinder(r=1.8, h=20, $fn=25); translate([-16.5-12,24.5,-1])cylinder(r=1.8, h=20, $fn=25);
translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
// Carriage alignment // Cables keepout
// translate([-33,24.5-6-0.25,-0.01])cube([33,3.5,1.25]); translate([0,10+3,-2])cube([5,10,5]);
// Cables keepout // Carriage slimer
translate([0,10+3,-2])cube([5,10,5]);
// Carriage slimer
translate([-55.5+3,19,-1])cube([10,40,30]); translate([-55.5+3,19,-1])cube([10,40,30]);
translate([+12.5-3,19,-1])cube([10,40,30]); translate([+12.5-3,19,-1])cube([10,40,30]);
translate([+12.5-3.5-2,19,-1])rotate([0,90-65,0])cube([10,55,30]); translate([+12.5-3.5-2,19,-1])rotate([0,90-65,0])cube([10,55,30]);
translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]); translate([-55.5+6.7+2,19,-10])rotate([0,-90+65,0])cube([10,40,30]);
// Filament hole
translate([-33/2,7,1]) rotate([-15,0,0])cylinder(r=1.52, h=40, $fn=10);
} }
module x_carriage_fancy(){ module x_carriage_fancy(){
// Top right corner // Top right corner
translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]); translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]);
// Belt Smooth insert // Belt Smooth insert
translate([0,36.5,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]); translate([0,36.5,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]);
translate([-52.9,36.5+3,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]); translate([-52.9,36.5+3,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]);
// Bottom ĺeft corner // Bottom ĺeft corner
translate([-34,2,0]) translate([2,-11.5,-1]) rotate([0,0,-145]) translate([0,-15,0]) cube([30,30,34]); translate([-34,2,0]) translate([2,-11.5,-1]) rotate([0,0,-145]) translate([0,-15,0]) cube([30,30,34]);
// Top left corner // Top left corner
translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]); translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
translate([-23,72,14]) rotate([0,45,0]) translate([0,-15,0]) cube([5,25,5]); translate([-23,72,14]) rotate([0,45,0]) translate([0,-15,0]) cube([5,25,5]);
translate([-23,84,21]) rotate([45,0,0]) translate([0,-15,0]) cube([45,5,5]); translate([-23,84,21]) rotate([45,0,0]) translate([0,-15,0]) cube([45,5,5]);
translate([-8,64,5]) rotate([0,0,0]) cylinder(r=6, h=22, $fn=6);
translate([-10,64,5]) rotate([0,0,0]) cylinder(r=6, h=22, $fn=6);
translate([-8,64,5]) rotate([0,0,0]) cylinder(r=6, h=22, $fn=6);
translate([-10,64,5]) rotate([0,0,0]) cylinder(r=6, h=22, $fn=6);
} }
module cable_tray(){ module cable_tray(){
//Left cable tray //Left cable tray
translate([-38.9,11,0]) cube([8,2,15]); translate([-38.9,11,0]) cube([8,2,15]);
translate([-38.9,5.5,0]) cube([8,2,15]); translate([-38.9,5.5,0]) cube([8,2,15]);
//Right cable tray //Right cable tray
@ -176,128 +162,118 @@ module cable_tray(){
translate([0,3.5,6])rotate([-60,0,0]) cube([5.5,12,7]); translate([0,3.5,6])rotate([-60,0,0]) cube([5.5,12,7]);
translate([0,10+3,-1])cube([5.5,11,6]); translate([0,10+3,-1])cube([5.5,11,6]);
} }
}
}
module final_cutout()
module upper_ziptie_holder()
{ {
// body
difference(){
translate([-19,18,7]) cube([5,15,9]);
translate([-20,29,10]) rotate([45,0,0])cube([10,10,10]);
translate([-20,29,10]) cube([7,5,20]);
}
difference(){
union(){
difference(){
translate([-23,17.5,7]) cube([13,5,17]);
translate([-23,19,6]) rotate([0,0,45]) cube([5,5,19]);
translate([-10,19,6]) rotate([0,0,45]) cube([5,5,19]);
translate([-15,21,17])rotate([0,0,0])cube([5,2,5]);
translate([-23,21,17])rotate([0,0,0])cube([5,2,5]);
}
difference(){
translate([-23,11.5,15]) cube([13,7,9]);
#translate([-30,15.5,14.8]) rotate([0,90,0]) cylinder(r=2, h=22, $fn=30);
translate([-24,11,18]) rotate([45,0,0]) cube([20,10,10]);
}
}
//zip ties
translate([-20,5,17])rotate([0,0,0])cube([2,20,5]);
translate([-15,5,17])rotate([0,0,0])cube([2,20,5]);
// corners
translate([-28,12,25]) rotate([0,45,0]) cube([5,15,5]);
translate([-12,12,25]) rotate([0,45,0]) cube([5,15,5]);
}
}
module final_cutout(){
translate([-19,-16.4,13]) rotate([-45,0,0]) cube([5,5,5]);
translate([-43,0,16]) rotate([0,45,0]) cube([5,15,5]); translate([-43,0,16]) rotate([0,45,0]) cube([5,15,5]);
translate([5,0,16]) rotate([0,45,0]) cube([5,15,5]); translate([5,0,16]) rotate([0,45,0]) cube([5,15,5]);
translate([-4.5,0,18.5]) rotate([0,45,0]) cube([5,15,5]); translate([-4.5,0,18.5]) rotate([0,45,0]) cube([5,15,5]);
translate([-34.5,0,18.5]) rotate([0,45,0]) cube([5,15,5]); translate([-34.5,0,18.5]) rotate([0,45,0]) cube([5,15,5]);
translate([-19,7,13.5]) rotate([-15,0,0]) cube([5,5,50]);
} }
// Final part
module x_carriage(){ module x_carriage(){
difference(){ difference(){
union(){ union(){
difference() difference()
{ {
x_carriage_base(); x_carriage_base();
x_carriage_holes(); x_carriage_holes();
x_carriage_fancy(); x_carriage_fancy();
} }
cable_tray(); cable_tray();
upper_ziptie_holder();
} }
final_cutout(); final_cutout();
} }
} }
// belt keepout
//%translate([-42-9,30-16,7])cube([70,16,10]); module final_part()
{
difference(){ difference(){
union(){ union(){
x_carriage(); x_carriage();
//translate([7.3,-16,0])
//translate([2,-19,0]) cube([7.5,12,0.5]); // extruder cables holder
//translate([5,-16,0]) cube([4.5,1,5]); difference()
//translate([5,-11.2,0]) cube([4.5,1,5]); {
//translate([5.5,7.5,0]) cube([4,3.5,0.5]); union()
{
// body
translate([-22,8.3,7]) cube([7,15,16]);
translate([-22,18,7]) cube([11,15,19]);
}
// belt cutout
translate([-30,15.5,14.8]) rotate([0,90,0]) cylinder(r=2, h=22, $fn=30);
translate([-23,13.5,7]) cube([9,4,8]);
// angle cuts
translate([-10.0,13.0,7]) rotate([0,0,45]) cube([7,7,28]);
translate([-22.5,29.5,7]) rotate([0,0,45]) cube([5,5,28]);
translate([-10.5,29.5,7]) rotate([0,0,45]) cube([5,5,28]);
//upper ziptie slot
translate([-7,23,16])rotate([0,0,40])cube([2,10,4]);
translate([-13.5,19,13]) cube([3,15,11]);
translate([-23,21,19.5]) cube([10,5,11]);
translate([-27,20,16])rotate([0,0,-20])cube([2,30,4]);
translate([0,29.5,16])rotate([0,0,90])cube([2,30,4]);
translate([-11,21,16])rotate([0,0,20])cube([2,10,4]);
translate([-19,22,5]) cube([0.5,5,14]);
translate([-15,22,5]) cube([0.5,5,14]);
}
} }
translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.8, h=100, $fn=30);
#translate([2.5,67.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.2, h=8, $fn=30);
translate([0,21,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.5, $fn=25);
//translate([2 ,-5,-5])cube([20,50,30]);
translate([-36.5,21.25,1.5]) cube([0.1,4.5,13.3]); // upper screw
translate([-38.6,21,1.5]) cube([0.1,6,13.3]); translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.8, h=100, $fn=30);
translate([-41,21,1.5]) cube([0.1,6,13.3]); translate([2.5,67.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.2, h=8, $fn=30);
// cable guide round corner
translate([0,21,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.5, $fn=25);
//selective infill
translate([-36.5,21.25,1.5]) cube([0.1,4.5,13.3]);
translate([-38.6,21,1.5]) cube([0.1,6,13.3]);
translate([-41,21,1.5]) cube([0.1,6,13.3]);
translate([3.5,21,6]) cube([0.1,2,8.8]);
translate([5,21,6]) cube([0.1,3,8.8]);
translate([6.8,21,1.5]) cube([0.1,3,13.3]);
translate([8.5,21,5]) cube([0.1,3,9.8]);
translate([3.5,21,5.5]) cube([0.5,2,9]);
translate([5,21,5.5]) cube([0.5,2,9]);
translate([6.5,21,5.5]) cube([0.5,2,9]);
translate([8,21,5]) cube([0.5,2,9]);
// filament holder
translate([-18.5,-10.5,12]) rotate([-8,0,0])cylinder(r=1.52, h=40, $fn=10);
translate([3.5,21,6]) cube([0.1,2,8.8]); // cable screw hole
translate([5,21,6]) cube([0.1,3,8.8]); translate([-18.5,11,-1]) rotate([0,0,0])cylinder(r=1.52, h=40, $fn=50);
translate([6.8,21,1.5]) cube([0.1,3,13.3]); translate([-18.5,11,-1]) rotate([0,0,0])cylinder(r1=4,r2=3.2, h=7, $fn=6);
translate([8.5,21,5]) cube([0.1,3,9.8]); translate([-18.5,11,-1]) rotate([0,0,0])cylinder(r1=5,r2=4, h=4, $fn=6);
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]); // extruder cables front face cut
translate([7.45,6,-1]) cube([0.5,1,5]); translate([-18.5,16,19.5]) rotate([0,0,0])cylinder(r=10, h=40, $fn=60);
translate([7.45,11.5,-1]) cube([0.5,1.8,5]); translate([-18.5,19.5,23]) rotate([0,0,0])cylinder(r=15, h=40, $fn=60);
}
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([5,-10.3,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([6,-16.5,-1]) cube([1,0.5,5]);
translate([3,-16.5,-1]) cube([2,0.5,5]);
translate([6,-10.2,-1]) cube([1,0.5,5]);
translate([3,-10.2,-1]) cube([2,0.5,5]);
translate([6,7.5,-1]) cube([1,0.5,5]);
translate([6,10.5,-1]) cube([1,0.5,5]);
//half cut
//translate([-50 ,-50,8])cube([100,100,30]);
} }
// Cable hole vis
//%translate([-33/2 - 2.5,-17,1])cube([5,25,30]);
final_part();

View File

@ -29,16 +29,16 @@ module waste_pocket(){
//M3 thread //M3 thread
translate([-15,8.5,6]) rotate([90,0,0]) cylinder( h=12, r=1.4, $fn=30); translate([-15,8.5,6]) rotate([90,0,0]) cylinder( h=12, r=1.7, $fn=30);
translate([-15,8.5,51]) rotate([90,0,0]) cylinder( h=12, r=1.4, $fn=30); translate([-15,8.5,51]) rotate([90,0,0]) cylinder( h=12, r=1.7, $fn=30);
//M3 heads //M3 heads
translate([-15,11.5,6]) rotate([90,0,0]) cylinder( h=4, r=2.9, $fn=30); translate([-15,11.5,6]) rotate([90,0,0]) cylinder( h=4, r=3, $fn=30);
translate([-15,11.5,51]) rotate([90,0,0]) cylinder( h=4, r=2.9, $fn=30); translate([-15,11.5,51]) rotate([90,0,0]) cylinder( h=4, r=3, $fn=30);
//M3 nut traps //M3 nut traps
translate([-17.9,0.5,52-3-1.6]) cube([5.8,3.1,20]); translate([-17.9,0.5,52-3-1.6]) cube([6,3,20]);
translate([-17.9,0.5,-10+1.5+1.6]) cube([5.8,3.1,16]); translate([-17.9,0.5,-10+1.5+1.6]) cube([6,3,16]);
} }
@ -48,25 +48,64 @@ module x_end_idler_base(){
x_end_base(); x_end_base();
x_end_idler_holes(); x_end_idler_holes();
} }
translate([-15,8.5,6]) rotate([90,0,0]) cylinder( h=11, r=6, $fn=30); translate([-15,10.5,6]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
translate([-15,8.5,51]) rotate([90,0,0]) cylinder( h=11, r=6, $fn=30); translate([-15,10.5,51]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
} }
} }
module selective_infill()mirror([0,1,0]) translate([-50, -33, 0.6])
{
difference()
{
union()
{
difference()
{
#translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=11.7, $fn=30);//0, 17, 0.6
#translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=11.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=10.7, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=10.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9.9, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=9.7, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=8.8, $fn=30);
}
}
translate([57.5,50.5,-1]) rotate([0,0,45]) cube([8,10,9]);
translate([52,30.5,-1]) rotate([0,0,45]) cube([10,20,20]);
translate([32,35.5,-1]) cube([8,30,9]);
}
}
module reinforcement_selective_infill(){
rotate([90,0,-15,]) translate ([-1.5, 8, 26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,12],[8,0]] ); // bearings
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[8,0]] ); //body
}
module x_end_idler(){ module x_end_idler(){
mirror([0,1,0]) mirror([0,1,0])
difference(){ difference()
{
x_end_idler_base(); x_end_idler_base();
waste_pocket(); waste_pocket();
selective_infill();
reinforcement_selective_infill();
} }
} }
//difference(){
x_end_idler(); x_end_idler();
//translate([-15,-50,0]) cube([100,100,100]);
//}

View File

@ -28,12 +28,16 @@ module x_end_motor_endstop_holes(){
translate([17/2,7.5,-3]){ translate([17/2,7.5,-3]){
// Back screw hole for endstop // Back screw hole for endstop
translate([-4.75,0,0])cylinder(r=1,h=19,$fn=20); translate([-4.75,0,0])cylinder(r=1,h=19,$fn=20);
translate([-4.75,0,6])cylinder(r1=1, r2=1.5, h=2,$fn=20);
// Front screw hole for endstop // Front screw hole for endstop
translate([4.75,0,0])cylinder(r=1,h=19,$fn=20); translate([4.75,0,0])cylinder(r=1,h=19,$fn=20);
translate([4.75,0,6])cylinder(r1=1, r2=1.5, h=2,$fn=20);
} }
} }
} }
module x_end_motor_holes(){ module x_end_motor_holes(){
x_end_holes(); x_end_holes();
// Position to place // Position to place
@ -45,7 +49,7 @@ module x_end_motor_holes(){
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=[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.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=1.8, $fn=30); translate(v=[20,-15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=1.8, $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=[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.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=1.8, $fn=30); translate(v=[20,15.5,-15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=1.8, $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=[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.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=1.8, $fn=30); translate(v=[20,15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=1.8, $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=[1,15.5,15.5]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 10, r=3.1, $fn=30);
@ -55,8 +59,7 @@ module x_end_motor_holes(){
// Material saving cutout // Material saving cutout
translate(v=[-10,40,-30]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true); translate(v=[-10,40,-30]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
// Motor shaft cutout
//#translate(v=[0,0,0]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=17, $fn=6);
} }
} }
@ -67,7 +70,7 @@ module x_end_motor_shaft_cutout(){
translate(v=[0,32,30]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=17, $fn=6); translate(v=[0,32,30]) rotate(a=[0,-90,0]) rotate(a=[0,0,90]) cylinder(h = 70, r=17, $fn=6);
translate(v=[-10,-17+32,30]) cube(size = [60,2,10], center = true); translate(v=[-10,-17+32,30]) cube(size = [60,2,10], center = true);
translate(v=[-10,-8+32,-15.5+30]) rotate(a=[60,0,0]) cube(size = [60,2,10], center = true); /// translate(v=[-10,-8+32,-15.5+30]) rotate(a=[60,0,0]) cube(size = [60,2,10], center = true);
translate(v=[-10,8+32,-15.5+30]) rotate(a=[-60,0,0]) cube(size = [60,2,10], center = true); translate(v=[-10,8+32,-15.5+30]) rotate(a=[-60,0,0]) cube(size = [60,2,10], center = true);
@ -79,6 +82,47 @@ module x_end_motor_shaft_cutout(){
module selective_infill()mirror([0,1,0]) translate([-50, -33, 0.6])
{
difference()
{
union()
{
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=11.7, $fn=30);//0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=11.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=10.7, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=10.5, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9.9, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=9.7, $fn=30);
}
difference()
{
translate([50,50,0.6]) rotate([0,0,90]) cylinder( h=6, r=9, $fn=30); //0, 17, 0.6
translate([50,50,-1]) rotate([0,0,90]) cylinder( h=10, r=8.8, $fn=30);
}
}
translate([57.5,50.5,-1]) rotate([0,0,45]) cube([8,10,9]); // front
translate([52,30.5,-1]) rotate([0,0,45]) cube([10,20,20]); // front angled
translate([32,35.5,-1]) cube([8,30,9]); // inner horizontal
}
}
module reinforcement_selective_infill()
{
rotate([90,0,-15,]) translate ([-1.5, 8, 26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,12],[8,0]] ); //bearings
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[8,0]] ); //body
}
// Final part // Final part
module x_end_motor(){ module x_end_motor(){
@ -86,19 +130,30 @@ module x_end_motor(){
union(){ union(){
x_end_motor_base(); x_end_motor_base();
x_end_motor_endstop_base(); x_end_motor_endstop_base();
} }
x_end_motor_shaft_cutout(); x_end_motor_shaft_cutout();
x_end_motor_holes(); x_end_motor_holes();
x_end_motor_endstop_holes(); x_end_motor_endstop_holes();
selective_infill();
reinforcement_selective_infill();
translate([-12,-42,65]) rotate([-35,0,0]) rotate([0,0,45]) cube(10,10,10); translate([-12,-42,65]) rotate([-35,0,0]) rotate([0,0,45]) cube(10,10,10);
translate([-15,8.5,6]) rotate([90,0,0]) cylinder(h=5, r=5, $fn=30); translate([-15,8.5,6]) rotate([90,0,0]) cylinder(h=5, r=5, $fn=30);
translate([-15,8.5,51]) rotate([90,0,0]) cylinder(h=5, r=5, $fn=30); translate([-15,8.5,51]) rotate([90,0,0]) cylinder(h=5, r=5, $fn=30);
translate([-15,3.5,6]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30); translate([-15,3.5,6]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
translate([-15,3.5,51]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30); translate([-15,3.5,51]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
//#translate([-16,-40,0])cube([50,100,100]);
} }
} }
x_end_motor(); x_end_motor();

View File

@ -21,7 +21,19 @@ translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
// Hexagon // Hexagon
//translate(v=[0,-17,0]) rotate([0,0,30]) cylinder(h = 8, r=8, $fn = 6); //translate(v=[0,-17,0]) rotate([0,0,30]) cylinder(h = 8, r=8, $fn = 6);
translate(v=[-6,-10.6,10]) rotate([0,0,48.2]) cube(size = [10,5,1], center = true); translate(v=[-6,-10.6,10]) rotate([0,0,48.2]) cube(size = [10,5,1], center = true);
rotate([90,0,-15,]) translate ([-1, 8, 24])linear_extrude(height = 4) polygon( points=[[0,0],[0,12],[8,0]] ); //vzpera lozisek
rotate([90,0,-50,]) translate ([9, 8, -0.6])linear_extrude(height = 4) polygon( points=[[0,0],[0,12],[8,0]] );
} }
module reinforcement_selective_infill(){
rotate([90,0,-15,]) translate ([-1.5, 8, 26])linear_extrude(height = 0.2) polygon( points=[[-2,0],[0,12],[8,0]] ); //vzpera lozisek
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[12,0]] ); //vzpera tela
}
//reinforcement_selective_infill();
module x_end_holes(){ module x_end_holes(){
vertical_bearing_holes(); vertical_bearing_holes();
@ -44,20 +56,21 @@ difference(){
} }
// Bottom pushfit rod // Bottom pushfit rod
translate(v=[-15,-41.5,6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50); translate(v=[-15,-41,6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
// Top pushfit rod // Top pushfit rod
translate(v=[-15,-41.5,rod_distance+6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50); translate(v=[-15,-41.5,rod_distance+6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
// TR Nut trap // TR Nut trap
// Hole for the nut // Hole for the nut
translate(v=[0,-17, -1]) poly_cylinder(h = 9.01, r = 6.6, $fn = 25); translate(v=[0,-17, -1]) poly_cylinder(h = 9.01, r = 7, $fn = 25);
translate(v=[0,-17, -0.1]) cylinder(h = 0.5, r1 = 6.8+0.8,r2 = 7, $fn = 25);
// Screw holes for TR nut // Screw holes for TR nut
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -1]) cylinder(h = 10, r = 1.55, $fn=25); translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, -1]) cylinder(h = 10, r = 1.8, $fn=25);
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -1]) cylinder(h = 10, r = 1.55, $fn=25); translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, -1]) cylinder(h = 10, r = 1.8, $fn=25);
// 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, 6]) rotate([0, 0, 0])cylinder(h = 3, r = 3.3, $fn=6); translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 6]) rotate([0, 0, 0])cylinder(h = 3, r = 3.45, $fn=6);
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, 6]) rotate([0, 0, 30])cylinder(h = 3, r = 3.2, $fn=6); translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, 6]) rotate([0, 0, 30])cylinder(h = 3, r = 3.2, $fn=6);
translate([-5.5,-17.2,6]) rotate([0,0,30]) cube([5,5,3]); translate([-5.5,-17.2,6]) rotate([0,0,30]) cube([5,5,3]);
@ -82,6 +95,5 @@ module pushfit_rod(diameter,length){
translate(v=[0,-diameter/2.85,length/2]) rotate([0,0,45]) cube(size = [diameter/2,diameter/2,length], center = true); translate(v=[0,-diameter/2.85,length/2]) rotate([0,0,45]) cube(size = [diameter/2,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); 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/2-2,length/2]) cube(size = [diameter,1,length], center = true); }
}

View File

@ -14,12 +14,11 @@ translate([-10, 23, -1 ]) cube([ 52, 3, 15 ]);
module belt_holders() module belt_holders()
{ {
translate([ 16, 18, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // upper belt holder translate([ 16, 18, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // upper belt holder
translate([ 16, 18, 11 ]) cylinder( h=3, r1=3.5, r2=2.5, $fn=30 ); // upper belt holder cone translate([ 16, 18, 11 ]) cylinder( h=3, r1=3.5, r2=2.5, $fn=30 ); // upper belt holder cone
translate([ 12, 5, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // lower belt holder translate([ 12, 5, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // lower belt holder
translate([ 12, 5, 11 ]) cylinder( h=3 , r1=3.5, r2=2.5, $fn=30 ); // lower belt holder cone translate([ 12, 5, 11 ]) cylinder( h=3 , r1=3.5, r2=2.5, $fn=30 ); // lower belt holder cone
} }
module screws() module screws()
@ -41,15 +40,16 @@ module screws()
translate([35.5, 15, 4.5 ]) cube([ 6, 7, 6 ]); translate([35.5, 15, 4.5 ]) cube([ 6, 7, 6 ]);
} }
belt_holders(); //belt_holders();
module main()
{
difference() difference()
{ {
main_body(); main_body();
translate([ 16, 18, 2 ]) cylinder( h = 16, r = 7.2, $fn=30 ); // upper belt space cutaway translate([ 16, 18, 2 ]) cylinder( h = 16, r = 7.2, $fn=30 ); // upper belt space cutaway
translate([ 12, 5, 2 ]) cylinder( h = 16, r = 7.2, $fn=30 ); // lower belt space cutaway translate([ 12, 5, 2 ]) cylinder( h = 16, r = 7.2, $fn=30 ); // lower belt space cutaway
translate([-20, 9, 2]) cube([ 28, 2.1, 16 ]); translate([-20, 9, 2]) cube([ 28, 2.1, 16 ]);
rotate([0,0,40]) translate([11, 1, 2 ]) cube([ 10, 4, 16 ]); rotate([0,0,40]) translate([11, 1, 2 ]) cube([ 10, 4, 16 ]);
@ -57,24 +57,10 @@ translate([10, 7, 2 ]) cube([ 32, 2.1, 16 ]);
translate([16, 8, 11 ]) rotate([45,0,0]) cube([ 15, 5, 5 ]); translate([16, 8, 11 ]) rotate([45,0,0]) cube([ 15, 5, 5 ]);
translate([-2, 10, 11 ]) rotate([45,0,0]) cube([ 10, 5, 5 ]); translate([-2, 10, 11 ]) rotate([45,0,0]) cube([ 10, 5, 5 ]);
screws(); screws();
// print part reinforcement
translate([1,0.5,-0.5]) cube([0.1,5,13]);
translate([3,0.5,-0.5]) cube([0.1,5,13]);
translate([21.2,0.5,-0.5]) cube([0.1,4,12]);
translate([23.5,0.5,-0.5]) cube([0.1,4,12]);
translate([25.5,0.5,-0.5]) cube([0.1,4,12]);
translate([11.5,3,-0.5]) cube([1,0.3,12]);
translate([10,5,-0.5]) cube([4,0.3,12]);
translate([11.5,6.5,-0.5]) cube([1,0.3,12]);
translate([15.5,16,-0.5]) cube([1,0.3,12]);
translate([14,18,-0.5]) cube([4,0.3,12]);
translate([15.5,20,-0.5]) cube([1,0.3,12]);
// corner cutoff // corner cutoff
translate([30,-13,-2]) rotate([0,0,45]) cube([10,10,20]); translate([30,-13,-2]) rotate([0,0,45]) cube([10,10,20]);
@ -82,5 +68,48 @@ screws();
} }
}
module selective_infill()
{
// print part reinforcement
translate([1, 0.5, -0.5]) cube([0.1,5,13]);
translate([3, 0.5, -0.5]) cube([0.1,5,13]);
translate([21.5, 0.5, -0.5]) cube([0.1,4,12]);
translate([23.5, 0.5, -0.5]) cube([0.1,4,12]);
translate([25.5, 0.5, -0.5]) cube([0.1,4,12]);
translate([11.5, 3, -0.5]) cube([1,0.2,12]);
translate([10, 5, -0.5]) cube([4,0.2,12]);
translate([11.5, 6.5, -0.5]) cube([1,0.2,12]);
translate([15.5, 16, -0.5]) cube([1,0.2,12]);
translate([14, 18, -0.5]) cube([4,0.2,12]);
translate([15.5, 20, -0.5]) cube([1,0.2,12]);
translate([1, 5.5, -0.5]) cube([0.1,14,2]);
translate([3, 5.5, -0.5]) cube([0.1,14,2]);
translate([5, 0.5, -0.5]) cube([0.1,19,2]);
translate([7, 0.5, -0.5]) cube([0.1,19,2]);
translate([19.5, 0.5, -0.5]) cube([0.1,18,2]);
translate([21.5, 4.5, -0.5]) cube([0.1,14,2]);
translate([23.5, 4.5, -0.5]) cube([0.1,14,2]);
translate([25.5, 4.5, -0.5]) cube([0.1,14,2]);
}
module final_part()
{
difference()
{
union()
{
main();
belt_holders();
}
selective_infill();
}
}
final_part();

View File

@ -8,6 +8,7 @@
module corner_base(){ module corner_base(){
translate([-9,-11,0])cube([18,22,49]); translate([-9,-11,0])cube([18,22,49]);
} }
module corner_holes(){ module corner_holes(){
@ -18,13 +19,17 @@ module corner_holes(){
translate([0,11,30]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=4.4, $fn=30); translate([0,11,30]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=4.4, $fn=30);
// Middle hole // Middle hole
translate([11,0,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=5.4, $fn=30); translate([11,0,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=5.4, $fn=30);
// Bottom hole bridge
translate([0,8.8,10]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=2.6, $fn=6);
// Top hole bridge
translate([0,8.8,30]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=2.6, $fn=6);
// Washer hole // Washer hole
translate([11,-3,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 10, r=11, $fn=30); translate([11,-3,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 10, r=11, $fn=30);
// Top smooth rod insert // Top smooth rod insert
// Smooth rod place // Smooth rod place
translate([11,2.75,47]) rotate([0,90,90]) cylinder(h = 9.75, r=4.2, $fn=30); translate([11,2.75,47]) rotate([0,90,90]) cylinder(h = 10, r=4.2, $fn=30);
// Ziptie // Ziptie
translate([-5,6,41]) cube([30,3.5,2]); translate([-5,6,41]) cube([30,3.5,2]);
@ -33,10 +38,11 @@ module corner_holes(){
translate([11,12.5,46]) rotate([0,90,90]) cylinder(h = 270, r=8, $fn=30); translate([11,12.5,46]) rotate([0,90,90]) cylinder(h = 270, r=8, $fn=30);
translate([21,12.5,62]) rotate([0,90,90]) cube([20,20,30]); translate([21,12.5,62]) rotate([0,90,90]) cube([20,20,30]);
} }
translate([21,12.5,62-0.2]) rotate([0,90,90]) cube([20,20,0.2]);
translate([21,12.5,42]) rotate([0,90,90]) cube([0.2,20,20]); translate([21,12.5,57]) rotate([0,90,90]) cube([15.2,20,20]);
} }
} }
module corner_fancy(){ module corner_fancy(){
@ -44,22 +50,43 @@ module corner_fancy(){
translate([-8,-9,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]); translate([-8,-9,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([8,-9,0]) rotate([0,0,45-180]) translate([-15,0,-1]) cube([30,30,51]); translate([8,-9,0]) rotate([0,0,45-180]) translate([-15,0,-1]) cube([30,30,51]);
// Top corner cutouts // Top corner cutouts
translate([7,0,49]) rotate([0,45,0]) translate([-15,-15,0]) cube([30,30,30]); translate([7,0,49]) rotate([0,45,0]) translate([-15,-15,0]) cube([30,30,30]);
translate([-7,0,49]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]); translate([-7,0,49]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]);
rotate([0,0,90]){ rotate([0,0,90]){
translate([-9.5,0,49]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]); translate([-9.5,0,49]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]);
} }
}
module selective_infill(){
translate([7,2,0.8])cube([0.2,33,5]);
translate([-7,2,0.8])cube([0.2,33,5]);
translate([ 7,16,5.8])cube([0.2,8,11]);
translate([-7,16,5.8])cube([0.2,8,11]);
translate([7,2,16.8])cube([0.2,33,2]);
translate([-7,2,16.8])cube([0.2,33,2]);
} }
// Final part // Final part
module corner(){ module corner(){
// Rotate the part for better printing // Rotate the part for better printing
translate([0,0,11]) rotate([-90,0,0]) difference(){ translate([0,0,11]) rotate([-90,0,0])
corner_base(); {
corner_holes(); difference(){
corner_fancy(); corner_base();
} corner_holes();
corner_fancy();
translate([0,11,0]) rotate([90,0,0])selective_infill();
}
}
} }
rotate([90,0,0]) corner(); corner();

View File

@ -8,8 +8,16 @@
//include <configuration.scad> //include <configuration.scad>
module y_motor_base(){ module y_motor_base(){
// Motor holding part
union()
{
// Motor holding part
translate(v = [29,-21+50,0]){ translate(v = [29,-21+50,0]){
difference()
{
union()
{
translate(v = [-21+4.5,0,5]) cube(size = [9,31,10], center=true); translate(v = [-21+4.5,0,5]) cube(size = [9,31,10], center=true);
translate(v = [-15.5,-15.5,0]) cylinder(h = 10, r=5.5, $fn=50); translate(v = [-15.5,-15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
translate(v = [-15.5,+15.5,0]) cylinder(h = 10, r=5.5, $fn=50); translate(v = [-15.5,+15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
@ -20,43 +28,53 @@ module y_motor_base(){
translate([-12,0,0]) cube([7, 15, 10]); translate([-12,0,0]) cube([7, 15, 10]);
translate([-16,16,0]) cube([6, 5, 10]); translate([-16,16,0]) cube([6, 5, 10]);
translate([-21+6,8,0]) cube([12-2, 5, 28]); translate([-21+6,8,0]) cube([12-2, 5, 28]);
translate([-21+6-2,8-5,0]) cube([4, 10, 28]); translate([-21,8-5,0]) cube([8, 10, 28]);
translate([-21+9.5-2,7,0]) rotate([0,0,45]) cube([2, 2, 28]); translate([-21+9.5-2,7,0]) rotate([0,0,45]) cube([2, 2, 28]);
// Joins motor holder and rod plate // Joins motor holder and rod plate
translate(v = [-29,-21,0]) cube(size = [14,30,10]); translate(v = [-29,-21,0]) cube(size = [14,30,10]);
} }
// Front holding part //selective infill
translate(v = [0,10,0]) cylinder(h = 10, r=8, $fn=80); translate([-14.5,5,0.3]) cube([0.1,5.5,27]);
translate(v = [0,20,5])cube(size = [16,20,10], center=true); translate([-16.5,5,0.3]) cube([0.1,5.5,27]);
translate(v = [0,30,0])cylinder(h = 10, r=8, $fn=80); translate([-18.5,5,0.3]) cube([0.1,5.5,25]);
translate([-10,9,1]) cube([0.1,3,26.3]);
translate([-8,9,6]) cube([0.1,3,21.3]);
}
}
}
// Front holding part
translate(v = [0,10,0]) cylinder(h = 10, r=8, $fn=80);
translate(v = [0,20,5])cube(size = [16,20,10], center=true);
translate(v = [0,30,0])cylinder(h = 10, r=8, $fn=80);
} }
module y_motor_holes(){ module y_motor_holes(){
translate(v = [29,-21+50,0]){ translate(v = [29,-21+50,0]){
// Screw head holes // Screw head holes
translate(v = [-15.5,-15.5,-1]) cylinder(h = 10, r=1.8, $fn=20); translate(v = [-15.5,-15.5,-1]) cylinder(h = 10, r=1.8, $fn=20);
translate(v = [-15.5,+15.5,-1]) cylinder(h = 10, r=1.8, $fn=20); translate(v = [-15.5,+15.5,-1]) cylinder(h = 10, r=1.8, $fn=20);
// Screw holes // Screw holes
translate(v = [-15.5,-15.5,7]) cylinder(h = 7, r=3.5, $fn=30); translate(v = [-15.5,-15.5,7]) cylinder(h = 7, r=3.5, $fn=30);
translate(v = [-15.5,+15.5,7]) cylinder(h = 25, r=3.5, $fn=30); translate(v = [-15.5,+15.5,7]) cylinder(h = 25, r=3.5, $fn=30);
} }
translate(v = [0,10,-1]) cylinder(h = 12, r=4.1, $fn=50); translate(v = [0,10,-1]) cylinder(h = 12, r=4.2, $fn=50);
translate(v = [0,30,-1]) cylinder(h = 12, r=4.1, $fn=50); translate(v = [0,30,-1]) cylinder(h = 12, r=4.2, $fn=50);
//endstop //endstop
translate([25,29,0]) cylinder(h = 29, r=8, $fn=20); translate([25,29,0]) cylinder(h = 29, r=8, $fn=20);
#translate([18,45,15]) rotate([90,0,0]) cylinder(h = 10, r=0.8, $fn=20); translate([18,45,15]) rotate([90,0,0]) cylinder(h = 10, r=0.8, $fn=20);
translate([18,42.2,15]) rotate([90,0,0]) cylinder(h = 2, r1=1.2, r2=0.8, $fn=20); translate([18,42.2,15]) rotate([90,0,0]) cylinder(h = 2, r1=1.2, r2=0.8, $fn=20);
#translate([18,45,24.5]) rotate([90,0,0]) cylinder(h = 10, r=0.8, $fn=20); translate([18,45,24.5]) rotate([90,0,0]) cylinder(h = 10, r=0.8, $fn=20);
translate([18,42.2,24.5]) rotate([90,0,0]) cylinder(h = 2, r1=1.2, r2=0.8, $fn=20); translate([18,42.2,24.5]) rotate([90,0,0]) cylinder(h = 2, r1=1.2, r2=0.8, $fn=20);
// endstop corner cutout // endstop corner cutout
translate([-5-2,30,28]) rotate([0,45,0]) cube([15, 19, 15]); translate([-10,30,28]) rotate([0,45,0]) cube([15, 19, 15]);
translate([-1,41,10]) cube([15, 5, 19]); translate([-1,41,10]) cube([15, 5, 19]);
translate([27,33,0]) rotate([0,0,45]) cube([5, 5, 28]); translate([27,33,0]) rotate([0,0,45]) cube([5, 5, 28]);
translate([12-2,28,10.01]) rotate([0,0,45]) cube([5, 5, 28]); translate([7,28,10.01]) rotate([0,0,45]) cube([5, 5, 28]);
translate([19,32,0]) rotate([0,30,0]) cube([8, 20, 18]); translate([19,32,0]) rotate([0,30,0]) cube([8, 20, 18]);
translate([24.5-2,32,17]) rotate([0,45,0]) cube([2, 20, 2]); translate([24.5-2,32,17]) rotate([0,45,0]) cube([2, 20, 2]);
@ -67,14 +85,16 @@ module y_motor_holes(){
//#translate([18,40,10]) cube([8, 5, 5]);
// Final part // Final part
module y_motor(){ module y_motor(){
difference(){ difference()
y_motor_base(); {
y_motor_holes(); y_motor_base();
} y_motor_holes();
}
} }
y_motor(); y_motor();

View File

@ -13,49 +13,46 @@ module z_bottom_base(){
} }
module z_bottom_fancy(){ module z_bottom_fancy(){
// corner cutouts // corner cutouts
translate([0.5,-2.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]); translate([0.5,-2.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([0.5,40-0.5+5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]); translate([0.5,40-0.5+5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
//translate([-4,40+5,5]) rotate([0,0,-35-0]) translate([0,0,0.1]) cube([30,30,51]);
//translate([-4+11,40+5+5,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]); translate([20,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([20,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]); translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]); translate([50-2.5,-5+2.5+67,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([50-2.5,-5+2.5+67,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]); translate([50-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([50-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
//translate([50-1.5,10-1.5,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]); // Stiffner cut out
//translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]); translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
// Stiffner cut out
translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
} }
module z_bottom_holes(){ module z_bottom_holes(){
// Frame mounting screw holes // Frame mounting screw holes
translate([-1,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
// Frame mounting screw head holes // Frame mounting screw head holes
translate([4,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); translate([4,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); translate([4,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); translate([4,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10-3.1,10+20+5]) cube([10,6.2,10]); translate([4,10+10-3.1,10+20+5]) cube([10,6.2,10]);
// Z rod holder // Z rod holder
translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.125, $fn=15); translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.125, $fn=15);
translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 1.6, r1=5, r2=4.125, $fn=15);
translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing
// motor mounting // motor mounting
translate([25+4.3,20,-1]){ translate([25+4.3,20,-1]){
//translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([0,0,-1]) cylinder(h = 20, r=12, $fn=30);
translate([0,0,-1]) cylinder(h = 20, r=12, $fn=30);
} }
} }
@ -77,6 +74,20 @@ module z_bottom_left(){
} }
} }
//z_bottom_holder();
#z_bottom_right(); z_bottom_right();
#z_bottom_left(); z_bottom_left();

View File

@ -7,38 +7,34 @@
module z_top_base(){ module z_top_base(){
translate([0,-5,0]) cube([8,45,16]); // plate touching the base translate([0,-5,0]) cube([8,45,16]); // plate touching the base
translate([0,-5,0]) cube([30,4.01,12]); // plate touching the base translate([0,-5,0]) cube([30,4.01,12]); // plate touching the base
translate([0,-5,0]) cube([38,45,5]); // plate touching the base translate([0,-5,0]) cube([38,45,5]); // plate touching the base
} }
module z_top_fancy(){ module z_top_fancy(){
// Corner cutouts // Corner cutouts
translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]); translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([0.5,40-0.5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
translate([-13,40+5+10.2,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); // frame side angle
translate([8,28,0]) translate([0,0,-1]) cube([50,50,51]);
translate([-13,40+5+10.2,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); // frame side angle translate([4,0,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([8,28,0]) translate([0,0,-1]) cube([50,50,51]); translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([8,4,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([4,0,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]); translate([38-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]); translate([35,26,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]); // outer corner
translate([8,4,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]); translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
translate([38-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]); // Stiffner cut out
translate([35,26,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]); // outer corner translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
// Stiffner cut out
translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
//easy cleanup fix
translate([0.5,0,0.5]) rotate([0,45,0]) translate([-2.5,0,-5]) cube([5,40,5]);
} }
module z_top_holes(){ module z_top_holes(){
// Screw holes frame // Screw holes frame
translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
// Screw heads // Screw heads
@ -51,14 +47,19 @@ module z_top_holes(){
translate([25+4.3,3.2,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=15); translate([25+4.3,3.2,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=15);
// material saving cut
translate([16,10,-1]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
translate([16,28,-1]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
translate([25+4.3,3.2+17,-1]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
// odlehceni A translate([25+4.3-1,3,-1]) cube([2,15,7]); // it's bit up because it helps with printing
translate([16,10,-1]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6); // odlehceni
translate([16,28,-1]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6); // odlehceni
translate([25+4.3,3.2+17,-1]) rotate([0,0,0]) cylinder(h = 50, r=5, $fn=15); // screw hole //selective infill
translate([36.5,1.5,0.5]) cube([0.1,20,3.5]);
translate([10,-3,0.5]) cube([22,0.1,3.5]);
translate([3,1,0.5]) cube([18,0.1,3.5]);
translate([1.5,19,0.5]) cube([21,0.1,3.5]);
translate([25+4.3-1,3,0.6]) cube([2,15,7]); // it's bit up because it helps with printing
} }
@ -71,7 +72,7 @@ module z_top_right(){
} }
module z_top_left(){ module z_top_left(){
translate([0,-13,0]) mirror([0,1,0]) translate([0,-15,0]) mirror([0,1,0])
difference(){ difference(){
z_top_base(); z_top_base();
z_top_fancy(); z_top_fancy();
@ -79,6 +80,7 @@ module z_top_left(){
} }
} }
// Final part // Final parts
z_top_left(); z_top_left();
z_top_right(); z_top_right();

View File

@ -25,9 +25,9 @@ difference()
{ {
union() union()
{ {
translate(v=[0, 0, 1]) cylinder(r1=8, r2=4.5, h = 4); translate(v=[0, 0, 1]) cylinder(r1=8, r2=4.6, h = 4);
cylinder(r=8, h = 1, $fn=60); cylinder(r=8, h = 1, $fn=60);
} }
translate(v=[0, 0, -1]) cylinder(r=4.2, h = 7, $fn=60); translate(v=[0, 0, -1]) cylinder(r=4.2, h = 7, $fn=60);
cylinder(r1=4.3, r2=4.2, h = 1, $fn=60); cylinder(r1=4.5, r2=4.2, h = 1, $fn=60);
} }

View File

@ -1210,20 +1210,6 @@ solid OpenSCAD_Model
vertex -4.68391 -5.20201 7 vertex -4.68391 -5.20201 7
endloop endloop
endfacet endfacet
facet normal -0.994522 -0.104529 0
outer loop
vertex -6.84703 -1.45538 0
vertex -7 0 7
vertex -7 0 0
endloop
endfacet
facet normal -0.994522 -0.104529 0
outer loop
vertex -7 0 7
vertex -6.84703 -1.45538 0
vertex -6.84703 -1.45538 7
endloop
endfacet
facet normal 0.587786 -0.809017 0 facet normal 0.587786 -0.809017 0
outer loop outer loop
vertex 3.5 -6.06218 3 vertex 3.5 -6.06218 3
@ -1252,6 +1238,20 @@ solid OpenSCAD_Model
vertex 3.5 -6.06218 3 vertex 3.5 -6.06218 3
endloop endloop
endfacet endfacet
facet normal -0.207912 -0.978148 0
outer loop
vertex -2.16312 -6.6574 0
vertex -0.731699 -6.96165 7
vertex -2.16312 -6.6574 7
endloop
endfacet
facet normal -0.207912 -0.978148 -0
outer loop
vertex -0.731699 -6.96165 7
vertex -2.16312 -6.6574 0
vertex -0.731699 -6.96165 0
endloop
endfacet
facet normal -0.951056 -0.309017 0 facet normal -0.951056 -0.309017 0
outer loop outer loop
vertex -6.39482 -2.84716 0 vertex -6.39482 -2.84716 0
@ -1266,6 +1266,20 @@ solid OpenSCAD_Model
vertex -6.39482 -2.84716 7 vertex -6.39482 -2.84716 7
endloop endloop
endfacet endfacet
facet normal -0.994522 -0.104529 0
outer loop
vertex -6.84703 -1.45538 0
vertex -7 0 7
vertex -7 0 0
endloop
endfacet
facet normal -0.994522 -0.104529 0
outer loop
vertex -7 0 7
vertex -6.84703 -1.45538 0
vertex -6.84703 -1.45538 7
endloop
endfacet
facet normal 0.743145 -0.66913 0 facet normal 0.743145 -0.66913 0
outer loop outer loop
vertex 4.68391 -5.20201 7 vertex 4.68391 -5.20201 7
@ -1308,20 +1322,6 @@ solid OpenSCAD_Model
vertex -3.5 -6.06218 0 vertex -3.5 -6.06218 0
endloop endloop
endfacet endfacet
facet normal -0.207912 -0.978148 0
outer loop
vertex -2.16312 -6.6574 0
vertex -0.731699 -6.96165 7
vertex -2.16312 -6.6574 7
endloop
endfacet
facet normal -0.207912 -0.978148 -0
outer loop
vertex -0.731699 -6.96165 7
vertex -2.16312 -6.6574 0
vertex -0.731699 -6.96165 0
endloop
endfacet
facet normal -0 0 1 facet normal -0 0 1
outer loop outer loop
vertex 10 7 3 vertex 10 7 3
@ -2071,20 +2071,6 @@ solid OpenSCAD_Model
vertex -3.34565 -3.71572 0 vertex -3.34565 -3.71572 0
endloop endloop
endfacet endfacet
facet normal 0.994522 0.104529 0
outer loop
vertex -4.89074 -1.03956 7
vertex -5 0 0
vertex -5 0 7
endloop
endfacet
facet normal 0.994522 0.104529 0
outer loop
vertex -5 0 0
vertex -4.89074 -1.03956 7
vertex -4.89074 -1.03956 0
endloop
endfacet
facet normal -0.587785 0.809017 0 facet normal -0.587785 0.809017 0
outer loop outer loop
vertex 3.34565 -3.71572 0 vertex 3.34565 -3.71572 0
@ -2141,6 +2127,20 @@ solid OpenSCAD_Model
vertex -4.56773 -2.03368 0 vertex -4.56773 -2.03368 0
endloop endloop
endfacet endfacet
facet normal 0.994522 0.104529 0
outer loop
vertex -4.89074 -1.03956 7
vertex -5 0 0
vertex -5 0 7
endloop
endfacet
facet normal 0.994522 0.104529 0
outer loop
vertex -5 0 0
vertex -4.89074 -1.03956 7
vertex -4.89074 -1.03956 0
endloop
endfacet
facet normal -0.743145 0.669131 0 facet normal -0.743145 0.669131 0
outer loop outer loop
vertex 3.34565 -3.71572 0 vertex 3.34565 -3.71572 0
@ -2701,18 +2701,18 @@ solid OpenSCAD_Model
vertex 8.30902 -8.58778 0 vertex 8.30902 -8.58778 0
endloop endloop
endfacet endfacet
facet normal 0.406737 -0.913545 0 facet normal 0 -1 0
outer loop outer loop
vertex 7.80902 -8.95106 0 vertex 7.5 -8.99452 0
vertex 8 -8.86602 3 vertex 7.60453 -8.99452 3
vertex 7.80902 -8.95106 3 vertex 7.5 -8.99452 3
endloop endloop
endfacet endfacet
facet normal 0.406737 -0.913545 0 facet normal 0 -1 -0
outer loop outer loop
vertex 8 -8.86602 3 vertex 7.60453 -8.99452 3
vertex 7.80902 -8.95106 0 vertex 7.5 -8.99452 0
vertex 8 -8.86602 0 vertex 7.60453 -8.99452 0
endloop endloop
endfacet endfacet
facet normal 0.587787 -0.809016 0 facet normal 0.587787 -0.809016 0
@ -2729,18 +2729,18 @@ solid OpenSCAD_Model
vertex 8.16913 -8.74314 0 vertex 8.16913 -8.74314 0
endloop endloop
endfacet endfacet
facet normal 0 -1 0 facet normal 0.406737 -0.913545 0
outer loop outer loop
vertex 7.5 -8.99452 0 vertex 7.80902 -8.95106 0
vertex 7.60453 -8.99452 3 vertex 8 -8.86602 3
vertex 7.5 -8.99452 3 vertex 7.80902 -8.95106 3
endloop endloop
endfacet endfacet
facet normal 0 -1 -0 facet normal 0.406737 -0.913545 0
outer loop outer loop
vertex 7.60453 -8.99452 3 vertex 8 -8.86602 3
vertex 7.5 -8.99452 0 vertex 7.80902 -8.95106 0
vertex 7.60453 -8.99452 0 vertex 8 -8.86602 0
endloop endloop
endfacet endfacet
facet normal 0.207909 -0.978148 0 facet normal 0.207909 -0.978148 0
@ -2897,6 +2897,20 @@ solid OpenSCAD_Model
vertex 11.309 -8.58778 0 vertex 11.309 -8.58778 0
endloop endloop
endfacet endfacet
facet normal -0.406739 -0.913545 0
outer loop
vertex 10 -8.86602 0
vertex 10.191 -8.95106 3
vertex 10 -8.86602 3
endloop
endfacet
facet normal -0.406739 -0.913545 -0
outer loop
vertex 10.191 -8.95106 3
vertex 10 -8.86602 0
vertex 10.191 -8.95106 0
endloop
endfacet
facet normal -0.743145 -0.66913 0 facet normal -0.743145 -0.66913 0
outer loop outer loop
vertex 9.83087 -8.74314 0 vertex 9.83087 -8.74314 0
@ -2925,34 +2939,6 @@ solid OpenSCAD_Model
vertex 10 -8.86602 0 vertex 10 -8.86602 0
endloop endloop
endfacet endfacet
facet normal 0 -1 0
outer loop
vertex 10.3955 -8.99452 0
vertex 10.6045 -8.99452 3
vertex 10.3955 -8.99452 3
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 10.6045 -8.99452 3
vertex 10.3955 -8.99452 0
vertex 10.6045 -8.99452 0
endloop
endfacet
facet normal -0.866025 -0.5 0
outer loop
vertex 9.69098 -8.58778 0
vertex 9.58645 -8.40674 3
vertex 9.58645 -8.40674 0
endloop
endfacet
facet normal -0.866025 -0.5 0
outer loop
vertex 9.58645 -8.40674 3
vertex 9.69098 -8.58778 0
vertex 9.69098 -8.58778 3
endloop
endfacet
facet normal -0.951055 -0.30902 0 facet normal -0.951055 -0.30902 0
outer loop outer loop
vertex 9.58645 -8.40674 0 vertex 9.58645 -8.40674 0
@ -2967,20 +2953,6 @@ solid OpenSCAD_Model
vertex 9.58645 -8.40674 3 vertex 9.58645 -8.40674 3
endloop endloop
endfacet endfacet
facet normal 0.587787 -0.809016 0
outer loop
vertex 11 -8.86602 0
vertex 11.1691 -8.74314 3
vertex 11 -8.86602 3
endloop
endfacet
facet normal 0.587787 -0.809016 0
outer loop
vertex 11.1691 -8.74314 3
vertex 11 -8.86602 0
vertex 11.1691 -8.74314 0
endloop
endfacet
facet normal 0.406737 -0.913545 0 facet normal 0.406737 -0.913545 0
outer loop outer loop
vertex 10.809 -8.95106 0 vertex 10.809 -8.95106 0
@ -2995,6 +2967,34 @@ solid OpenSCAD_Model
vertex 11 -8.86602 0 vertex 11 -8.86602 0
endloop endloop
endfacet endfacet
facet normal -0.866025 -0.5 0
outer loop
vertex 9.69098 -8.58778 0
vertex 9.58645 -8.40674 3
vertex 9.58645 -8.40674 0
endloop
endfacet
facet normal -0.866025 -0.5 0
outer loop
vertex 9.58645 -8.40674 3
vertex 9.69098 -8.58778 0
vertex 9.69098 -8.58778 3
endloop
endfacet
facet normal 0.587787 -0.809016 0
outer loop
vertex 11 -8.86602 0
vertex 11.1691 -8.74314 3
vertex 11 -8.86602 3
endloop
endfacet
facet normal 0.587787 -0.809016 0
outer loop
vertex 11.1691 -8.74314 3
vertex 11 -8.86602 0
vertex 11.1691 -8.74314 0
endloop
endfacet
facet normal -0.207909 -0.978148 0 facet normal -0.207909 -0.978148 0
outer loop outer loop
vertex 10.191 -8.95106 0 vertex 10.191 -8.95106 0
@ -3009,18 +3009,18 @@ solid OpenSCAD_Model
vertex 10.3955 -8.99452 0 vertex 10.3955 -8.99452 0
endloop endloop
endfacet endfacet
facet normal -0.406739 -0.913545 0 facet normal 0 -1 0
outer loop outer loop
vertex 10 -8.86602 0 vertex 10.3955 -8.99452 0
vertex 10.191 -8.95106 3 vertex 10.6045 -8.99452 3
vertex 10 -8.86602 3 vertex 10.3955 -8.99452 3
endloop endloop
endfacet endfacet
facet normal -0.406739 -0.913545 -0 facet normal 0 -1 -0
outer loop outer loop
vertex 10.191 -8.95106 3 vertex 10.6045 -8.99452 3
vertex 10 -8.86602 0 vertex 10.3955 -8.99452 0
vertex 10.191 -8.95106 0 vertex 10.6045 -8.99452 0
endloop endloop
endfacet endfacet
endsolid OpenSCAD_Model endsolid OpenSCAD_Model

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.

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

View File

@ -1483,20 +1483,6 @@ solid OpenSCAD_Model
vertex 7.23607 -12.3511 10 vertex 7.23607 -12.3511 10
endloop endloop
endfacet endfacet
facet normal 0 1 -0
outer loop
vertex 4.25116 -13.9921 0
vertex 3.74884 -13.9921 10
vertex 4.25116 -13.9921 10
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 3.74884 -13.9921 10
vertex 4.25116 -13.9921 0
vertex 3.74884 -13.9921 0
endloop
endfacet
facet normal 0.248691 0.968583 -0 facet normal 0.248691 0.968583 -0
outer loop outer loop
vertex 3.25047 -13.9291 0 vertex 3.25047 -13.9291 0
@ -1539,6 +1525,20 @@ solid OpenSCAD_Model
vertex 6.5497 -13.0821 0 vertex 6.5497 -13.0821 0
endloop endloop
endfacet endfacet
facet normal 0 1 -0
outer loop
vertex 4.25116 -13.9921 0
vertex 3.74884 -13.9921 10
vertex 4.25116 -13.9921 10
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 3.74884 -13.9921 10
vertex 4.25116 -13.9921 0
vertex 3.74884 -13.9921 0
endloop
endfacet
facet normal -0.998027 -0.0627918 0 facet normal -0.998027 -0.0627918 0
outer loop outer loop
vertex 8 10 0 vertex 8 10 0
@ -1777,6 +1777,20 @@ solid OpenSCAD_Model
vertex 6.14331 13.3773 0 vertex 6.14331 13.3773 0
endloop endloop
endfacet endfacet
facet normal -0.998027 0.0627917 0
outer loop
vertex 7.96846 9.49867 0
vertex 8 10 10
vertex 8 10 0
endloop
endfacet
facet normal -0.998027 0.0627917 0
outer loop
vertex 8 10 10
vertex 7.96846 9.49867 0
vertex 7.96846 9.49867 10
endloop
endfacet
facet normal -0.951057 0.309017 0 facet normal -0.951057 0.309017 0
outer loop outer loop
vertex 7.71911 8.5275 0 vertex 7.71911 8.5275 0
@ -1805,32 +1819,18 @@ solid OpenSCAD_Model
vertex 7.87433 9.00524 10 vertex 7.87433 9.00524 10
endloop endloop
endfacet endfacet
facet normal -0.684546 0.72897 0 facet normal -0.587785 0.809017 0
outer loop outer loop
vertex 6.91587 7.26181 0
vertex 6.5497 6.91795 10
vertex 6.91587 7.26181 10
endloop
endfacet
facet normal -0.684546 0.72897 0
outer loop
vertex 6.5497 6.91795 10
vertex 6.91587 7.26181 0
vertex 6.5497 6.91795 0 vertex 6.5497 6.91795 0
endloop
endfacet
facet normal -0.481754 0.876307 0
outer loop
vertex 6.14331 6.62269 0
vertex 5.70312 6.38069 10
vertex 6.14331 6.62269 10 vertex 6.14331 6.62269 10
vertex 6.5497 6.91795 10
endloop endloop
endfacet endfacet
facet normal -0.481754 0.876307 0 facet normal -0.587785 0.809017 0
outer loop outer loop
vertex 5.70312 6.38069 10 vertex 6.14331 6.62269 10
vertex 6.5497 6.91795 0
vertex 6.14331 6.62269 0 vertex 6.14331 6.62269 0
vertex 5.70312 6.38069 0
endloop endloop
endfacet endfacet
facet normal -0.844328 0.535826 0 facet normal -0.844328 0.535826 0
@ -1847,34 +1847,6 @@ solid OpenSCAD_Model
vertex 7.23607 7.64886 10 vertex 7.23607 7.64886 10
endloop endloop
endfacet endfacet
facet normal -0.998027 0.0627917 0
outer loop
vertex 7.96846 9.49867 0
vertex 8 10 10
vertex 8 10 0
endloop
endfacet
facet normal -0.998027 0.0627917 0
outer loop
vertex 8 10 10
vertex 7.96846 9.49867 0
vertex 7.96846 9.49867 10
endloop
endfacet
facet normal 0.248689 0.968583 -0
outer loop
vertex 3.25047 6.07085 0
vertex 3 6.13516 10
vertex 3.25047 6.07085 10
endloop
endfacet
facet normal 0.248689 0.968583 0
outer loop
vertex 3 6.13516 10
vertex 3.25047 6.07085 0
vertex 3 6.13516 0
endloop
endfacet
facet normal -0.770513 0.637424 0 facet normal -0.770513 0.637424 0
outer loop outer loop
vertex 6.91587 7.26181 0 vertex 6.91587 7.26181 0
@ -1889,18 +1861,18 @@ solid OpenSCAD_Model
vertex 6.91587 7.26181 10 vertex 6.91587 7.26181 10
endloop endloop
endfacet endfacet
facet normal -0.587785 0.809017 0 facet normal -0.481754 0.876307 0
outer loop outer loop
vertex 6.5497 6.91795 0 vertex 6.14331 6.62269 0
vertex 5.70312 6.38069 10
vertex 6.14331 6.62269 10 vertex 6.14331 6.62269 10
vertex 6.5497 6.91795 10
endloop endloop
endfacet endfacet
facet normal -0.587785 0.809017 0 facet normal -0.481754 0.876307 0
outer loop outer loop
vertex 6.14331 6.62269 10 vertex 5.70312 6.38069 10
vertex 6.5497 6.91795 0
vertex 6.14331 6.62269 0 vertex 6.14331 6.62269 0
vertex 5.70312 6.38069 0
endloop endloop
endfacet endfacet
facet normal -0.368126 0.929776 0 facet normal -0.368126 0.929776 0
@ -1931,6 +1903,34 @@ solid OpenSCAD_Model
vertex 7.50523 8.07298 10 vertex 7.50523 8.07298 10
endloop endloop
endfacet endfacet
facet normal 0 1 -0
outer loop
vertex 4.25116 6.00789 0
vertex 3.74884 6.00789 10
vertex 4.25116 6.00789 10
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 3.74884 6.00789 10
vertex 4.25116 6.00789 0
vertex 3.74884 6.00789 0
endloop
endfacet
facet normal 0.248689 0.968583 -0
outer loop
vertex 3.25047 6.07085 0
vertex 3 6.13516 10
vertex 3.25047 6.07085 10
endloop
endfacet
facet normal 0.248689 0.968583 0
outer loop
vertex 3 6.13516 10
vertex 3.25047 6.07085 0
vertex 3 6.13516 0
endloop
endfacet
facet normal 0.125333 0.992115 -0 facet normal 0.125333 0.992115 -0
outer loop outer loop
vertex 3.74884 6.00789 0 vertex 3.74884 6.00789 0
@ -1945,18 +1945,18 @@ solid OpenSCAD_Model
vertex 3.25047 6.07085 0 vertex 3.25047 6.07085 0
endloop endloop
endfacet endfacet
facet normal 0 1 -0 facet normal -0.684546 0.72897 0
outer loop outer loop
vertex 4.25116 6.00789 0 vertex 6.91587 7.26181 0
vertex 3.74884 6.00789 10 vertex 6.5497 6.91795 10
vertex 4.25116 6.00789 10 vertex 6.91587 7.26181 10
endloop endloop
endfacet endfacet
facet normal 0 1 0 facet normal -0.684546 0.72897 0
outer loop outer loop
vertex 3.74884 6.00789 10 vertex 6.5497 6.91795 10
vertex 4.25116 6.00789 0 vertex 6.91587 7.26181 0
vertex 3.74884 6.00789 0 vertex 6.5497 6.91795 0
endloop endloop
endfacet endfacet
facet normal 1 -0 0 facet normal 1 -0 0

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.

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.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,7 @@
# Original Prusa i3 MK2 # Original Prusa i3 MK2S
Original Prusa i3 MK2 is a 3D printer project maintained by PRUSA RESEARCH. Original Prusa i3 MK2S is a 3D printer project maintained by PRUSA RESEARCH.
Originates in RepRap project. Originates in RepRap project.
This repository contains SCAD files and STLs of the printed parts. This repository contains SCAD files and STLs of the printed parts.
@ -10,5 +10,5 @@ This repository contains SCAD files and STLs of the printed parts.
* Prusa Research website : http://prusa3d.com * Prusa Research website : http://prusa3d.com
* Product page : http://shop.prusa3d.com/en/3d-printers/59-original-prusa-i3-mk2-kit.html * Product page : http://shop.prusa3d.com/en/3d-printers/59-original-prusa-i3-mk2-kit.html
* Build manual : http://manual.prusa3d.com/c/English_manuals * Build manual : http://manual.prusa3d.com/c/Original_Prusa_i3_MK2S_kit_assembly
* Firmware : https://github.com/prusa3d/Prusa-Firmware * Firmware : https://github.com/prusa3d/Prusa-Firmware