Merge 1c749aabe1 into bf050898da
commit
477b055a14
|
|
@ -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);
|
||||||
|
|
@ -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 ] );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
@ -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();
|
||||||
|
|
@ -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();
|
||||||
|
|
@ -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]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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]);
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
@ -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.
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
File diff suppressed because it is too large
Load Diff
|
|
@ -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.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
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.
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue