Compare commits
74 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
36a16f20e9 | |
|
|
a7184737ee | |
|
|
ae00eba29b | |
|
|
f177516793 | |
|
|
2d20b07bfe | |
|
|
08d06a1120 | |
|
|
1aa4d1fc54 | |
|
|
72de42d0a1 | |
|
|
4355e47ebb | |
|
|
85574cff11 | |
|
|
da78c264a0 | |
|
|
b31ab2ebf5 | |
|
|
58274df9b1 | |
|
|
83d8c04c30 | |
|
|
1244cde3cf | |
|
|
3646b76875 | |
|
|
eebfc431c3 | |
|
|
09bb00c3c9 | |
|
|
91229ea048 | |
|
|
45b2b9bfa2 | |
|
|
26454b616d | |
|
|
f0744da26d | |
|
|
2d6ba398a3 | |
|
|
763e494ba7 | |
|
|
cf10b529d3 | |
|
|
6c14658cbe | |
|
|
96833de6ff | |
|
|
b10faadde8 | |
|
|
7d176ff315 | |
|
|
3e71c92144 | |
|
|
981f14cc28 | |
|
|
8b558effc0 | |
|
|
ecdd5bacba | |
|
|
673ac37886 | |
|
|
b0ec97e81f | |
|
|
ebc86fd4c0 | |
|
|
f4b2c2414d | |
|
|
b430998fe7 | |
|
|
2c63c80f68 | |
|
|
641824bf39 | |
|
|
d2c6324edc | |
|
|
092baa632b | |
|
|
e347d0a493 | |
|
|
afffd653d5 | |
|
|
60f02f58b2 | |
|
|
bc9e842d3b | |
|
|
12b97e452f | |
|
|
fdfd11dba6 | |
|
|
e9bedc80ff | |
|
|
d2c4981a3e | |
|
|
5d57b38125 | |
|
|
1befafbefe | |
|
|
bdecc29e55 | |
|
|
061ce6f128 | |
|
|
7663a972b2 | |
|
|
a958d9080b | |
|
|
d6e40a533d | |
|
|
61ee2dce96 | |
|
|
72898d229c | |
|
|
039804df9d | |
|
|
51ecbfcaad | |
|
|
88904f9aaa | |
|
|
304ef8600f | |
|
|
22bedfffef | |
|
|
a9c4005c03 | |
|
|
0f9dc67c79 | |
|
|
c01a497b19 | |
|
|
55cd475da0 | |
|
|
2f87d280f1 | |
|
|
7676015e60 | |
|
|
59b49ae991 | |
|
|
60bb763684 | |
|
|
d0c0657061 | |
|
|
4fb6666bb3 |
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
14952
Frame/MK3v8b.dxf
14952
Frame/MK3v8b.dxf
File diff suppressed because it is too large
Load Diff
|
|
@ -1,402 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Einsy base
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
|
||||||
module CubicPattern(Xdim, Ydim)
|
|
||||||
{
|
|
||||||
for (x =[0:12:Xdim-10])
|
|
||||||
{
|
|
||||||
for (y =[0:12:Ydim-10])
|
|
||||||
{
|
|
||||||
translate([x,y,-0.2])cube([10,10,0.4]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module BottomCubic()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([5,5,0]) CubicPattern(110,90);
|
|
||||||
translate([11,0,-1]) cube( [ 11, 40 , 4 ] );
|
|
||||||
translate([0,0,-1]) cube( [ 11, 28 , 4 ] );
|
|
||||||
translate([0,64,-1]) cube( [ 16, 28 , 4 ] );
|
|
||||||
translate([95,64,-1]) cube( [ 20, 28 , 4 ] );
|
|
||||||
translate([95,0,-1]) cube( [ 20, 28 , 4 ] );
|
|
||||||
translate([76,-10,-1]) cube( [ 20, 20 , 4 ] );
|
|
||||||
translate([52,76,-1]) cube( [ 12, 20 , 4 ] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// main body
|
|
||||||
module main_body()
|
|
||||||
{
|
|
||||||
// side panel
|
|
||||||
cube( [ 118.5 , 92 , 2 ] );
|
|
||||||
|
|
||||||
// upper panel
|
|
||||||
cube( [ 1.5 , 92 , 35 ] );
|
|
||||||
// rear panel
|
|
||||||
translate( [ 0 , 90 , 0 ] ) cube( [ 105.5 , 2 , 35 ] );
|
|
||||||
// heatbed ziptie reinforcement
|
|
||||||
translate( [ 63 , 88.5 , 0.5 ] ) cube( [ 6.5 , 2 , 34.5 ] );
|
|
||||||
|
|
||||||
// upper panel frame reinforcement
|
|
||||||
translate( [ 0 , 0 , 1 ] ) cube( [ 5.5 , 7 , 34 ] );
|
|
||||||
|
|
||||||
// side panel reinforcement
|
|
||||||
translate( [ 0 , 0 , 1 ] ) cube( [ 9 , 92 , 3 ] );
|
|
||||||
translate( [ 98 , 0 , 0 ] ) cube( [ 9 , 92 , 4 ] );
|
|
||||||
|
|
||||||
//
|
|
||||||
translate([21,81,0]) cylinder( h = 4.5, r = 2.5, $fn=30);
|
|
||||||
translate([21+58,81,0]) cylinder( h = 4.5, r = 2.5, $fn=30);
|
|
||||||
|
|
||||||
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 ] );
|
|
||||||
|
|
||||||
// Einsy 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 = [-5 : 8] ){
|
|
||||||
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+49.0,1.2]);
|
|
||||||
translate([46 + (i*5.5),10.5,-1]) cube([3.65,18,10]);
|
|
||||||
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,18,10]);
|
|
||||||
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,18,10]);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module cutouts(){
|
|
||||||
// side
|
|
||||||
translate( [ 12 , 19 , 1 ] ) cube( [ 85.5 , 51 , 3 ] );
|
|
||||||
|
|
||||||
// Einsy M3 screws
|
|
||||||
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 10, r = 1.9, $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.9, $fn=30);
|
|
||||||
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 10, r = 1.9, $fn=30);
|
|
||||||
|
|
||||||
translate( [ 7.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
|
|
||||||
translate( [ 102.5 , 14 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
|
|
||||||
translate( [ 102.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
|
|
||||||
translate( [ 7.5 , 75 , 6 ] ) cylinder( h = 3, r1 = 1.9, r2=2.4, $fn=30);
|
|
||||||
|
|
||||||
translate( [ 2 , 0 , 0 ] )ventilation_holes();
|
|
||||||
|
|
||||||
// frame mounting screws
|
|
||||||
//upper
|
|
||||||
translate( [ 18.5, -2 , 15.6 ] ) rotate([0,45,0]) cube( [ 15 , 10 , 10] );
|
|
||||||
translate( [ 16.5 , 8 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $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] );
|
|
||||||
|
|
||||||
|
|
||||||
//lower
|
|
||||||
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30);
|
|
||||||
translate( [ 110.5 , 9 , 5 ] ) rotate([90,0,0]) cylinder( h = 5, r = 3, $fn=30);
|
|
||||||
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] );
|
|
||||||
|
|
||||||
// USB connector hole
|
|
||||||
translate( [ -1 , 41.5 , 11 ] ) cube( [ 5.5 , 13 , 11 ] );
|
|
||||||
|
|
||||||
// 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
|
|
||||||
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.8, $fn=30);
|
|
||||||
translate( [ 70 , 92 , 15 ] ) cube( [ 30 , 10 , 15] );
|
|
||||||
|
|
||||||
|
|
||||||
// nut traps HEX
|
|
||||||
translate( [ 7.5 , 14 , -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate( [ 102.5 , 14 , -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate( [ 7.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate( [ 7.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
|
|
||||||
translate( [ 102.5 , 14 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
|
|
||||||
translate( [ 102.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 6, r2=3.2, $fn=6);
|
|
||||||
translate( [ 7.5 , 75 , -1 ] ) cylinder( h = 1.5, r1 = 6, 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] );
|
|
||||||
|
|
||||||
// inner edges cutout
|
|
||||||
translate( [ 54 , 79.5 , 2 ] ) rotate([0,0,45]) cube( [ 5 , 5 , 50] );
|
|
||||||
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] );
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// extruder cable holder
|
|
||||||
module ext_cable_holder()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// body
|
|
||||||
union(){
|
|
||||||
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 = 11, r2=11, $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, 28, 16.5 ] ) rotate([0,45,0]) cube( [ 6 , 5.5 , 7 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
// upper cut
|
|
||||||
translate( [ -15 , 13 , 15] ) cube( [ 15 , 15 , 25 ] );
|
|
||||||
// lower cut
|
|
||||||
translate( [ 1.5 , 26 , 10] ) cube( [ 15 , 15 , 26 ] );
|
|
||||||
|
|
||||||
// ziptie holder
|
|
||||||
difference(){
|
|
||||||
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.2, $fn=30);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module rambo_cover()
|
|
||||||
{
|
|
||||||
//ext_cable_holder();
|
|
||||||
difference(){
|
|
||||||
main_body();
|
|
||||||
cutouts();
|
|
||||||
|
|
||||||
// main hole
|
|
||||||
translate( [ -10 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 24, r = 6.8, $fn=30);
|
|
||||||
// cable opening slot
|
|
||||||
translate( [ -15 , 25 , 30 ] ) cube( [ 30 , 6 , 10 ] );
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
rambo_cover();
|
|
||||||
|
|
||||||
// inner extruder cable holder
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
rotate([90,0,0]) translate( [ 1.5 , 26 , -28 ] ) rotate([0,90,0]) cylinder( h = 10, r1 = 13, r2=8, $fn=6);
|
|
||||||
translate( [ 0 , 13 , 14] ) cube( [ 15 , 15 , 25 ] );
|
|
||||||
translate( [ 0 , 25 , 35] ) cube( [ 15 , 15 , 10 ] );
|
|
||||||
translate( [ -5 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 20, r1 = 7, r2=6, $fn=30);
|
|
||||||
translate( [ -15 , 26 , 30 ] ) cube( [ 30 , 5 , 6 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate( [ 4.5 , 31.2 , 26 ] ) rotate([0,90,0]) cylinder( h = 7, r1 = 4.2, r2=4,$fn=6);
|
|
||||||
translate( [ 4.5 , 31 , 22.5] ) cube( [ 7 , 3 , 7 ] );
|
|
||||||
translate( [ 4.5 , 31.1 , 20] ) cube( [ 7 , 2 , 7 ] );
|
|
||||||
}
|
|
||||||
translate( [ -5 , 31.2 , 26 ] ) rotate([0,90,0]) cylinder( h = 20, r = 1.75, $fn=30);
|
|
||||||
translate( [ 4, 31.2 , 26 ] ) rotate([0,90,0]) cylinder( h =3, r1 = 1.9, r2=1.75, $fn=30);
|
|
||||||
translate( [ 2.8 , 26 , 22.5] ) rotate([0,0,-20]) cube( [ 9 , 3 , 7 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
rotate([90,0,0]) translate([-9, 26, -28]) rotate([0,90,0]) cylinder( h = 4, r1 = 10, r2=13, $fn=6);
|
|
||||||
rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5, r=13, $fn=6);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate( [ -10 , 28 , 26 ] ) rotate([0,90,0]) cylinder( h = 24, r = 6.8, $fn=30);
|
|
||||||
translate( [ -15 , 26 , 30 ] ) cube( [ 30 , 5 , 10 ] );
|
|
||||||
translate( [ -15 , 15, 30 ] ) cube( [ 15 , 30 , 10 ] );
|
|
||||||
|
|
||||||
// ziptie holder
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
rotate([90,0,0]) translate([-4, 26, -28]) rotate([0,90,0]) cylinder( h = 3.5, r = 10, $fn=30);
|
|
||||||
rotate([90,0,0]) translate([-5, 26, -28]) rotate([0,90,0]) cylinder( h = 5.5, r = 7.7, $fn=30);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate( [ -5 , 22, 15.6 ] ) rotate([0,45,0]) cube( [ 10 , 12 , 10 ] );
|
|
||||||
translate( [ 0 , 21, 8 ] ) cube( [ 10 , 14 , 15 ] );
|
|
||||||
translate( [ -5 , 21, 16 ] ) cube( [ 10 , 14 , 15 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
translate( [ -16.2 , 18, 34 ] ) rotate([0,45,0]) cube( [ 10 , 20 , 10 ] );
|
|
||||||
translate( [ -16.2 , 28, 31 ] ) rotate([45,0,0]) cube( [ 40 , 10 , 10 ] );
|
|
||||||
|
|
||||||
//BottomCubic();
|
|
||||||
translate( [ 14.5, 10, -2 ] ) cube( [ 4 , 24 , 10 ] );
|
|
||||||
translate( [ 16.5, 10, -2 ] ) cylinder( h = 20, r = 2, $fn=30);
|
|
||||||
translate( [ 16.5, 34, -2 ] ) cylinder( h = 20, r = 2, $fn=30);
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([21,81,-5]) cylinder( h = 24, r = 0.8, $fn=30);
|
|
||||||
translate([21+58,81,-5]) cylinder( h = 24, r = 0.8, $fn=30);
|
|
||||||
|
|
||||||
|
|
||||||
translate([115,68,1.5]) rotate([0,0,90]) linear_extrude(height = 0.8)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,129 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Einsy 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.5]);
|
|
||||||
cube([105.5,2,16]);
|
|
||||||
cube([2,87.5,16]);
|
|
||||||
|
|
||||||
// corner reinforcement
|
|
||||||
translate([98,1,0]) cube([7.5,5,16]);
|
|
||||||
translate([0.5,0.5,0]) cube([5,6.5,16]);
|
|
||||||
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,16]);
|
|
||||||
|
|
||||||
// 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,12.8]) rotate([0,0,0]) cylinder( h=3.2, r1=1.8, r2=3.5, $fn=30);
|
|
||||||
translate([102,3.5,12.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([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
|
|
||||||
translate([40 + (i*6),10.5,-1]) cube([3.65,19,10]);
|
|
||||||
translate([40 + (i*6),10.5+25,-1]) cube([3.65,19,10]);
|
|
||||||
translate([40 + (i*6),10.5+50,-1]) cube([3.65,19,10]);
|
|
||||||
}
|
|
||||||
for ( i = [0 : -4] )
|
|
||||||
{
|
|
||||||
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
|
|
||||||
}
|
|
||||||
for ( i = [-6 : -7] )
|
|
||||||
{
|
|
||||||
translate([46 + (i*6),20.5,-1]) cube([3.65,19+40,1.2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([15,10,1]) cube([20,55,1.5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
module cutouts()
|
|
||||||
{
|
|
||||||
// door closing screw
|
|
||||||
translate([58.5,4,1]) cylinder( h = 17, r = 1.8, $fn=30);
|
|
||||||
translate([58.5,4,14.5]) cylinder( h = 2.6, r1 = 1.8, r2=2.2, $fn=30);
|
|
||||||
translate([58.5,4,11.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,12.9]) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
|
|
||||||
translate([102,3.5,12.9]) rotate([0,0,0]) cylinder( h = 3.2, r1 = 1.2, r2= 2.8, $fn=30);
|
|
||||||
|
|
||||||
// M3 nut
|
|
||||||
translate([55.65,0.5,12]) 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.5]) rotate([0,0,70]) cube([10,10,50]);
|
|
||||||
translate([61,12,1.5]) rotate([0,0,-70]) cube([10,10,50]);
|
|
||||||
translate([16,2,1.5]) rotate([0,0,45]) cube([5,5,50]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module Einsy_doors()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
body();
|
|
||||||
cutouts();
|
|
||||||
// large corner cut
|
|
||||||
translate( [0 , -20, -3] ) rotate([0,45,45]) cube( [ 30, 30 , 20 ] );
|
|
||||||
|
|
||||||
translate([30,79,1]) rotate([0,0,-90]) linear_extrude(height = 0.8)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=6, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Einsy_doors();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Einsy cover hinges
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module upper_hinge()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union(){
|
|
||||||
// body
|
|
||||||
cylinder( h = 26, r = 2.4, $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 ] );
|
|
||||||
}
|
|
||||||
// M3 screw hole
|
|
||||||
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]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module lower_hinge()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union(){
|
|
||||||
// body
|
|
||||||
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 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30);
|
|
||||||
translate( [ -5 , 6 , 0 ] ) cube( [ 7 , 11 , 10 ] );
|
|
||||||
}
|
|
||||||
// M3 screw
|
|
||||||
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]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
upper_hinge();
|
|
||||||
lower_hinge();
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
// PRUSA iteration4
|
||||||
|
// Extruder cable clip
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
module extruder_cable_clip()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// body shape
|
||||||
|
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13,$fn=30);
|
||||||
|
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8,r2=13, $fn=30);
|
||||||
|
translate([0,16.6,28]) cube([2.9,22.8,7]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// bottom cut and shape
|
||||||
|
translate([-15,7,13]) cube([30,40,15]);
|
||||||
|
translate([-20,28,28]) rotate([0,90,0]) cylinder(h=40,r=5.5, $fn=30);
|
||||||
|
|
||||||
|
// screws
|
||||||
|
translate([-2.7,20.0,25]) rotate([0,0,90]) cylinder(h= 10, r = 1.6, $fn=50);
|
||||||
|
translate([-2.7,36,25]) rotate([0,0,90]) cylinder( h = 10, r = 1.6, $fn=50);
|
||||||
|
translate([-2.7,36,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
|
||||||
|
translate([-2.7,20.0,32]) rotate([0,0,90]) cylinder( h = 13, r = 3.1, $fn=30);
|
||||||
|
|
||||||
|
// screw heads opening
|
||||||
|
translate([-2.7,16.9,35]) cube([10,6.2,15]);
|
||||||
|
translate([-2.7,32.9,35]) cube([10,6.2,15]);
|
||||||
|
}
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// cable grip
|
||||||
|
translate([-8,28,28]) rotate([0,90,0]) cylinder( h = 10, r = 6, $fn=30);
|
||||||
|
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40, r = 5, $fn=30);
|
||||||
|
translate([-15,7,13]) cube([30,40,15]);
|
||||||
|
translate([-6,7,13]) cube([2,40,25]);
|
||||||
|
translate([-2,7,13]) cube([2,40,25]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
translate([6,-28,-28]) extruder_cable_clip();
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
// PRUSA iteration4
|
||||||
|
// Heatbed cable clip
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
module heatbed_cable_clip()
|
||||||
|
{
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// body base
|
||||||
|
translate([75,99,28]) rotate([90,0,0]) cylinder( h = 15, r = 13, $fn=30);
|
||||||
|
translate([75,101,28]) rotate([90,0,0]) cylinder( h = 2, r1=9,r2 = 13, $fn=30);
|
||||||
|
}
|
||||||
|
|
||||||
|
// screws
|
||||||
|
translate([67,95,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
|
||||||
|
translate([83,95,14]) rotate([0,0,0]) cylinder(h=35,r=1.6,$fn=50);
|
||||||
|
|
||||||
|
// cut flat and shape
|
||||||
|
translate([60,82,14]) cube([30,20,14]);
|
||||||
|
translate([60,72,20]) cube([30,20,30]);
|
||||||
|
}
|
||||||
|
translate([62.75,88.2,28]) cube([24.5,3.8,7]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// cable opening
|
||||||
|
translate([75,105,28]) rotate([90,90,0]) cylinder(h=30,r=4.0,$fn=30);
|
||||||
|
|
||||||
|
// screws opening
|
||||||
|
translate([67-3.2,90.2,35]) cube([6.4,5,7]);
|
||||||
|
translate([83-3.2,90.2,35]) cube([6.4,5,7]);
|
||||||
|
|
||||||
|
// screw heads
|
||||||
|
translate([67,95,31]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
|
||||||
|
translate([83,95,31]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=30);
|
||||||
|
}
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// cable grip
|
||||||
|
translate([75,99,28]) rotate([90,90,0]) cylinder(h=10,r=4.5,$fn=30);
|
||||||
|
translate([75,105,28]) rotate([90,90,0]) cylinder(h=30,r=3.5,$fn=30);
|
||||||
|
translate([60,72,14]) cube([30,40,14]);
|
||||||
|
translate([60,90,24]) cube([30,4,14]);
|
||||||
|
translate([60,95,24]) cube([30,3,14]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([-75,-99,-28]) heatbed_cable_clip();
|
||||||
|
|
@ -1,194 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// 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 , -3.5 , -1 ] ) rotate([35,0,0]) cube( [ 7 , 5 , 15 ] );
|
|
||||||
translate( [ 71 , -3.5 , -1 ] ) rotate([35,0,0]) cube( [ 7 , 5 , 15 ] );
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
// LCD window
|
|
||||||
translate( [ -61.5 , 1 , 1.2 ] ) cube( [ 98.5 , 42 , 10 ] );
|
|
||||||
translate( [ -54.5 , 8 , -1 ] ) cube( [ 85 , 30.5 , 10 ] );
|
|
||||||
|
|
||||||
// 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 , 16.5 ] ) cube( [ 10 , 28 , 4.5 ] );
|
|
||||||
|
|
||||||
// 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.5 , 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.5 , 43.2 , 11.7 ] ) cylinder( h = 3, r1 = 1.4, r2=2.2, $fn=30);
|
|
||||||
translate( [ -72.5 , 42.7 , 11.7 ] ) cylinder( h = 3, r = 1.4, r2=2.2, $fn=30);
|
|
||||||
|
|
||||||
// ORIGINAL PRUSA text
|
|
||||||
translate([-67,51,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
|
|
||||||
{ text("ORIGINAL",font = "helvetica:style=Bold", size=7, center=true); }
|
|
||||||
translate([-18,51,0.6]) rotate([180,0,0]) linear_extrude(height = 2)
|
|
||||||
{ text("PRUSA",font = "helvetica:style=Bold", size=11, center=true); }
|
|
||||||
translate( [ -66 , 40.5 , -0.4 ] ) cube( [ 45 , 1.6 , 1 ] );
|
|
||||||
translate( [ -66 , 41.3 , -0.4 ] ) cylinder( h = 1, r = 0.8, $fn=30);
|
|
||||||
translate( [ -21 , 41.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( [ 73 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 7, 80, 7 ] );
|
|
||||||
translate( [ -82 , -5 , -1 ] ) rotate([0,45,0]) cube( [ 7, 80, 7 ] );
|
|
||||||
|
|
||||||
translate( [ -82 , 58 , -5 ] ) rotate([45,0,0]) cube( [ 200, 7, 7 ] );
|
|
||||||
translate( [ -77 , 51 , -4 ] ) rotate([0,0,45]) cube( [ 8, 8, 50 ] );
|
|
||||||
translate( [ 78 , 51 , -4 ] ) rotate([0,0,45]) cube( [ 8, 8, 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 , -8 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
|
|
||||||
rotate([35,0,0]) translate( [ 79 , -8 , -4 ] ) rotate([0,0,45]) cube( [ 6, 6, 50 ] );
|
|
||||||
translate( [ -100 , -40 , -50 ] ) cube( [ 200 , 50 , 50 ] );
|
|
||||||
|
|
||||||
// version
|
|
||||||
translate([-73,15,4]) rotate([90,0,90]) linear_extrude(height = 2)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=7, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
// PRUSA iteration4
|
||||||
|
// RAMBo cover hinges
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
module upper_hinge()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// body
|
||||||
|
cylinder( h = 26, r = 2.4, $fn=30);
|
||||||
|
cylinder( h = 21, r = 4.5, $fn=30);
|
||||||
|
translate([0,0,26]) cylinder( h = 2, r1 = 2.4, r2 = 1.8, $fn=30);
|
||||||
|
translate( [ -5 , -11 , 0 ] ) cube( [ 7 , 14 , 21 ] );
|
||||||
|
}
|
||||||
|
// M3 screw hole
|
||||||
|
translate( [ -12.5 , -0 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
|
||||||
|
translate( [ -1.5 , -0 , 17 ] ) rotate( [0,90,0] ) cylinder( h = 9, r = 3, $fn=30);
|
||||||
|
// angle cut
|
||||||
|
translate([-3.9,-20,-1]) rotate([0,0,50]) cube([25,5,26]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module lower_hinge()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// body
|
||||||
|
translate( [ 0 , 6 , 0 ] ) cylinder( h = 15, r = 2.4, $fn=30);
|
||||||
|
translate( [ 0 , 6 , 0 ] ) cylinder( h = 10, r = 4.5, $fn=30);
|
||||||
|
translate( [ 0 , 6 , 15 ] ) cylinder( h = 2, r1 = 2.4, r2=1.8, $fn=30);
|
||||||
|
translate( [ -5 , 3 , 0 ] ) cube( [ 7 , 13 , 10 ] );
|
||||||
|
}
|
||||||
|
// M3 screw
|
||||||
|
translate( [ -0.5 , 6 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 3, $fn=30);
|
||||||
|
translate( [ -12 , 6 , 4 ] ) rotate( [0,90,0] ) cylinder( h = 20, r = 1.75, $fn=30);
|
||||||
|
// angle cut
|
||||||
|
translate([-5.8,20,-1]) rotate([0,0,-50]) cube([20,5,20]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
translate([0,-4,0]) upper_hinge();
|
||||||
|
lower_hinge();
|
||||||
|
|
@ -0,0 +1,287 @@
|
||||||
|
// PRUSA iteration4
|
||||||
|
// RAMBo base
|
||||||
|
// GNU GPL v3
|
||||||
|
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||||
|
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||||
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
|
// main body
|
||||||
|
module main_body()
|
||||||
|
{
|
||||||
|
|
||||||
|
// side panel
|
||||||
|
cube([118.5,92,2]);
|
||||||
|
|
||||||
|
// upper panel
|
||||||
|
cube([1.5,92,35]);
|
||||||
|
// rear panel
|
||||||
|
translate( [0,90,0]) cube([105.5,2,35]);
|
||||||
|
|
||||||
|
// upper panel frame reinforcement
|
||||||
|
translate([0,0,1]) cube([5.5,7,34]);
|
||||||
|
|
||||||
|
// side panel reinforcement
|
||||||
|
translate([0,0,1]) cube([9,92,3]);
|
||||||
|
translate([98,0,0]) cube([9,92,4]);
|
||||||
|
|
||||||
|
// raspberry
|
||||||
|
translate([21,81,0]) cylinder( h = 4.5,r = 2.5,$fn=30);
|
||||||
|
translate([21+58,81,0]) cylinder( h = 4.5,r = 2.5,$fn=30);
|
||||||
|
|
||||||
|
// heatbed cable mounting reinforcement
|
||||||
|
translate([63,86.0,0.5]) cube([15,5,34.5]);
|
||||||
|
translate([75,99,28]) rotate([90,0,0]) cylinder(h=15,r=13,$fn=30);
|
||||||
|
translate([75,101,28]) rotate([90,0,0]) cylinder(h=2,r1=9,r2=13,$fn=30);
|
||||||
|
translate([70.3,88,13.2]) rotate([-45,0,0]) cube([9.5,5,9]);
|
||||||
|
translate([70.3,84,16.2]) rotate([-45,0,0]) cube([9.5,8,5]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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([11,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]);
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
|
||||||
|
// extruder cable holder
|
||||||
|
translate([0,0,15]) cube([5,40,20]);
|
||||||
|
translate([5,28,28]) rotate([0,90,0]) cylinder(h=5,r1=10,r2=8,$fn=30);
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-2,0,28]) rotate([0,45,0]) cube([9.8,25,9.8]);
|
||||||
|
translate([-5,-5,15]) cube([5,40,20]);
|
||||||
|
translate([10,-5,15]) cube([5,40,20]);
|
||||||
|
}
|
||||||
|
translate([-6,28,28]) rotate([0,90,0]) cylinder(h=6,r=13,$fn=30);
|
||||||
|
translate([-10,28,28]) rotate([0,90,0]) cylinder(h=4,r1=8,r2=13,$fn=30);
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-5.5,23.5,16]) rotate([0,45,0]) cube([8,9,8]);
|
||||||
|
translate([1,0,10]) cube([5,40,20]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module ventilation_holes()
|
||||||
|
{
|
||||||
|
for ( i = [-5 : 8] )
|
||||||
|
{
|
||||||
|
translate([46 + (i*5.5),10.5,-1]) cube([3.65,19+49.0,1.2]);
|
||||||
|
translate([46 + (i*5.5),10.5,-1]) cube([3.65,18,10]);
|
||||||
|
translate([46 + (i*5.5),10.5+25,-1]) cube([3.65,18,10]);
|
||||||
|
translate([46 + (i*5.5),10.5+50,-1]) cube([3.65,18,10]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module cutouts(){
|
||||||
|
|
||||||
|
|
||||||
|
// extruder cable holder
|
||||||
|
translate([1.5,7,14.8]) rotate([0,45,0]) cube([3,40,5]);
|
||||||
|
translate([-20,28,28]) rotate([0,90,0]) cylinder( h = 40,r = 5.5,$fn=30);
|
||||||
|
translate([-15,7,35]) cube([30,40,15]);
|
||||||
|
translate([-15,25,30]) cube([30,6,8]);
|
||||||
|
|
||||||
|
translate([-15,12,28]) cube([15,30,8]);
|
||||||
|
translate([-12,16.5,28]) cube([15,23,8]);
|
||||||
|
translate([-3,28,28]) rotate([35,90,0]) cylinder( h = 24,r = 1.6,$fn=30);
|
||||||
|
|
||||||
|
translate([-2.7,20.0,22]) rotate([0,0,90]) cylinder( h = 10,r = 1.6,$fn=30);
|
||||||
|
translate([-2.7,20.0,12]) rotate([0,0,90]) cylinder( h = 13,r = 3.1,$fn=6);
|
||||||
|
translate([-2.7,36,10]) rotate([0,0,90]) cylinder( h = 33,r = 1.6,$fn=30);
|
||||||
|
translate([-2.7,36,12]) rotate([0,0,90]) cylinder( h = 13,r = 3.1,$fn=6);
|
||||||
|
|
||||||
|
// side
|
||||||
|
translate([12,19,1]) cube([85.5,51,3]);
|
||||||
|
|
||||||
|
// RAMBo M3 screws
|
||||||
|
translate([7.5,14,-1]) cylinder( h = 10,r = 1.9,$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.9,$fn=30);
|
||||||
|
translate([7.5,75,-1]) cylinder( h = 10,r = 1.9,$fn=30);
|
||||||
|
|
||||||
|
translate([7.5,14,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
|
||||||
|
translate([102.5,14,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
|
||||||
|
translate([102.5,75,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
|
||||||
|
translate([7.5,75,6]) cylinder( h = 3,r1 = 1.9,r2=2.4,$fn=30);
|
||||||
|
|
||||||
|
translate([2,0,0])ventilation_holes();
|
||||||
|
|
||||||
|
// frame mounting screws
|
||||||
|
//upper
|
||||||
|
translate([18.5,-2,15.6]) rotate([0,45,0]) cube([15,10,10] );
|
||||||
|
translate([16.5,8,5]) rotate([90,0,0]) cylinder( h = 10,r = 1.6,$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] );
|
||||||
|
|
||||||
|
|
||||||
|
//lower
|
||||||
|
translate([110.5,9,5]) rotate([90,0,0]) cylinder( h = 10,r = 1.6,$fn=30);
|
||||||
|
translate([110.5,9,5]) rotate([90,0,0]) cylinder( h = 5,r = 3,$fn=30);
|
||||||
|
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] );
|
||||||
|
|
||||||
|
// USB connector hole
|
||||||
|
translate([-1,41.5,11]) cube([5.5,13,11]);
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// new heatbed cable holder
|
||||||
|
translate([75,105,28]) rotate([90,90,0]) cylinder(h=30,r=4.0,$fn=30);
|
||||||
|
translate([67,95,15.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=6);
|
||||||
|
translate([83,95,15.5]) rotate([0,0,0]) cylinder(h=10,r=3.2,$fn=6);
|
||||||
|
translate([67,95,14]) rotate([0,0,0]) cylinder(h=15,r=1.6,$fn=30);
|
||||||
|
translate([83,95,14]) rotate([0,0,0]) cylinder(h=15,r=1.6,$fn=30);
|
||||||
|
translate([60,92,28]) cube([30,13,14]);
|
||||||
|
translate([60,80,35]) cube([30,13,14]);
|
||||||
|
translate([72.5,80,30]) cube([5,13,14]);
|
||||||
|
translate([75,92,25]) rotate([120,0,0]) cylinder(h=25,r=1.6,$fn=30);
|
||||||
|
translate([62.5,88,28]) cube([25,15,14]);
|
||||||
|
|
||||||
|
// nut traps HEX
|
||||||
|
translate([7.5,14,-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);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([102.5,14,-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);
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([7.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);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([7.5,14,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
|
||||||
|
translate([102.5,14,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
|
||||||
|
translate([102.5,75,-1]) cylinder( h = 1.5,r1 = 6,r2=3.2,$fn=6);
|
||||||
|
translate([7.5,75,-1]) cylinder( h = 1.5,r1 = 6,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] );
|
||||||
|
|
||||||
|
// inner edges cutout
|
||||||
|
translate([54,79.5,2]) rotate([0,0,45]) cube([5,5,50] );
|
||||||
|
translate([6,80,7]) rotate([0,0,45]) cube([5,5,24] );
|
||||||
|
|
||||||
|
// 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] );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module RAMBo_base()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
main_body();
|
||||||
|
cutouts();
|
||||||
|
}
|
||||||
|
|
||||||
|
//BottomCubic();
|
||||||
|
translate([14.5,10,-2]) cube([4,24,10]);
|
||||||
|
translate([16.5,10,-2]) cylinder( h = 20,r = 2,$fn=30);
|
||||||
|
translate([16.5,34,-2]) cylinder( h = 20,r = 2,$fn=30);
|
||||||
|
|
||||||
|
// lightening slots
|
||||||
|
translate([100,21,2] ) cube([5,48,5]);
|
||||||
|
translate([3,21,2] ) cube([4.5,48,5]);
|
||||||
|
|
||||||
|
translate([115,68,1.5]) rotate([0,0,90]) linear_extrude(height = 0.8)
|
||||||
|
{text("R1",font = "helvetica:style=Bold",size=6,center=true); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RAMBo_base();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,130 @@
|
||||||
|
// PRUSA iteration4
|
||||||
|
// 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.5]);
|
||||||
|
cube([105.5,2,18]);
|
||||||
|
cube([2,89.5,18]);
|
||||||
|
|
||||||
|
// corner reinforcement
|
||||||
|
translate([98,1,0]) cube([7.5,5,18]);
|
||||||
|
translate([0.5,0.5,0]) cube([5,6.5,18]);
|
||||||
|
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,18]);
|
||||||
|
|
||||||
|
// 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,14.8]) cylinder( h = 3.2,r1 = 1.8,r2= 3.5,$fn=30);
|
||||||
|
translate([102,3.5,14.8]) cylinder( h = 3.2,r1 = 1.8,r2= 3.5,$fn=30);
|
||||||
|
}
|
||||||
|
|
||||||
|
module ventilation_holes()
|
||||||
|
{
|
||||||
|
for ( i = [0 : 9] )
|
||||||
|
{
|
||||||
|
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
|
||||||
|
translate([40 + (i*6),10.5,-1]) cube([3.65,19,10]);
|
||||||
|
translate([40 + (i*6),10.5+25,-1]) cube([3.65,19,10]);
|
||||||
|
translate([40 + (i*6),10.5+50,-1]) cube([3.65,19,10]);
|
||||||
|
}
|
||||||
|
for ( i = [0 : -4] )
|
||||||
|
{
|
||||||
|
translate([40 + (i*6),10.5,-1]) cube([3.65,19+50,1.2]);
|
||||||
|
}
|
||||||
|
for ( i = [-6 : -7] )
|
||||||
|
{
|
||||||
|
translate([46 + (i*6),20.5,-1]) cube([3.65,19+40,1.2]);
|
||||||
|
}
|
||||||
|
translate([15,10,1]) cube([20,55,1.5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
module cutouts()
|
||||||
|
{
|
||||||
|
// door closing screw
|
||||||
|
translate([58.5,4,1]) cylinder( h = 18,r = 1.8,$fn=30);
|
||||||
|
translate([58.5,4,14.5]) cylinder( h = 2.6,r1 = 1.8,r2=2.2,$fn=30);
|
||||||
|
translate([58.5,4,11.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,80,-1]) rotate([-45,0,0]) cube([22.5,8,18]);
|
||||||
|
|
||||||
|
// upper hinge
|
||||||
|
translate( [2,80,6] ) cube([19.5,10,10]);
|
||||||
|
translate( [-2,88,5] ) rotate([50,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);
|
||||||
|
translate([-5,87.5,4.5]) rotate([0,90,0]) cylinder( h = 26.5,r = 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,14.9]) cylinder( h = 3.2,r1 = 1.2,r2= 2.8,$fn=30);
|
||||||
|
translate([102,3.5,14.9]) cylinder( h = 3.2,r1 = 1.2,r2= 2.8,$fn=30);
|
||||||
|
|
||||||
|
// M3 NUT
|
||||||
|
translate( [55.65,0.5,12] ) 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.5] ) rotate([0,0,70]) cube([10,10,50]);
|
||||||
|
translate( [61,12,1.5] ) rotate([0,0,-70]) cube([10,10,50]);
|
||||||
|
translate( [16,2,1.5] ) 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]);
|
||||||
|
|
||||||
|
translate([30,79,1]) rotate([0,0,-90]) linear_extrude(height = 0.8)
|
||||||
|
{ text("R1",font = "helvetica:style=Bold",size=6,center=true); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RAMBo_doors();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,85 +1,36 @@
|
||||||
// PRUSA iteration4
|
//translate([0,0,0]) cylinder(r=1.5, h=40, $fn=30);
|
||||||
// cable holder
|
//translate([0,0,20]) cylinder(r=3.1, h=4, $fn=30);
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
//translate([0,-4,0]) cube([3,10.0,25]);
|
||||||
module zip_main()
|
module zip()
|
||||||
{
|
{
|
||||||
// ziptie cut for upper cables
|
translate([-5,-8,0]) cube([10,4,4]);
|
||||||
|
translate([-12.5,-5,0]) cube([10,20.0,4]);
|
||||||
translate([-10,-30.5,24]) cube([20,2,3]);
|
translate([2.5,-5,0]) cube([10,20.0,4]);
|
||||||
translate([-6,-30.5,24]) cube([2,20,3]);
|
translate([2,-6,0]) rotate([0,0,45]) cube([5,2,4]);
|
||||||
translate([5,-30.5,24]) cube([2,20,3]);
|
translate([-6,-2.4,0]) rotate([0,0,-45]) cube([5,2,4]);
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=3, r=6, $fn=30 );
|
|
||||||
translate([0.5,-26,23]) rotate([0,0,90]) cylinder( h=5, r=4.6, $fn=30 );
|
|
||||||
translate([-10,-35.5,23]) cube([20,5,5]);
|
|
||||||
translate([-10,-27,23]) cube([20,10,5]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module zip_ext_cables()
|
|
||||||
{
|
|
||||||
// ziptie cut for lower cables
|
|
||||||
|
|
||||||
translate([-10,-25.5,24]) cube([20,2,3]);
|
|
||||||
translate([-4.5,-45.5,24]) cube([2,20,3]);
|
|
||||||
translate([3.5,-45.5,24]) cube([2,20,3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module cable_holder()
|
|
||||||
{
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
union()
|
union()
|
||||||
{
|
{
|
||||||
// base block
|
translate([0,5,0]) cylinder(r=10, h=25, $fn=30);
|
||||||
translate([0.5,-26,24]) rotate([0,0,90]) cylinder( h=39.5, r=5, $fn=30 );
|
translate([-3,-9,0]) cube([6,10,25]);
|
||||||
translate([-4.5,-26,24]) cube([10,9,39.5]);
|
|
||||||
translate([-3,-35,24]) cube([7,10,39.5]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// screw
|
translate([0,10,-1]) cylinder(r=6, h=50, $fn=30);
|
||||||
translate([0.5,-27,19.5]) rotate([0,0,90]) cylinder( h=42, r=1.75, $fn=30 );
|
translate([0,0,-1]) cylinder(r=1.6, h=50, $fn=30);
|
||||||
translate([0.5,-27,19.5+41]) rotate([0,0,90]) cylinder( h=5, r=3.15, $fn=30 );
|
translate([3,-5,-1]) cube([10,20.0,50]);
|
||||||
|
translate([-13,-5,-1]) cube([10,20.0,50]);
|
||||||
|
|
||||||
// upper cables cut
|
translate([-10,-18,-1]) rotate([-10,0,0]) cube([20,10,50]);
|
||||||
translate([0.5,-18,23]) rotate([0,5,90]) cylinder( h=41, r=5, $fn=30 );
|
|
||||||
translate([-10,-20,23]) rotate([-5,0,0]) cube([20,9,45]);
|
|
||||||
|
|
||||||
// lower angled cut
|
translate([0,-3.1,3]) rotate([-10,0,0]) zip();
|
||||||
translate([-10,-44,23]) rotate([-4,0,0]) cube([20,9,45]);
|
translate([0,-1.8,10.5]) rotate([-10,0,0]) zip();
|
||||||
|
translate([0,-0.5,18]) rotate([-10,0,0]) zip();
|
||||||
|
|
||||||
// wires
|
translate([-13,-9,-10]) rotate([45,0,0]) cube([30,10.0,10]);
|
||||||
translate([-0.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 );
|
translate([-13,-9,20.5]) rotate([35,0,0]) cube([30,10.0,10]);
|
||||||
translate([1.8,-35,23]) rotate([0,4,90]) cylinder( h=41, r=1.25, $fn=30 );
|
|
||||||
|
|
||||||
|
|
||||||
// ziptie openings
|
|
||||||
translate([0,0,5]) zip_main();
|
|
||||||
translate([0,0,18]) zip_main();
|
|
||||||
translate([0,0,32]) zip_main();
|
|
||||||
translate([0,0,11]) zip_ext_cables();
|
|
||||||
translate([0,0,25]) zip_ext_cables();
|
|
||||||
|
|
||||||
// round edge cut
|
|
||||||
translate([0,1.8,-1.5])
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-10,-32,63]) rotate([0,90,0]) cylinder( h=41, r=4, $fn=30 );
|
|
||||||
translate([-10,-32,63]) rotate([0,90,0]) cylinder( h=41, r=2, $fn=30 );
|
|
||||||
translate([-10,-36,53]) rotate([0,0,0]) cube([20,9,10]);
|
|
||||||
translate([-10,-32,58]) rotate([0,0,0]) cube([20,9,10]);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
cable_holder();
|
|
||||||
|
|
@ -1,383 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Extruder body
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
|
||||||
module m3head()
|
|
||||||
{
|
|
||||||
intersection()
|
|
||||||
{
|
|
||||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
|
|
||||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
|
||||||
}
|
|
||||||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
|
||||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
|
|
||||||
}
|
|
||||||
|
|
||||||
module m3nuthead()
|
|
||||||
{
|
|
||||||
intersection()
|
|
||||||
{
|
|
||||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=6); // head cut
|
|
||||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
|
||||||
}
|
|
||||||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
|
||||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=6); // head cut
|
|
||||||
}
|
|
||||||
|
|
||||||
module grill()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([24,-5,-17]) cylinder( h=17, r=20.4, $fn=50 );
|
|
||||||
translate([24,-5,-21]) cylinder( h=23, r=19, $fn=50 );
|
|
||||||
translate([23,-30,-30]) cube([30,60,32]);
|
|
||||||
translate([-11,-30,-30]) cube([30,60,32]);
|
|
||||||
translate([-19,-20,-30]) cube([60,60,32]);
|
|
||||||
}
|
|
||||||
translate([23,-24.65,-17]) cylinder( h=17, r=0.72, $fn=50 );
|
|
||||||
translate([19,-24.01,-17]) cylinder( h=17, r=0.72, $fn=50 );
|
|
||||||
}
|
|
||||||
|
|
||||||
module pinda_holder()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([-32,-45,-20]) cube([18,15,20]);
|
|
||||||
translate([-26,-18,-3]) cube([9,11,3]);
|
|
||||||
translate([-23,-38,-3]) cube([6,15,3]);
|
|
||||||
}
|
|
||||||
translate([-23,-5,-12]) rotate([90,0,0]) cylinder( h=50, r=4.1, $fn=30 );
|
|
||||||
translate([-35,-38.5,-5]) rotate([0,90,0]) cylinder( h=25, r=1.7, $fn=30 );
|
|
||||||
|
|
||||||
translate([-33,-38.5,-5]) rotate([0,90,0]) cylinder( h=6, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
translate([-35,-52.5,-24]) rotate([0,0,45]) cube([10,10,30]);
|
|
||||||
translate([-36.5,-39,-25]) rotate([0,0,45]) cube([20,10,30]);
|
|
||||||
translate([-11,-36,-26]) rotate([0,0,50]) cube([10,10,23]);
|
|
||||||
translate([-22.5,-30,-20]) rotate([0,0,45]) cube([10,8,23]);
|
|
||||||
translate([-35,-29,-30]) rotate([45,0,0]) cube([30,10,10]);
|
|
||||||
translate([-35,-46,-30]) rotate([45,0,0]) cube([30,10,10]);
|
|
||||||
translate([-41,-52,-19.5]) rotate([0,45,0]) cube([12,30,10]);
|
|
||||||
translate([-12.5,-53,-21]) rotate([0,0,45]) cube([10,10,30]);
|
|
||||||
translate([-10,-54,-25]) rotate([0,0,65]) cube([14.5,10,30]);
|
|
||||||
|
|
||||||
translate([-19.6,-41.5,-8.1]) cube([2.4,6,10]);
|
|
||||||
translate([-24,-48,-10]) cube([1.4,20,12]);
|
|
||||||
translate([-23.7,-48,-10]) rotate([0,-5,0]) cube([1.4,20,12]);
|
|
||||||
translate([-25.5,-48,-0]) rotate([0,45,0]) cube([3,30,3]);
|
|
||||||
|
|
||||||
translate([-17.5,-37,-22]) cube([5,7,5]);
|
|
||||||
|
|
||||||
// hook cut
|
|
||||||
translate([-23,-20,-3.5]) cube([6,8,4.5]);
|
|
||||||
translate([-26,-10,-3.5]) rotate([0,0,45]) cube([5,5,5]);
|
|
||||||
translate([-26,-23,-3.5]) rotate([0,0,45]) cube([5,5,5]);
|
|
||||||
|
|
||||||
translate([-29,-34,-16]) cube([1,1,15]);
|
|
||||||
translate([-29,-43,-16]) cube([1,1,15]);
|
|
||||||
translate([-17,-33,-16]) cube([1,1,15]);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module extruder_body()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// cables hook above fan
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([22.5,-3,-17]) cube([9,8.75,17]);
|
|
||||||
translate([33,-0.0,-21]) rotate([0,0,45]) cube([12,12,22]);
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// base body shape
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([-17,-36.5,-30.5]) cube([42,86.5,30.5]);
|
|
||||||
translate([16,-38.5,-20]) rotate([0,0,45]) cube([3,3,20]);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([22.5,-3,-20]) cube([9,8.75,20]);
|
|
||||||
|
|
||||||
//opening to pulleys from motor side
|
|
||||||
translate([4,27,-33]) rotate([0,0,0]) cylinder( h=40, r=12, $fn=30 );
|
|
||||||
|
|
||||||
// idler cut
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-39,15,-33.5]) cube([44,24,32]);
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-12,5.5,-4.5]) rotate([0,0,30]) cube([12,10,3]);
|
|
||||||
translate([-39,15,-36]) cube([44,24,32]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
translate([-20,9.5,-36.5]) rotate([0,0,30])cube([20,20,32]);
|
|
||||||
translate([-26,29,-36.5]) cube([20,22,32]);
|
|
||||||
translate([-18,24,-36.5]) rotate([0,0,45]) cube([20,20,32]);
|
|
||||||
translate([-26,22,-33.5]) rotate([0,0,45]) cube([20,20,32]);
|
|
||||||
translate([-26,9,-33.5]) rotate([0,0,30]) cube([20,20,32]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// bottom pulley space
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-4,15,-30.5]) cube([26,6.5,30.5]);
|
|
||||||
translate([-8,16.5,-36]) rotate([0,0,45]) cube([10,10,32]);
|
|
||||||
}
|
|
||||||
translate([-8,15,-4]) cube([30,6.5,4]);
|
|
||||||
translate([15.5,-44,-17]) cube([5,8,17]);
|
|
||||||
|
|
||||||
// idler tension screw heads
|
|
||||||
translate([3,18.5,-25]) rotate([0,90,0]) cylinder( h=22, r=3,r2=5, $fn=30 );
|
|
||||||
translate([3,18.5,-10]) rotate([0,90,0]) cylinder( h=22, r=3,r2=5, $fn=30 );
|
|
||||||
|
|
||||||
// filament entry to hotend
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,10.5,-26]) rotate([0,0,45]) cube([9,9,15]);
|
|
||||||
translate([-5,25,-17]) rotate([30,0,0]) cube([10,10,10]);
|
|
||||||
translate([-5,18,-30]) rotate([-45,0,0]) cube([10,10,10]);
|
|
||||||
translate([-13,14,-26]) cube([10,12,20]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// filament entry
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,30.5,-26]) rotate([0,0,45]) cube([12,12,21]);
|
|
||||||
translate([-10,19,-13]) rotate([-40,0,0]) cube([20,10,25]);
|
|
||||||
translate([-5,23,-27]) rotate([-45,0,0]) cube([10,10,10]);
|
|
||||||
translate([-14,30,-29]) cube([10,12,25]);
|
|
||||||
translate([3,30,-29]) cube([10,12,30]);
|
|
||||||
translate([-5,45,-29]) cube([10,12,25]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
translate([4,27,-33]) rotate([0,0,0]) cylinder( h=4, r=15, $fn=30 );
|
|
||||||
translate([4,27,-32]) rotate([0,0,0]) cylinder( h=4, r=13, $fn=30 );
|
|
||||||
|
|
||||||
// side entry to pulleys
|
|
||||||
translate([5,32,-18]) rotate([0,90,0]) cylinder( h=40, r=8, $fn=6 );
|
|
||||||
translate([18,32,-18]) rotate([0,90,0]) cylinder( h=10, r1=8, r2=11, $fn=6 );
|
|
||||||
|
|
||||||
// cover cutout
|
|
||||||
translate([-18,-39,-49]) cube([44,45,32]);
|
|
||||||
|
|
||||||
|
|
||||||
// hotend cooling tube input
|
|
||||||
translate([12,-21.5,-20]) rotate([0,90,0]) cylinder( h=10, r2=20.5, r1=12, $fn=80 );
|
|
||||||
translate([1,-20.5,-20.5]) rotate([0,84,0]) cylinder( h=25, r2=17.5, r1=12, $fn=80 );
|
|
||||||
translate([-10,-35,-40.55]) cube([30,26,32]);
|
|
||||||
translate([0,-35,-38.8]) cube([20,14,32]);
|
|
||||||
|
|
||||||
// hotend cooling tube OUTPUT
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-28,-35,-34]) rotate([0,15,0]) cube([44,26,32]);
|
|
||||||
translate([-18,-53.5,-30]) rotate([0,0,65]) cube([20,20,32]);
|
|
||||||
}
|
|
||||||
translate([-10,-35,-17.5]) rotate([0,0,0]) cube([10,26,12]);
|
|
||||||
|
|
||||||
// e3d nozzle cut
|
|
||||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=60, r=11.1, $fn=50 );
|
|
||||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=26, r=11.5, $fn=50 );
|
|
||||||
translate([0,-3.4,-17]) rotate([90,0,0]) cylinder( h=10, r=8.05, $fn=50 );
|
|
||||||
translate([0,8,-17]) rotate([90,0,0]) cylinder( h=5.6, r=8.05, $fn=50 );
|
|
||||||
translate([0,8.9,-17]) rotate([90,0,0]) cylinder( h=3, r=9, $fn=50 );
|
|
||||||
translate([0,4,-17]) rotate([90,0,0]) cylinder( h=8, r=6.05, $fn=50 );
|
|
||||||
translate([0,2.5,-17]) rotate([90,0,0]) cylinder( h=2, r1=8.05, r2=7, $fn=50 );
|
|
||||||
|
|
||||||
// filament PTFE and entry from hotend
|
|
||||||
translate([0,10,-17]) rotate([90,0,0]) cylinder( h=10, r=3.5, $fn=50 );
|
|
||||||
translate([0,30,-17]) rotate([90,0,0]) cylinder( h=80, r=2.1, $fn=50 );
|
|
||||||
translate([0,18,-17]) rotate([90,0,0]) cylinder( h=12, r1=2, r2=4.3, $fn=50 );
|
|
||||||
translate([0,16,-17]) rotate([110,0,0]) cylinder( h=13, r1=2, r2=4, $fn=50 );
|
|
||||||
translate([0,16,-17]) rotate([100,0,0]) cylinder( h=13, r1=2, r2=4, $fn=50 );
|
|
||||||
translate([0,80,-17]) rotate([90,0,0]) cylinder( h=80, r=1.0, $fn=50 );
|
|
||||||
|
|
||||||
// upper PTFE housing
|
|
||||||
translate([0,50.5,-17]) rotate([90,0,0]) cylinder( h=4, r=2.1, $fn=50 );
|
|
||||||
translate([0,49,-17]) rotate([90,0,0]) cylinder( h=4.5, r=1.5, $fn=50 );
|
|
||||||
translate([0,51,-17]) rotate([90,0,0]) cylinder( h=22, r=1.1, $fn=50 );
|
|
||||||
translate([0,41,-17]) rotate([90,0,0]) cylinder( h=5, r1=2, r2=1, $fn=50 );
|
|
||||||
translate([1,46.5,-17.5]) cube([2,4,1]);
|
|
||||||
translate([1,48,-17.5]) rotate([-30,0,0]) cube([2,4,1]);
|
|
||||||
translate([0,10,-17]) rotate([90,0,0]) cylinder( h=3, r=7, $fn=50 );
|
|
||||||
|
|
||||||
// motor screws
|
|
||||||
translate([-11.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.7, $fn=30 );
|
|
||||||
translate([19.5,11.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.7, $fn=30 );
|
|
||||||
translate([-11.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.65, $fn=30 );
|
|
||||||
translate([19.5,42.5,-40]) rotate([0,0,0]) cylinder( h=60, r=1.7, $fn=30 );
|
|
||||||
|
|
||||||
translate([-11.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=30 );
|
|
||||||
translate([19.5,11.5,-3.75]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=30 );
|
|
||||||
translate([-11.5,42.5,-3]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=30 );
|
|
||||||
translate([19.5,42.5,-4.5]) rotate([0,0,0]) cylinder( h=5, r1=1.7,r2=2.3, $fn=30 );
|
|
||||||
|
|
||||||
// better printing
|
|
||||||
translate([-10.5,6.5,-17]) m3head();
|
|
||||||
translate([-41.5,6.5,-17]) m3head();
|
|
||||||
translate([-41.5,37.5,-16.2]) m3head();
|
|
||||||
translate([-13,-2,-26]) m3nuthead();
|
|
||||||
|
|
||||||
translate([-8,16.5,-33.5]) rotate([0,0,45]) cube([10,10,32]);
|
|
||||||
translate([-18,16.5,-33.5]) cube([10,10,32]);
|
|
||||||
|
|
||||||
// hold together screws
|
|
||||||
translate([-20.5,-3.2,-14]) cube([12,5.6,2.1]);
|
|
||||||
translate([-20.5,-3.2,-5]) cube([12,5.6,2.1]);
|
|
||||||
translate([-20.5,-2,-14.3]) cube([12,3,2.3]);
|
|
||||||
translate([-20.5,-2,-5.3]) cube([12,3,2.3]);
|
|
||||||
|
|
||||||
translate([-11.5,-0.5,-35]) cylinder( h=65, r=1.7, $fn=30 );
|
|
||||||
translate([-11.5,-0.5,-2]) cylinder( h=5, r1=1.7, r2=2.2,$fn=30 );
|
|
||||||
translate([11.5,-0.5,-30]) cylinder( h=60, r=1.7, $fn=30 );
|
|
||||||
translate([11.5,-0.5,-2]) cylinder( h=5, r1=1.7, r2=2.2,$fn=30 );
|
|
||||||
|
|
||||||
translate([11.5,-0.5,-16]) cylinder( h=5, r1=3.5, r2=3.1, $fn=6 );
|
|
||||||
translate([11.5,-0.5,-21]) cylinder( h=7, r=3.5, $fn=6 );
|
|
||||||
|
|
||||||
|
|
||||||
// idler tension screws
|
|
||||||
translate([9,18.5,-25]) rotate([0,90,0]) cylinder( h=21, r=2.7, $fn=30 );
|
|
||||||
translate([-18,18.5,-25]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
|
|
||||||
translate([19,18.5,-25]) rotate([0,90,0]) cylinder( h=10, r=4, $fn=30 );
|
|
||||||
translate([9,18.5,-10]) rotate([0,90,0]) cylinder( h=21, r=2.7, $fn=30 );
|
|
||||||
translate([-18,18.5,-10]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
|
|
||||||
translate([19,18.5,-10]) rotate([0,90,0]) cylinder( h=10, r=4, $fn=30 );
|
|
||||||
|
|
||||||
// fan cut and screws
|
|
||||||
translate([20.5,-41.5,-30]) cube([15,40,40]);
|
|
||||||
translate([6,-5.5,-4]) rotate([0,90,0]) cylinder( h=15, r=1.4, $fn=30 );
|
|
||||||
translate([12,-37.5,-4]) rotate([0,90,0]) cylinder( h=10, r=1.4, $fn=30 );
|
|
||||||
translate([12,-37.5,-4]) rotate([0,90,0]) cylinder( h=3, r=1.6, $fn=30 );
|
|
||||||
translate([19,-5.5,-4]) rotate([0,90,0]) cylinder( h=2, r1=1.4,r2=2, $fn=30 );
|
|
||||||
translate([19,-37.5,-4]) rotate([0,90,0]) cylinder( h=2, r1=1.4,r2=2, $fn=30 );
|
|
||||||
|
|
||||||
// extruder cover nut
|
|
||||||
translate([17,3,-25]) rotate([0,0,0]) cylinder( h=19, r=1.7, $fn=30 );
|
|
||||||
translate([17,3,-5]) rotate([0,0,0]) cylinder( h=6, r=3.5, $fn=6 );
|
|
||||||
translate([17,3,-10]) rotate([0,0,0]) cylinder( h=6, r1=3.1, r2=3.6, $fn=6 );
|
|
||||||
|
|
||||||
// cable guide above fan
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([20.5,-2.5,-25]) cube([4,5,30]);
|
|
||||||
translate([19,-1.5,-25]) rotate([0,0,60]) cube([5,5,30]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// corners
|
|
||||||
translate([25,43,-40]) rotate([0,0,45]) cube([10,10,50]);
|
|
||||||
translate([-18,43,-40]) rotate([0,0,45]) cube([10,10,50]);
|
|
||||||
|
|
||||||
|
|
||||||
// filament senzor
|
|
||||||
translate([2.5,40,-25.2]) cube([3,11,22.4]);
|
|
||||||
|
|
||||||
|
|
||||||
translate([6.5,51,-3.9]) rotate([90,0,0]) cylinder( h=11, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([3.5,40,-7]) cube([6,11,12]);
|
|
||||||
translate([6,40,-7]) rotate([0,45,0]) cube([5,12,12]);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([3.5,40,-10.5]) rotate([0,-45,0]) cube([2,12,5]);
|
|
||||||
|
|
||||||
translate([0,40,-7]) cube([4,11,5]);
|
|
||||||
translate([1.5,40,-25.2]) cube([4,11,5]);
|
|
||||||
translate([1.8,40,-21]) cube([4,11,8]);
|
|
||||||
|
|
||||||
translate([0,52.3,-21]) rotate([50,0,0]) cube([4,2,5]);
|
|
||||||
|
|
||||||
// filament senzor mounting screw
|
|
||||||
translate([3,45,-9]) rotate([0,90,0]) cylinder( h=12, r=1.4, $fn=30 );
|
|
||||||
translate([5,45,-9]) rotate([0,90,0]) cylinder( h=4, r=1.6, r2=1.5, $fn=30 );
|
|
||||||
translate([8.5,45,-9]) rotate([0,90,0]) cylinder( h=1, r=1.6, r2=1.4, $fn=30 );
|
|
||||||
|
|
||||||
translate([-7,45,-9]) rotate([0,90,0]) cylinder( h=13, r=1.4, $fn=30 );
|
|
||||||
translate([-10,45,-9]) rotate([0,90,0]) cylinder( h=13, r=3.3, $fn=30 );
|
|
||||||
|
|
||||||
// filament sensor cover screws
|
|
||||||
translate([12,51,-12]) rotate([90,0,0]) cylinder( h=10, r=1.4, $fn=30 );
|
|
||||||
translate([12,51,-12]) rotate([90,0,0]) cylinder( h=4, r1=1.9, r2=1.4,$fn=30 );
|
|
||||||
|
|
||||||
translate([-1,51,-24.5]) rotate([90,0,0]) cylinder( h=10, r=1.4, $fn=30 );
|
|
||||||
translate([-1,51,-24.5]) rotate([90,0,0]) cylinder( h=4, r1=1.9, r2=1.4,$fn=30 );
|
|
||||||
|
|
||||||
// filament sensor window
|
|
||||||
translate([-9.5,43,-17]) rotate([0,90,0]) cylinder( h=13, r=3, $fn=30 );
|
|
||||||
translate([3.5,38,-1]) cube([5,11,2]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
pinda_holder();
|
|
||||||
translate([5.5,40,-14]) cube([4,10,1]);
|
|
||||||
translate([5.5,40,-13]) rotate([0,45,0]) cube([2,10,2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module final_part()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
extruder_body();
|
|
||||||
translate([-35,-29,-30]) rotate([45,0,0]) cube([30,10,10]);
|
|
||||||
|
|
||||||
//version
|
|
||||||
translate([-4,-34,-0.4]) rotate([0,0,0]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
|
|
||||||
// selective infill
|
|
||||||
translate([-15,-7,-16]) cube([5,0.4,15]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// print supports
|
|
||||||
translate([-28,-35,-0.3]) cube([8,4,0.3]);
|
|
||||||
translate([-28,-44,-0.3]) cube([8,4,0.3]);
|
|
||||||
|
|
||||||
// grill
|
|
||||||
translate([-35.25,10,0]) grill();
|
|
||||||
translate([-35.25,0,0]) grill();
|
|
||||||
translate([-16.5,-34,-12]) cube([4,30,1]);
|
|
||||||
translate([-16.5,-6,-11.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
|
||||||
translate([-12.5,-6,-11.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
final_part();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,148 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Extruder cover
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module m3head()
|
|
||||||
{
|
|
||||||
intersection()
|
|
||||||
{
|
|
||||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
|
|
||||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
|
||||||
}
|
|
||||||
translate([30,5,17-4]) cube([3.4,3.4,1], center=true);
|
|
||||||
translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut
|
|
||||||
}
|
|
||||||
|
|
||||||
module grill()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([24,-5,-20]) cylinder( h=23, r=20.4, $fn=50 );
|
|
||||||
translate([24,-5,-21]) cylinder( h=26, r=19, $fn=50 );
|
|
||||||
translate([23,-30,-30]) cube([30,60,35]);
|
|
||||||
translate([-11,-30,-30]) cube([30,60,35]);
|
|
||||||
translate([-19,-20,-30]) cube([60,60,35]);
|
|
||||||
}
|
|
||||||
translate([23,-24.65,-20]) cylinder( h=23, r=0.72, $fn=50 );
|
|
||||||
translate([19,-24.01,-20]) cylinder( h=23, r=0.72, $fn=50 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
translate([-35.25,10,-20]) grill();
|
|
||||||
translate([-35.25,0,-20]) grill();
|
|
||||||
// horizontal fins
|
|
||||||
translate([-16.5,-35,-25]) cube([4,31,1]);
|
|
||||||
translate([-16.5,-6,-24.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
|
||||||
translate([-12.5,-6,-24.5]) rotate([90,0,0]) cylinder( h=30, r=0.5, $fn=50 );
|
|
||||||
|
|
||||||
|
|
||||||
module extruder_cover()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// base block
|
|
||||||
translate([-17,-36.5,-40.0]) cube([41.5,42.25,23.0]);
|
|
||||||
translate([-37.75,-38.5,-40]) rotate([0,0,0]) cylinder( h=5, r=5.9, $fn=6 );
|
|
||||||
translate([-34,-41.5,-40]) rotate([0,0,20]) cube([30,8,4]);
|
|
||||||
translate([16,-38.5,-40]) rotate([0,0,45]) cube([3,3,23]);
|
|
||||||
|
|
||||||
// fan nozzle mount
|
|
||||||
translate([11.5,-44,-40]) cube([7,9,7]);
|
|
||||||
translate([15.5,-44,-40]) cube([5,9,23]);
|
|
||||||
translate([-15,-44,-40]) cube([6.2,17,6]);
|
|
||||||
translate([-11,-44,-40]) cube([28,20,1]);
|
|
||||||
|
|
||||||
// cable guide above fan
|
|
||||||
translate([23.5,-1.5,-40]) cube([8,7.25,23]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// side fan cut
|
|
||||||
translate([20.5,-37.5,-41]) cube([20,36,30]);
|
|
||||||
|
|
||||||
// cables hook
|
|
||||||
translate([34,-1.0,-41]) rotate([0,0,45]) cube([10,10,25]);
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([20.5,-2.5,-41]) cube([4,5,25]);
|
|
||||||
translate([20.0,-0.5,-41]) rotate([0,0,60]) cube([5,5,25]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// e3d nozzle cut
|
|
||||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=30, r=11.1, $fn=50 );
|
|
||||||
translate([0,-9,-17]) rotate([90,0,0]) cylinder( h=26, r=11.5, $fn=50 );
|
|
||||||
translate([0,-3.4,-17]) rotate([90,0,0]) cylinder( h=10, r=8.05, $fn=50 );
|
|
||||||
translate([0,8,-17]) rotate([90,0,0]) cylinder( h=5.6, r=8.05, $fn=50 );
|
|
||||||
translate([0,4,-17]) rotate([90,0,0]) cylinder( h=8, r=6.05, $fn=50 );
|
|
||||||
|
|
||||||
|
|
||||||
// hotend cooling tube
|
|
||||||
// input
|
|
||||||
translate([12,-21.5,-20]) rotate([0,90,0]) cylinder( h=10, r2=20.5, r1=12, $fn=80 );
|
|
||||||
translate([1,-20.5,-15.5]) rotate([0,99,0]) cylinder( h=25, r2=17.5, r1=12, $fn=80 );
|
|
||||||
translate([-10,-35,-28.3]) cube([30,26,32]);
|
|
||||||
|
|
||||||
// output
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-17.2,-35,-36]) rotate([0,-23,0]) cube([44,26,32]);
|
|
||||||
translate([-18,-53.5,-40]) rotate([0,0,65]) cube([20,20,32]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// fan screws
|
|
||||||
translate([7,-37.5,-36]) rotate([0,90,0]) cylinder( h=14, r=1.4, $fn=30 );
|
|
||||||
translate([7,-5.5,-36]) rotate([0,90,0]) cylinder( h=14, r=1.4, $fn=30 );
|
|
||||||
translate([19,-37.5,-36]) rotate([0,90,0]) cylinder( h=2, r1=1.4, r2=2, $fn=30 );
|
|
||||||
translate([19,-5.5,-36]) rotate([0,90,0]) cylinder( h=2, r1=1.4, r2=2, $fn=30 );
|
|
||||||
|
|
||||||
// left hold together screw
|
|
||||||
translate([17,3,-44]) rotate([0,0,0]) cylinder( h=40, r=1.6, $fn=30 );
|
|
||||||
translate([17,3,-41]) rotate([0,0,0]) cylinder( h=8, r=3.1, $fn=30 );
|
|
||||||
translate([13.9,3.1,-41]) cube([6.2,10,9]);
|
|
||||||
|
|
||||||
// right hold together screw
|
|
||||||
translate([-11.5,-0.5,-43]) cylinder( h=60, r=1.7, $fn=30 );
|
|
||||||
translate([-11.5,-0.5,-41]) cylinder( h=5, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
// upper cooling fan screw
|
|
||||||
translate([5.5,-0.5,-40]) cylinder( h=15, r=1.7, $fn=30 );
|
|
||||||
translate([5.5,-0.5,-42]) cylinder( h=3, r1=3, r2=1.7, $fn=30 );
|
|
||||||
|
|
||||||
// nuts
|
|
||||||
translate([2.8,-4,-39]) cube([5.6,15,2.1]);
|
|
||||||
translate([2.8,-2.2,-39]) cube([5.6,3.4,2.5]);
|
|
||||||
translate([3.8,-2.2,-39]) cube([3.4,3.4,2.9]);
|
|
||||||
translate([2.8,5.4,-38.4]) rotate([45,0,0]) cube([5.6,10,2]);
|
|
||||||
|
|
||||||
// lower cooling fan screw
|
|
||||||
translate([-37.75,-38.5,-42]) cylinder( h=20, r=1.7, $fn=30 );
|
|
||||||
translate([-37.75,-38.5,-39.4]) cylinder( h=4, r=3.2, $fn=6 );
|
|
||||||
translate([-37.75,-38.5,-37.5]) cylinder( h=3, r1=3.2, r2=4.0, $fn=6 );
|
|
||||||
|
|
||||||
// nozzle screw
|
|
||||||
translate([14.5,-40.5,-42]) cylinder( h=10, r=1.4, $fn=30 );
|
|
||||||
translate([14.5,-40.5,-41]) cylinder( h=3, r1=2.1, r2=1.4, $fn=30 );
|
|
||||||
|
|
||||||
// fan and motor cables
|
|
||||||
translate([21.5,-5.9,-41]) cube([3,5,25]);
|
|
||||||
translate([20.5,-5.9,-41]) cube([4,5,25]);
|
|
||||||
translate([13.2,-49.5,-33]) rotate([0,0,20]) cube([6,10,25]);
|
|
||||||
|
|
||||||
translate([18.5,-5.5,-22]) rotate([0,180,0]) m3head();
|
|
||||||
translate([47,-2,-19]) rotate([0,180,0]) m3head();
|
|
||||||
|
|
||||||
|
|
||||||
//version
|
|
||||||
translate([-3,-36,-38]) rotate([90,0,0]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extruder_cover();
|
|
||||||
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Extruder idler plug
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module plug()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// Base shape
|
|
||||||
translate([-17,43,-18.5]) rotate([90,0,90]) cylinder( h=10, r=2.8, $fn=30 );
|
|
||||||
translate([-17,43,-21.3]) cube([10,4+3.5,5.6]);
|
|
||||||
translate([-17,43+3,-21.3]) cube([10.6,4.5,5.6]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Motor screw slot
|
|
||||||
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.5, $fn=30 );
|
|
||||||
translate([-11.5-1.5,42.5-5,-25]) cube([3,5,10]);
|
|
||||||
|
|
||||||
// Pretty corner
|
|
||||||
translate([-18,47,-32]) rotate([0,0,30]) cube([15,10,30]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rotate([0,0,0])
|
|
||||||
{
|
|
||||||
plug();
|
|
||||||
}
|
|
||||||
|
|
@ -1,89 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Extruder idler
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
|
||||||
module part()
|
|
||||||
{
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// base shape
|
|
||||||
translate([-11.5,42.5,-31.5]) cylinder( h=25, r=5, $fn=30 );
|
|
||||||
translate([-17,12,-31.5]) cube([8,34,25.0]);
|
|
||||||
|
|
||||||
// pulley holders
|
|
||||||
translate([-4,27,-22.75]) cylinder( h=1, r1=4, r2=3, $fn=30 );
|
|
||||||
translate([-4,27,-27]) cylinder( h=4.25, r=4, $fn=30 );
|
|
||||||
translate([-14,22,-26.75]) cube([10.5,10,4]);
|
|
||||||
translate([-16.5,22,-6.5]) cube([13,10,3]);
|
|
||||||
translate([-4,27,-6.5]) cylinder( h=3, r=4, $fn=30 );
|
|
||||||
translate([-4,27,-7.25]) cylinder( h=0.75, r1=3, r2=4, $fn=30 );
|
|
||||||
}
|
|
||||||
|
|
||||||
// motor rim cut
|
|
||||||
translate([7,27,-32.75]) cylinder( h=6, r=18, $fn=30 );
|
|
||||||
|
|
||||||
// axis
|
|
||||||
translate([-4,27,-32]) cylinder( h=40, r=1.5, $fn=30 );
|
|
||||||
|
|
||||||
translate([-11.5,42.5,-32]) cylinder( h=30, r=1.7, $fn=30 );
|
|
||||||
translate([-18,44,-32]) rotate([0,0,30]) cube([15,10,30]);
|
|
||||||
translate([-18,47,-32]) cube([15,10,30]);
|
|
||||||
translate([-16,0.5,-32]) rotate([0,0,30]) cube([15,10,30]);
|
|
||||||
translate([-18,3,-33]) cube([15,10,30]);
|
|
||||||
|
|
||||||
// idler nuts
|
|
||||||
translate([-15,15.6,-39.4]) cube([2.1,5.8,16]);
|
|
||||||
translate([-15,15.6,-14.6]) cube([2.1,5.8,16]);
|
|
||||||
|
|
||||||
// idler screws
|
|
||||||
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
|
|
||||||
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=45, r=1.7, $fn=30 );
|
|
||||||
translate([-18,18.5,-26.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=30 );
|
|
||||||
translate([-18,18.5,-11.5]) rotate([0,90,0]) cylinder( h=2.5, r1=3, r2=1.7, $fn=30 );
|
|
||||||
|
|
||||||
translate([-12,18.5,-26.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=30 );
|
|
||||||
translate([-12,18.5,-11.5]) rotate([0,90,0]) cylinder( h=4, r1=1.7, r2=2.2, $fn=30 );
|
|
||||||
|
|
||||||
translate([-5.3,16.2,-33]) rotate([0,0,30]) cube([5,5,40]);
|
|
||||||
translate([-7.8,33.5,-33]) rotate([0,0,-30]) cube([5,5,40]);
|
|
||||||
|
|
||||||
translate([-18,29,-17.6]) rotate([90,0,0]) rotate([0,90,0]) cylinder( h=10, r1=9, r2=6, $fn=6 );
|
|
||||||
|
|
||||||
// nice edges
|
|
||||||
translate([-26,10,-2]) rotate([0,45,0]) cube([10,40,10]);
|
|
||||||
translate([-26,10,-35.5]) rotate([0,45,0]) cube([10,40,10]);
|
|
||||||
translate([-10,2,-35]) cube([20,20,50]);
|
|
||||||
|
|
||||||
//selective infill
|
|
||||||
translate([-11,24,-5]) cube([5,6,0.2]);
|
|
||||||
translate([-11,24,-26]) cube([5,6,0.2]);
|
|
||||||
|
|
||||||
// filament sensor cleaning window
|
|
||||||
translate([-20,43,-18.5]) rotate([90,0,90]) cylinder( h=15, r=3, $fn=30 );
|
|
||||||
translate([-20,43,-21.5]) cube([21,10,6]);
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// side cut
|
|
||||||
translate([-17,22,-8]) cube([4,17,4.5]);
|
|
||||||
translate([-9.5,33,-9]) rotate([0,0,45]) cube([10,10,6]);
|
|
||||||
|
|
||||||
// side cut edges
|
|
||||||
translate([-26,10,1]) rotate([0,45,0]) cube([10,40,10]);
|
|
||||||
translate([-22.5,14,-10]) rotate([0,0,45]) cube([10,10,10]);
|
|
||||||
translate([-22.5,33,-10]) rotate([0,0,45]) cube([10,10,10]);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([-11.5,28,-8]) rotate([0,0,45]) cube([3,6,4.5]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
rotate([0,90,0]) part();
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Filament sensor cover
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module part()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// base shape
|
|
||||||
translate([-6,50,-30.5]) cube([24,3,36]);
|
|
||||||
translate([0,60,-17]) rotate([90,0,0]) cylinder(r=4.2,h = 10, $fn=30);
|
|
||||||
translate([0,61.5,-17]) rotate([90,0,0]) cylinder(r1=3, r2=4.2, h=1.5, $fn=30);
|
|
||||||
}
|
|
||||||
|
|
||||||
// mounting screws
|
|
||||||
translate([12,60,-12]) rotate([90,0,0]) cylinder(r=1.6,h = 20, $fn=30);
|
|
||||||
translate([-1,60,-24.5]) rotate([90,0,0]) cylinder(r=1.6,h = 20, $fn=30);
|
|
||||||
|
|
||||||
translate([12,54.5,-12]) rotate([90,0,0]) cylinder(r=3.1,h = 3, $fn=30);
|
|
||||||
translate([-1,54.5,-24.5]) rotate([90,0,0]) cylinder(r=3.1,h = 3, $fn=30);
|
|
||||||
|
|
||||||
// filament guide
|
|
||||||
translate([0,59.8,-17]) rotate([90,0,0]) cylinder(r=2.2,h = 9.8, $fn=30);
|
|
||||||
translate([0,61,-17]) rotate([90,0,0]) cylinder(r=1,h = 20, $fn=30);
|
|
||||||
translate([0,62.5,-17]) rotate([90,0,0]) cylinder(r2=1.2, r1=3,h = 3, $fn=30);
|
|
||||||
translate([0,53.9,-17]) rotate([90,0,0]) cylinder(r1=2.2, r2=3,h = 4, $fn=30);
|
|
||||||
|
|
||||||
|
|
||||||
// nice edges
|
|
||||||
translate([19,50,-40]) rotate([0,0,45]) cube([10,10,50]);
|
|
||||||
translate([-9,49,-38]) rotate([0,0,45]) cube([6,5,50]);
|
|
||||||
translate([-8,56.5,-39]) rotate([45,0,0]) cube([50,10,10]);
|
|
||||||
translate([-8,56.5,-1]) rotate([45,0,0]) cube([50,10,10]);
|
|
||||||
|
|
||||||
|
|
||||||
translate([7,50.4,0]) rotate([90,180,0]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
rotate([90,0,0]) part();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,95 +1,225 @@
|
||||||
// PRUSA iteration4
|
// PRUSA iteration4
|
||||||
// Heatbed cable cover
|
// Heatbed cover MK2.5
|
||||||
// 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
|
||||||
// http://prusamendel.org
|
// http://prusamendel.org
|
||||||
|
|
||||||
|
|
||||||
module cover()
|
module cover()
|
||||||
{
|
{
|
||||||
translate([ -17.5, 0, 0 ]) cube([ 35, 21, 8 ]); // cover
|
|
||||||
translate([ -7, 19, 0 ]) cube([ 3, 6.5, 3 ]); // tube reinforcement
|
|
||||||
translate([ 4, 19, 0 ]) cube([ 3, 6.5, 3 ]); // tube reinforcement
|
|
||||||
translate( [ 0 , 32 , 3 ] ) rotate( [90,0,0] ) cylinder( h = 12, r = 7, $fn=6); // cable tube outer
|
|
||||||
}
|
|
||||||
|
|
||||||
module inside_cut()
|
|
||||||
{
|
|
||||||
translate([ -15, -1, -1 ]) cube( [30,20,5] ); // inside cut
|
|
||||||
translate([ -14, 2, 4 ]) cube( [28,17,2.5 ] ); // inside cut
|
|
||||||
|
|
||||||
translate( [ 0 , 32 , 2 ] ) rotate( [90,0,0] ) cylinder( h = 16, r = 4.5, $fn=30); // cable tube inner
|
|
||||||
|
|
||||||
translate([ -14, 10, -5 ]) cube( [28,25,5 ] ); // inside cut
|
|
||||||
translate([ -14, 10, 8 ]) cube( [28,25,3 ] ); // inside cut
|
|
||||||
|
|
||||||
translate([ -2.5, -6, 1 ]) rotate([15,0,0]) cube( [5,10,3 ] ); // LED
|
|
||||||
|
|
||||||
translate([ -22, -5, 7 ]) rotate([0,25,0]) cube( [5,40,6 ] ); // corners
|
|
||||||
translate([ 15, -5, 9 ]) rotate([0,60,0]) cube( [6,40,5 ] ); // corners
|
|
||||||
translate([ 20, -5, 7 ]) rotate([0,25,90]) cube( [5,40,5 ] ); // corners
|
|
||||||
|
|
||||||
translate([ 15, -5, -1 ]) rotate([0,0,45]) cube( [5,5,5 ] ); // corners
|
|
||||||
translate([ -15, -5, -1 ]) rotate([0,0,45]) cube( [5,5,5 ] ); // corners
|
|
||||||
|
|
||||||
|
|
||||||
translate([ 8, 13, -10]) rotate([0,-45,45]) cube( [10,10,10 ] ); // corners
|
|
||||||
translate([ -8, 13, -10]) rotate([0,-45,-45]) cube( [10,10,10 ] ); // corners
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module ziptie()
|
|
||||||
{
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate( [ 0 , 29 , 3 ] ) rotate( [90,0,0] ) cylinder( h = 3.5, r = 10, $fn=30); // cable tube outer
|
|
||||||
translate( [ 0 , 29 , 3 ] ) rotate( [90,0,0] ) cylinder( h = 3.5, r = 5.8, $fn=30); // cable tube outer
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module filament_holder()
|
|
||||||
|
|
||||||
|
// base block
|
||||||
|
translate([-18,0,0]) cube([36,36,9]);
|
||||||
|
|
||||||
|
// inner cut
|
||||||
|
translate([-15,-0.5,-3]) cube([30,16,9]);
|
||||||
|
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60);
|
||||||
|
translate([-15,15,-6]) cube([30,22,9]);
|
||||||
|
|
||||||
|
// inner edges
|
||||||
|
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||||
|
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||||
|
|
||||||
|
translate([2.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
|
||||||
|
translate([-10.5,15,0]) rotate([0,0,0]) cube([8,8,6]);
|
||||||
|
|
||||||
|
translate([6.96,19.45,0]) rotate([0,0,45]) cube([5,10,6]);
|
||||||
|
translate([-6.96,19.45,0]) rotate([0,0,45]) cube([10,5,6]);
|
||||||
|
|
||||||
|
translate([3.96,18.45,0]) rotate([0,0,20]) cube([5,6,6]);
|
||||||
|
translate([-3.96,18.45,0]) rotate([0,0,70]) cube([6,5,6]);
|
||||||
|
|
||||||
|
|
||||||
|
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 21, r=4, $fn=60);
|
||||||
|
|
||||||
|
translate([2,14,-1]) rotate([0,0,10]) cube([8,13,6]);
|
||||||
|
translate([-9.88,15.21,-1]) rotate([0,0,-10]) cube([8,13,6]);
|
||||||
|
|
||||||
|
// outer edges
|
||||||
|
translate([-18.0,32,-1]) rotate([0,0,25]) cube([11,11,11]);
|
||||||
|
translate([18,32,-1]) rotate([0,0,65]) cube([11,11,11]);
|
||||||
|
|
||||||
|
// screw holes for clip
|
||||||
|
translate([-11,30,0]) cylinder(h = 10, r=1.6, $fn=50);
|
||||||
|
translate([11,30,0]) cylinder(h = 10, r=1.6, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
// clip nuts entry
|
||||||
|
translate([-11,30,8]) rotate([0,0,30]) cylinder(h = 4, r1=3.15, r2=5, $fn=6);
|
||||||
|
translate([11,30,8]) rotate([0,0,-30]) cylinder(h = 4, r1=3.15, r2=5, $fn=6);
|
||||||
|
|
||||||
|
// heatbed terminal screw pockets
|
||||||
|
|
||||||
|
translate([8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
|
||||||
|
translate([-8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50);
|
||||||
|
|
||||||
|
|
||||||
|
// clip nuts with print supports
|
||||||
|
difference()
|
||||||
{
|
{
|
||||||
difference(){
|
union()
|
||||||
translate([ -3.5,15, 2 ]) rotate([0,0,0]) cube( [7,7,6 ] ); // body ;
|
|
||||||
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([ -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,4 ] ); // corners ; previous cube( [3,15,3 ] )
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module m3_screw()
|
|
||||||
{
|
{
|
||||||
|
translate([-11,30,5.4]) rotate([0,0,30]) cylinder(h = 4, r=3.15, $fn=6);
|
||||||
translate( [ 0 , 7.5 , 6 ] ) rotate( [0,0,90] ) cylinder( h = 2.5, r = 3.3, $fn=6); // M3 HEAD
|
translate([11,30,5.4]) rotate([0,0,-30]) cylinder(h = 4, r=3.15, $fn=6);
|
||||||
translate( [ 0 , 7.5 , 7.8] ) rotate( [0,0,90] ) cylinder( h = 0.8, r1 = 3.3, r2=5, $fn=6); // M3 HEAD
|
|
||||||
translate( [ 0 , 7.5 , -10 ] ) rotate( [0,0,0] ) cylinder( h = 20, r = 1.5, $fn=30); // M3 thread
|
|
||||||
}
|
}
|
||||||
|
translate([-9.4,4,0]) cube([18.8,40,5.7]);
|
||||||
|
translate([-17.6,4,0]) cube([5,40,5.7]);
|
||||||
|
translate([12.6,4,0]) cube([5,40,5.7]);
|
||||||
|
translate([-22,18.4,0]) cube([70,10,6]);
|
||||||
|
translate([-20,31.6,0]) cube([70,10,6]);
|
||||||
|
|
||||||
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 ] ) rotate( [0,0,0] ) cylinder( h = 1, r = 3, $fn=30);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
union()
|
union()
|
||||||
{
|
{
|
||||||
|
translate([0,7.5,5.7]) cylinder(h = 4, r=3.15, $fn=60);
|
||||||
|
}
|
||||||
|
translate([-11.6,0,0.9]) cube([10,40,5.7]);
|
||||||
|
translate([1.6,0,0.9]) cube([10,40,5.7]);
|
||||||
|
translate([-5,-4.1,0.9]) cube([10,10,6]);
|
||||||
|
translate([-5,9.1,0.9]) cube([10,10,6]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// heatbed screw
|
||||||
|
translate([0,7.5,8]) cylinder(h = 4, r1=2.75, r2=5, $fn=50);
|
||||||
|
translate([0,7.5,3]) cylinder(h = 4, r=1.6, $fn=50);
|
||||||
|
|
||||||
|
// LED window
|
||||||
|
translate([-2.5,-1,-4]) cube([5,3.5,10]);
|
||||||
|
translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||||
|
translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]);
|
||||||
|
|
||||||
|
// edges
|
||||||
|
translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]);
|
||||||
|
translate([-23.3,-1,9.7]) rotate([0,45,0]) cube([6,45,6]);
|
||||||
|
translate([14.8,-1,9.7]) rotate([0,45,0]) cube([6,45,5]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// heatbed pcb support
|
||||||
|
translate([-17,0,4]) cube([3,20,2]);
|
||||||
|
translate([14,0,4]) cube([3,20,2]);
|
||||||
|
translate([-17,0,4]) cube([14,2,2]);
|
||||||
|
translate([3,0,4]) cube([14,2,2]);
|
||||||
|
|
||||||
|
|
||||||
|
// heatbed screw body
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 4, r=2.75, $fn=50);
|
||||||
|
translate([0,7.5,6.3]) cylinder(h = 4, r=2.76, $fn=50);
|
||||||
|
translate([0,7.5,3]) cylinder(h = 4, r=1.6, $fn=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module clip()
|
||||||
|
{
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
// base body
|
||||||
|
translate([-15,15.5,-3]) cube([30,20.5,6]);
|
||||||
|
|
||||||
|
// inner angled cut
|
||||||
|
translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||||
|
translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]);
|
||||||
|
|
||||||
|
translate([3.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
|
||||||
|
translate([-10.5,15,0]) rotate([0,0,0]) cube([7,8,6]);
|
||||||
|
|
||||||
|
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
|
||||||
|
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
|
||||||
|
|
||||||
|
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
|
||||||
|
|
||||||
|
translate([-7,15,0]) rotate([0,0,0]) cube([14,11,6]);
|
||||||
|
|
||||||
|
translate([3,14,1]) rotate([0,0,10]) cube([7,13,6]);
|
||||||
|
translate([-9.88,15.21,1]) rotate([0,0,-10]) cube([7,13,6]);
|
||||||
|
|
||||||
|
// cables cut
|
||||||
|
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60);
|
||||||
|
|
||||||
|
// screws
|
||||||
|
translate([-11,30,-3]) cylinder(h = 10, r=1.6, $fn=50);
|
||||||
|
translate([11,30,-3]) cylinder(h = 10, r=1.6, $fn=50);
|
||||||
|
translate([-11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50);
|
||||||
|
translate([11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50);
|
||||||
|
|
||||||
|
// print support for nut heads
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
translate([-11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||||
|
translate([11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50);
|
||||||
|
}
|
||||||
|
translate([-30,18.4,-0.8]) cube([60,10,2]);
|
||||||
|
translate([-30,31.6,-0.8]) cube([60,10,2]);
|
||||||
|
translate([-9.4,25,-1.1]) cube([18.8,10,2]);
|
||||||
|
translate([-22.6,25,-1.1]) cube([10,10,2]);
|
||||||
|
translate([12.6,25,-1.1]) cube([10,10,2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// thermistor cable entry
|
||||||
|
translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3, $fn=60);
|
||||||
|
|
||||||
|
|
||||||
|
// edges
|
||||||
|
|
||||||
|
translate([-18.0,32,-5]) rotate([0,0,25]) cube([11,11,15]);
|
||||||
|
translate([18,32,-5]) rotate([0,0,65]) cube([11,11,15]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// cable rims
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 10, r=4.5, $fn=60);
|
||||||
|
translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60);
|
||||||
|
|
||||||
|
}
|
||||||
|
translate([-15,18,3]) cube([30,20,6]);
|
||||||
|
translate([-15,27,-5]) cube([30,2,16]);
|
||||||
|
translate([-15,30,-5]) cube([30,2,16]);
|
||||||
|
translate([-15,33,-5]) cube([30,2,16]);
|
||||||
|
translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]);
|
||||||
|
translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]);
|
||||||
|
translate([-4,20,0]) rotate([0,0,0]) cube([8,11,6]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
translate([0,40,3])
|
||||||
|
clip();
|
||||||
|
|
||||||
|
translate([0,40,9]) rotate([180,0,0])
|
||||||
cover();
|
cover();
|
||||||
inside_cut();
|
|
||||||
ziptie();
|
|
||||||
}
|
|
||||||
nut_trap();
|
|
||||||
}
|
|
||||||
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();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,119 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// lcd supports
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module body()
|
|
||||||
{
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// base block
|
|
||||||
translate([-55,-2,0]) cube([69,81,10]);
|
|
||||||
|
|
||||||
union ()
|
|
||||||
{
|
|
||||||
// outer body shape
|
|
||||||
translate([-69.6,32,-1]) rotate([0,0,45]) cube([60,53,15]);
|
|
||||||
translate([13.7,89.7,-1]) rotate([0,0,135]) cube([60,42,15]);
|
|
||||||
translate([-19,-9,-1]) cube([60,9,15] );
|
|
||||||
translate([7,-3,-1]) cube([60,68,16]);
|
|
||||||
translate([-16,60,-1]) cube([60,50,15] );
|
|
||||||
translate([-41, -45,-1]) rotate([0,0,45]) cube([60,80,13]);
|
|
||||||
|
|
||||||
// pcb cout out
|
|
||||||
translate([4,1.5,-1]) cube([1.8,56.5,17]);
|
|
||||||
translate([0,7.5,-1]) cube([5.8,44.5,17]);
|
|
||||||
translate([4.8,3.5,-1]) cube([5.8,52.5,17]);
|
|
||||||
translate([8,-5,-1] ) rotate([0,0,45]) cube([5,5,17]);
|
|
||||||
translate([8,58,-1]) rotate([0,0,45]) cube([5,5,17]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// pcb inserts
|
|
||||||
translate([4,3,8]) rotate([45,0,0]) cube([1.8,5,5]);
|
|
||||||
translate([4,56.5,8]) rotate([45,0,0]) cube([1.8,5,5]);
|
|
||||||
translate([4,3,-5]) rotate([45,0,0]) cube([1.8,5,5]);
|
|
||||||
translate([4,56.5,-5]) rotate([45,0,0]) cube([1.8,5,5]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module support()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
rotate([0,0,45]) body();
|
|
||||||
// screw block
|
|
||||||
translate([-72,22,0]) cube([30,16,10]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// lower angled part cut
|
|
||||||
translate([-75,-2,-1]) cube([20,14,15]);
|
|
||||||
translate([-70,-2,-1]) cube([20,14,15]);
|
|
||||||
translate([-50,-16.3,-1]) rotate([0,0,45]) cube([20,20,15]);
|
|
||||||
|
|
||||||
translate([-76.5,-2,-1]) cube([15,40,15]);
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-28,0,-1]) rotate([0,0,45]) cube([10,40,15]);
|
|
||||||
translate([-38,-12,-1]) cube([20,20,15]);
|
|
||||||
translate([-58,23.5,-1]) cube([25,25,15]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// screw holes
|
|
||||||
translate([-71,18+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30);
|
|
||||||
translate([-70,29+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30);
|
|
||||||
|
|
||||||
// nut traps
|
|
||||||
translate([-58,15.1+4,5-2.8]) cube([2.2,5.8,29.7]);
|
|
||||||
translate([-58,26.1+4,5-2.8]) cube([2.2,5.8,29.7]);
|
|
||||||
|
|
||||||
// version
|
|
||||||
translate([-20,2,9.5]) rotate([0,0,0]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module left_lcd_support()
|
|
||||||
{
|
|
||||||
support();
|
|
||||||
|
|
||||||
rotate([0,0,45]) difference()
|
|
||||||
{
|
|
||||||
// sd card shield
|
|
||||||
translate([-3,3,10]) cube([2,55,10]);
|
|
||||||
translate([-4,3,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30);
|
|
||||||
translate([-4,58,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([-60,-2,0]) rotate([0,0,180]) support();
|
|
||||||
left_lcd_support();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,180 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Nozzle fan
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module outer_shape()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// fan entry block
|
|
||||||
translate([-18,-53,-52]) cube([36,9,22]);
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// nozzle base shape
|
|
||||||
translate([0,-44,-15]) rotate([90,0,0]) cylinder( h=9, r=24, $fn=30 );
|
|
||||||
translate([0,-43,-15]) rotate([90,0,0]) cylinder( h=11, r=14, $fn=30 );
|
|
||||||
translate([-25,-54,-17]) cube([50,11,30]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// tips
|
|
||||||
translate([-23.8,-53,-17]) cube([10,9,6]);
|
|
||||||
translate([13.8,-53,-17]) cube([10,9,6]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// upper angle cut
|
|
||||||
translate([-25,-44,-30]) rotate([10,0,0]) cube([50,10,20]);
|
|
||||||
|
|
||||||
// angled front sides
|
|
||||||
translate([-19.8,-54,-57]) rotate([0,-30,0]) cube([10,11,20]);
|
|
||||||
translate([11.2,-54,-52]) rotate([0,30,0]) cube([10,11,20]);
|
|
||||||
|
|
||||||
// right round edge
|
|
||||||
translate([10.2,0,3]) difference()
|
|
||||||
{
|
|
||||||
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
|
|
||||||
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=6, $fn=30 );
|
|
||||||
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
translate([-28,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// left round edge
|
|
||||||
translate([45.8,0,3]) difference()
|
|
||||||
{
|
|
||||||
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
|
|
||||||
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=6, $fn=30 );
|
|
||||||
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
translate([-68,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// mounting block
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([10.5,-53,-40.5]) cube([8,17,5]);
|
|
||||||
translate([14.5,-40.5,-41]) rotate([0,0,0]) cylinder( h=15, r=1.65, $fn=30 );
|
|
||||||
translate([14.5,-40.5,-42]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=30 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module inner_shape()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// base block
|
|
||||||
translate([-17,-52,-51]) cube([34,7,21]);
|
|
||||||
|
|
||||||
// nozzle inner shape
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,-45,-15]) rotate([90,0,0]) cylinder( h=7, r=23, $fn=30 );
|
|
||||||
translate([0,-43,-15]) rotate([90,0,0]) cylinder( h=11, r=16, $fn=30 );
|
|
||||||
translate([-25,-54,-17]) cube([50,11,30]);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([-22.8,-52,-17]) cube([7,7,5]);
|
|
||||||
translate([15.8,-52,-17]) cube([7,7,5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// upper angled cut
|
|
||||||
translate([-25,-44,-35]) rotate([10,0,0]) cube([50,10,30]);
|
|
||||||
|
|
||||||
// angled front sides
|
|
||||||
translate([-19.2,-54,-56]) rotate([0,-24,0]) cube([10,11,20]);
|
|
||||||
translate([10.5,-54,-51]) rotate([0,24,0]) cube([10,11,20]);
|
|
||||||
|
|
||||||
// smooth entry
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-30,-46,-45]) rotate([0,90,0]) cylinder( h=60, r=9, $fn=30 );
|
|
||||||
translate([-30,-46,-45]) rotate([0,90,0]) cylinder( h=60, r=6, $fn=30 );
|
|
||||||
translate([-30,-46,-52]) cube([60,11,20]);
|
|
||||||
translate([-30,-53,-45]) cube([60,11,20]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// left round edge
|
|
||||||
translate([10.2,0,3]) difference()
|
|
||||||
{
|
|
||||||
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
|
|
||||||
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=5, $fn=30 );
|
|
||||||
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
translate([-28,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// right round edge
|
|
||||||
translate([45.8,0,3]) difference()
|
|
||||||
{
|
|
||||||
translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 );
|
|
||||||
translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=5, $fn=30 );
|
|
||||||
translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
translate([-68,-43,-40]) rotate([90,0,0]) cube([40,40,40]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// fan cut
|
|
||||||
translate([-10.25,-46,-51]) cube([20.5,10,15.5]);
|
|
||||||
translate([10.25,-52,-44]) cube([2,15,3]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module base_shape()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
outer_shape();
|
|
||||||
inner_shape();
|
|
||||||
// air slot
|
|
||||||
translate([0,-49,-15]) rotate([90,0,0]) cylinder( h=7, r=17, $fn=30 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module fan_nozzle()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
base_shape();
|
|
||||||
|
|
||||||
// nozzle tips cut
|
|
||||||
translate([8.7,-53,-15]) rotate([0,20,0]) cube([5,15,15]);
|
|
||||||
translate([-13.6,-53,-16]) rotate([0,-20,0]) cube([5,15,15]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// fins
|
|
||||||
translate([8.1,0,-11]) rotate([0,80,0]) translate([0,-53,-25.5]) cube([1,5,3]);
|
|
||||||
translate([-8.1,0,-11.2]) rotate([0,-80,0]) translate([-1,-53,-25.5]) cube([1,5,3]);
|
|
||||||
translate([4.8,0,-11.5]) rotate([0,55,0]) translate([0,-53,-24]) cube([1,5,4]);
|
|
||||||
translate([-4.8,0,-11.5]) rotate([0,-55,0]) translate([-1,-53,-24]) cube([1,5,4]);
|
|
||||||
translate([-0.5,0,-8.6]) rotate([0,15,0]) translate([0,-53,-24]) cube([1,5,4]);
|
|
||||||
translate([0.5,0,-8.6]) rotate([0,-15,0]) translate([-1,-53,-24]) cube([1,5,4]);
|
|
||||||
|
|
||||||
|
|
||||||
translate([-0.4,-53,-35.4]) rotate([0,0,0]) cube([0.8,8.8,6.4]);
|
|
||||||
translate([5.4,-53,-34.8]) rotate([0,50,0]) cube([0.8,9,8.5]);
|
|
||||||
translate([-6.2,-53,-35.4]) rotate([0,-50,0]) cube([0.8,9,8.5]);
|
|
||||||
|
|
||||||
translate([10.4,-53,-40.4]) rotate([0,30,0]) cube([0.8,9,4.5]);
|
|
||||||
translate([-11.2,-53,-41.0]) rotate([0,-30,0]) cube([0.8,9,4.5]);
|
|
||||||
|
|
||||||
|
|
||||||
translate([10,-51,-50.8]) rotate([0,180,0]) linear_extrude(height = 2)
|
|
||||||
{ text("HOT!2",font = "helvetica:style=Bold", size=5, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
rotate([90,0,0]) fan_nozzle();
|
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// PRUSA iteration4
|
// PRUSA iteration4
|
||||||
// X carriage back
|
// X carriage back 2.5 upgrade
|
||||||
// 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
|
||||||
|
|
@ -7,8 +7,7 @@
|
||||||
|
|
||||||
module m3head()
|
module m3head()
|
||||||
{
|
{
|
||||||
intersection()
|
intersection(){
|
||||||
{
|
|
||||||
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
|
translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut
|
||||||
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true);
|
||||||
}
|
}
|
||||||
|
|
@ -17,24 +16,25 @@ module m3head()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module x_carriage_back()
|
|
||||||
|
module x_back()
|
||||||
{
|
{
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
|
|
||||||
union()
|
union()
|
||||||
{
|
{
|
||||||
// base block
|
// body base
|
||||||
translate([-16,-39.0,15.1]) cube([33,72,8]);
|
translate([-16,-39.0,15.1]) cube([33,72,8]);
|
||||||
translate([-25.5,-5,15.1]) cube([52,39.5,8]);
|
translate([-25.5,-5,15.1]) cube([52,39.5,8]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// lower bearing cut
|
|
||||||
translate([-17,-22,7.5]) cube([35,4,10]);
|
|
||||||
|
|
||||||
//cables opening
|
//cables opening
|
||||||
translate([-4.5,-18,15]) cube([10,4,10]);
|
translate([-17,-22,7.5]) cube([35,4,10]);
|
||||||
translate([0.5,-18,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
|
translate([-6.5,-18,15]) cube([10,4,10]);
|
||||||
translate([0.5,-14,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
|
translate([-1.5,-18,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
|
||||||
|
translate([-1.5,-14,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 );
|
||||||
|
|
||||||
|
// cables horizontal space
|
||||||
translate([-20,-19.5,9]) cube([50,7.5,10]);
|
translate([-20,-19.5,9]) cube([50,7.5,10]);
|
||||||
|
|
||||||
//bearings
|
//bearings
|
||||||
|
|
@ -43,36 +43,36 @@ module x_carriage_back()
|
||||||
translate([-17,-25,11.75]) rotate([0,90,0]) cylinder( h=60, r=7, $fn=30 );
|
translate([-17,-25,11.75]) rotate([0,90,0]) cylinder( h=60, r=7, $fn=30 );
|
||||||
translate([-32,20,11.75]) rotate([0,90,0]) cylinder( h=80, r=7, $fn=30 );
|
translate([-32,20,11.75]) rotate([0,90,0]) cylinder( h=80, r=7, $fn=30 );
|
||||||
|
|
||||||
// hold together screws
|
// lower screws
|
||||||
translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
||||||
translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
||||||
translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
|
||||||
translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
|
||||||
translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
|
||||||
translate([13,31,19]) cylinder( h=50, r=3.1, $fn=30 );
|
|
||||||
translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
// lower screw heads
|
|
||||||
translate([-9.5,-36,19]) cylinder( h=6, r=3.1, $fn=30 );
|
translate([-9.5,-36,19]) cylinder( h=6, r=3.1, $fn=30 );
|
||||||
translate([10.5,-36,19]) cylinder( h=50, r=3.1, $fn=30 );
|
translate([10.5,-36,19]) cylinder( h=50, r=3.1, $fn=30 );
|
||||||
translate([-12.6,-46,18]) cube([6.2,10,10]);
|
translate([-12.6,-46,18]) cube([6.2,10,10]);
|
||||||
translate([7.4,-46,18]) cube([6.2,10,10]);
|
translate([7.4,-46,18]) cube([6.2,10,10]);
|
||||||
|
|
||||||
// center screw head
|
// middle screw
|
||||||
|
translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
||||||
translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 );
|
translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 );
|
||||||
|
|
||||||
// heat cables cut
|
// upper screws
|
||||||
|
translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
||||||
|
translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 );
|
||||||
|
translate([13,31,19]) cylinder( h=50, r=3.1, $fn=30 );
|
||||||
|
translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 );
|
||||||
|
|
||||||
|
// hotend cables cut
|
||||||
translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 );
|
translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 );
|
||||||
|
|
||||||
// cable holder screw
|
// cable holder screw
|
||||||
translate([0.5,-27,11]) rotate([0,0,90]) cylinder( h=40, r=1.6, $fn=30 );
|
translate([-1.5,-27,11]) rotate([0,0,90]) cylinder( h=40, r=1.6, $fn=30 );
|
||||||
translate([0.5,-27,16.5]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
|
translate([-1.5,-27,16.5]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 );
|
||||||
|
|
||||||
// x-carriage screws in belt holders
|
// extruder hold together screws opening
|
||||||
translate([11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
|
translate([11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
|
||||||
translate([-11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
|
translate([-11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 );
|
||||||
|
|
||||||
// nice edges
|
// corners
|
||||||
translate([-20.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
translate([-20.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||||
translate([21.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
translate([21.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]);
|
||||||
translate([-24.4,15.2,10]) rotate([0,0,45]) cube([14,10,15]);
|
translate([-24.4,15.2,10]) rotate([0,0,45]) cube([14,10,15]);
|
||||||
|
|
@ -89,13 +89,11 @@ module x_carriage_back()
|
||||||
translate([17,22,13]) rotate([0,0,0]) cube([10,10,5]);
|
translate([17,22,13]) rotate([0,0,0]) cube([10,10,5]);
|
||||||
translate([-24.5,22,13]) rotate([0,0,0]) cube([10,10,5]);
|
translate([-24.5,22,13]) rotate([0,0,0]) cube([10,10,5]);
|
||||||
|
|
||||||
// side edges
|
// side angle cuts
|
||||||
translate([27,-20,16]) rotate([0,-30,0]) cube([10,50,10]);
|
translate([27,-20,16]) rotate([0,-30,0]) cube([10,50,10]);
|
||||||
translate([-34.2,-20,21]) rotate([0,30,0]) cube([10,50,10]);
|
translate([-34.2,-20,21]) rotate([0,30,0]) cube([10,50,10]);
|
||||||
translate([19.5,-55,16]) rotate([0,-30,0]) cube([10,50,10]);
|
translate([19.5,-55,16]) rotate([0,-30,0]) cube([10,50,10]);
|
||||||
translate([-27.1,-55,21]) rotate([0,30,0]) cube([10,50,10]);
|
translate([-27.1,-55,21]) rotate([0,30,0]) cube([10,50,10]);
|
||||||
|
|
||||||
// inner cable cleanup
|
|
||||||
translate([-1,-19.5,14]) rotate([0,30,0]) cube([10,7.5,10]);
|
translate([-1,-19.5,14]) rotate([0,30,0]) cube([10,7.5,10]);
|
||||||
translate([-5,-19.5,10]) rotate([0,-30,0]) cube([10,7.5,10]);
|
translate([-5,-19.5,10]) rotate([0,-30,0]) cube([10,7.5,10]);
|
||||||
|
|
||||||
|
|
@ -109,15 +107,17 @@ module x_carriage_back()
|
||||||
translate([4.5,29,16]) rotate([45,0,0]) cube([3.5,5,5]);
|
translate([4.5,29,16]) rotate([45,0,0]) cube([3.5,5,5]);
|
||||||
translate([3.5,-4.60,19.5]) rotate([0,0,-15]) cube([3,4,4]);
|
translate([3.5,-4.60,19.5]) rotate([0,0,-15]) cube([3,4,4]);
|
||||||
|
|
||||||
// version
|
translate([-18,11,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4)
|
||||||
translate([-14.5,13,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4)
|
{ text("MK2.5",font = "helvetica:style=Bold", size=5, center=true); }
|
||||||
{ text("MK3",font = "helvetica:style=Bold", size=6, center=true); }
|
|
||||||
translate([-15,3,15.5]) rotate([0,180,0]) linear_extrude(height = 0.8)
|
translate([-15,3,15.6]) rotate([0,180,0]) linear_extrude(height = 1)
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
||||||
|
|
||||||
translate([-23,2.3,14.3]) cube([9,5.0,1]);
|
translate([-23,2.3,14.3]) cube([9,5.0,1]);
|
||||||
|
|
||||||
// upper ziptie left
|
// upper ziptie left
|
||||||
translate([-21.5,-25,0])difference()
|
translate([-21.5,-25,0])
|
||||||
|
difference()
|
||||||
{
|
{
|
||||||
translate([1,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
|
translate([1,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
|
||||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
|
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
|
||||||
|
|
@ -126,13 +126,14 @@ module x_carriage_back()
|
||||||
translate([-20.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]);
|
translate([-20.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]);
|
||||||
|
|
||||||
// upper ziptie right
|
// upper ziptie right
|
||||||
translate([19,-25,0])difference()
|
translate([19,-25,0])
|
||||||
|
difference()
|
||||||
{
|
{
|
||||||
translate([0.5,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
|
translate([0.5,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25);
|
||||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
|
translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25);
|
||||||
}
|
}
|
||||||
|
|
||||||
// supports
|
// screw heads support
|
||||||
translate([-17,26,5]) m3head();
|
translate([-17,26,5]) m3head();
|
||||||
translate([-40.5,26,5]) m3head();
|
translate([-40.5,26,5]) m3head();
|
||||||
translate([-29,-1,4]) m3head();
|
translate([-29,-1,4]) m3head();
|
||||||
|
|
@ -142,5 +143,5 @@ module x_carriage_back()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rotate([0,180,0]) x_carriage_back();
|
rotate([0,180,0]) x_back();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// PRUSA iteration4
|
// PRUSA iteration4
|
||||||
// X carriage
|
// X carriage 2.5 upgrade
|
||||||
// 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
|
||||||
|
|
@ -7,19 +7,97 @@
|
||||||
|
|
||||||
use <bearing.scad>
|
use <bearing.scad>
|
||||||
|
|
||||||
module x_carriage_base()
|
module belt_cut()
|
||||||
|
{
|
||||||
|
rotate([0,0,180])
|
||||||
|
{
|
||||||
|
translate([-20,0,0]) cube([39,0.75,15]);
|
||||||
|
translate([-20,0,5]) rotate([-7,0,0]) cube([39,0.75,10]);
|
||||||
|
translate([-20,0,5]) rotate([10,0,0]) cube([39,0.75,10]);
|
||||||
|
for (_step =[-20:2:18])
|
||||||
|
{
|
||||||
|
translate([_step,0.5,0]) cube([1,1.0,10]);
|
||||||
|
}
|
||||||
|
for (_step =[-20:2:18])
|
||||||
|
{
|
||||||
|
translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module left_belt_cut()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30);
|
||||||
|
translate([-23.0,20,7]) cube([2,10,30]);
|
||||||
|
translate([-56.5,28.5,7]) belt_cut();
|
||||||
|
translate([13.5,20.5,0]) rotate([0,0,25])
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-56.5,28.5,7]) belt_cut();
|
||||||
|
translate([-80,25,7]) cube([37.5,10,30]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([13.2,2.38,0]) rotate([0,0,0])
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-56.5,28.5,7]) belt_cut();
|
||||||
|
translate([-82.42,25,7]) cube([37.5,10,30]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([-45,17.6,4]) rotate([0,0,-15]) cube([10,3,30]);
|
||||||
|
translate([-31.5,30.4,10]) rotate([-10,0,15]) cylinder(r=0.2, h=100, $fn=30);
|
||||||
|
translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module right_belt_cut()
|
||||||
|
{
|
||||||
|
// right belt cut
|
||||||
|
translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30);
|
||||||
|
translate([-11.1,19.8,7]) cube([2,10,30]);
|
||||||
|
translate([22.5,25.5,7]) belt_cut();
|
||||||
|
translate([66.65,1.95,0]) rotate([0,0,0])
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-56.5,28.5,7]) belt_cut();
|
||||||
|
translate([-71.55,25,7]) cube([37.5,10,30]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([43.2,-30.25,0]) rotate([0,0,-30])
|
||||||
|
{
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-56.5,28.5,7]) belt_cut();
|
||||||
|
translate([-82.1,25,7]) cube([10,10,30]);
|
||||||
|
translate([-61.5,25,7]) cube([20.5,10,30]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([2,14.6,7]) rotate([0,0,15]) cube([10,3,30]);
|
||||||
|
translate([-5.1,30,10]) rotate([-10,0,-15]) cylinder(r=0.2, h=100, $fn=30);
|
||||||
|
translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module x_carriage_body(){
|
||||||
|
|
||||||
// Small bearing holder
|
// Small bearing holder
|
||||||
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
|
translate([-33/2,0,1]) 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,1]) rotate([0,0,90]) horizontal_bearing_base(2);
|
||||||
|
|
||||||
// Base plate
|
// Base plate
|
||||||
translate([-34,-14,0]) cube([34.5,70.5,7]);
|
translate([-34,-14,1]) cube([34.5,70.5,6]);
|
||||||
translate([-33,-15,0]) cube([33,7,15]);
|
translate([-33,-15,1]) cube([33,7,14]);
|
||||||
translate([-42.5,53.0,0]) cube([52,6.5,15]);
|
translate([-42.5,53.0,1]) cube([52,6.5,14]);
|
||||||
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
|
|
@ -32,52 +110,20 @@ module x_carriage_base()
|
||||||
}
|
}
|
||||||
|
|
||||||
// upper motor screw block
|
// upper motor screw block
|
||||||
translate([-23,56.8,0]) rotate([0,0,0]) cube([32.5,18.2,8]);
|
translate([-23,56.8,1]) rotate([0,0,0]) cube([32.5,18.2,7]);
|
||||||
|
|
||||||
// Belt holder base
|
// Belt holder base
|
||||||
translate([-42.5,20,0]) cube([52,16,7]);
|
translate([-42.5,20,1]) cube([52,16,6]);
|
||||||
translate([-16.5-12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
|
|
||||||
translate([-17.5+12,24.5,0])cylinder(r=4.5, h=14, $fn=25);
|
// new belt holder base block
|
||||||
translate([-16.5-12,24.5,14])cylinder(r1=4.5, r2=3.8, h=1, $fn=25);
|
translate([-42.5,18,7]) cube([52,16.3,8]);
|
||||||
translate([-17.5+12,24.5,14])cylinder(r1=4.5, r2=3.8, h=1, $fn=25);
|
|
||||||
|
|
||||||
|
|
||||||
// Belt Insert R
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([2,26.9,0]) cube([10,6.2,15]);
|
|
||||||
translate([2,24-2.3-4.5,0]) cube([7.5,7.5,15]);
|
|
||||||
translate([-0.5,27,0]) cube([8,7,2]);
|
|
||||||
}
|
|
||||||
translate([-3,25,5.5]) rotate([0,0,-40]) cube([5,5.5,10]);
|
|
||||||
translate([8,17,5.5]) rotate([0,0,-60]) cube([2,5,10]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Belt Insert L
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([-33,3,00])
|
|
||||||
{
|
|
||||||
scale([-1,1,1])
|
|
||||||
{
|
|
||||||
translate([0,26.8,0]) cube([12.5,4.5,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]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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_nozip(1);
|
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(1);
|
||||||
|
|
||||||
|
|
@ -88,16 +134,15 @@ module x_carriage_holes()
|
||||||
translate([2,0,0])
|
translate([2,0,0])
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25);
|
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=50);
|
||||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
|
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=50);
|
||||||
}
|
}
|
||||||
|
|
||||||
// upper ziptie left
|
// upper ziptie left
|
||||||
translate([-38,0,0])
|
translate([-38,0,0])
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25);
|
translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=50);
|
||||||
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25);
|
translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=50);
|
||||||
}
|
}
|
||||||
|
|
||||||
// upper ziptie head
|
// upper ziptie head
|
||||||
|
|
@ -105,16 +150,17 @@ module x_carriage_holes()
|
||||||
translate([-45,52.5,12]) cube([13.5,10,5]);
|
translate([-45,52.5,12]) cube([13.5,10,5]);
|
||||||
|
|
||||||
// Extruder mounting holes
|
// Extruder mounting holes
|
||||||
translate([-17.5+12,24.5,-1])cylinder(r=1.8, h=20, $fn=25);
|
translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=50);
|
||||||
translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25);
|
translate([-17.5+12,24.5,0.9])cylinder(r1=2.0,r2=1.65, h=1, $fn=50);
|
||||||
translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
|
translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=50);
|
||||||
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.65, h=20, $fn=50);
|
||||||
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.9])cylinder(r1=2.1,r2=1.65, h=1, $fn=50);
|
||||||
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=50);
|
||||||
|
|
||||||
// Carriage slimer
|
// 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,30.8,-1])rotate([0,90-65,0])cube([10,55,30]);
|
translate([+12.5-3.5-2,30.8,-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]);
|
||||||
|
|
||||||
|
|
@ -125,10 +171,6 @@ 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
|
|
||||||
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]);
|
|
||||||
|
|
||||||
// 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]);
|
||||||
|
|
||||||
|
|
@ -139,42 +181,43 @@ module x_carriage_fancy()
|
||||||
translate([-40,-15,-5]) rotate([30,0,0]) cube([45,6,15]);
|
translate([-40,-15,-5]) rotate([30,0,0]) cube([45,6,15]);
|
||||||
translate([-35,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
translate([-35,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
||||||
translate([2,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
translate([2,-19.2,0]) rotate([0,0,45]) cube([6,6,16]);
|
||||||
|
|
||||||
translate([2,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
translate([2,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
||||||
translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
translate([-33.5,55.9,12]) rotate([0,0,45]) cube([6,6,16]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module cable_tray()
|
module cable_tray(){
|
||||||
{
|
|
||||||
|
|
||||||
// center screw block
|
// center screw block
|
||||||
translate([-21,23,0]) cube([9,12,15]);
|
translate([-21,23,1]) cube([9,12,14]);
|
||||||
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
union()
|
union()
|
||||||
{
|
{
|
||||||
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]);
|
translate([-20.8,24.8,1]) rotate([0,0,20]) cube([3,10,14]);
|
||||||
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]);
|
translate([-15.5,25.8,1]) rotate([0,0,-20]) cube([3,10,14]);
|
||||||
}
|
}
|
||||||
translate([-25,34.2,0]) cube([20,10,15]);
|
translate([-25,34.2,1]) cube([20,10,14]);
|
||||||
}
|
}
|
||||||
|
|
||||||
translate([6.5,32,10]) cube([3,5,5]);
|
translate([6.5,32,10]) cube([3,5,5]);
|
||||||
translate([-42.5,32,10]) cube([4,5,5]);
|
translate([-42.5,32,10]) cube([4,5,5]);
|
||||||
|
|
||||||
//Left cable tray
|
//Left cable tray
|
||||||
translate([-39.9,11,0]) cube([9,2,15]);
|
translate([-39.9,11,1]) cube([9,2,14]);
|
||||||
translate([-39.9,5.5,0]) cube([9,2,15]);
|
translate([-39.9,5.5,1]) cube([9,2,14]);
|
||||||
|
|
||||||
//Right cable tray
|
//Right cable tray
|
||||||
translate([-2,5.5,0]) cube([11.45,2,15]);
|
translate([-2,5.5,1]) cube([11.45,2,14]);
|
||||||
translate([-2,11,7]) cube([11.45,2,8]);
|
translate([-2,11,7]) cube([11.45,2,8]);
|
||||||
|
|
||||||
translate([-31,11.5,7]) cube([30,1.5,8]);
|
translate([-31,11.5,7]) cube([30,1.5,8]);
|
||||||
|
|
||||||
difference(){
|
difference()
|
||||||
translate([0,11,0]) cube([9.50,12,7]);
|
{
|
||||||
|
translate([0,11,1]) cube([9.50,12,6]);
|
||||||
translate([0,6,1])rotate([-30,0,0]) cube([7.5,12,7]);
|
translate([0,6,1])rotate([-30,0,0]) cube([7.5,12,7]);
|
||||||
translate([0,3.5,6])rotate([-60,0,0]) cube([7.5,12,7]);
|
translate([0,3.5,6])rotate([-60,0,0]) cube([7.5,12,7]);
|
||||||
translate([0,10+3,-1])cube([7.5,11,6]);
|
translate([0,10+3,-1])cube([7.5,11,6]);
|
||||||
|
|
@ -184,44 +227,57 @@ module cable_tray()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module final_cutout()
|
module final_cutout(){
|
||||||
{
|
|
||||||
// cable guide edges
|
|
||||||
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
translate([-44,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
||||||
translate([6,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
translate([6,0,16]) rotate([0,45,0]) cube([5,15,5]);
|
||||||
|
|
||||||
// motor cable opening
|
|
||||||
translate([0.5,10+3,-1])cube([7,9.2,6]);
|
translate([0.5,10+3,-1])cube([7,9.2,6]);
|
||||||
|
|
||||||
|
|
||||||
// filament hole
|
// filament hole
|
||||||
translate([-14.5,8.8,0]) rotate([-5,0,0]) cylinder(r=1.52, h=40, $fn=10);
|
translate([-18.5,8.8,0]) rotate([-5,0,0]) cylinder(r=1.52, h=40, $fn=10);
|
||||||
translate([-14.5,9.7,10]) rotate([-5,0,0]) cylinder(r=1.52,r2=2, h=6, $fn=10);
|
translate([-18.5,9.7,10]) rotate([-5,0,0]) cylinder(r=1.52,r2=2, h=6, $fn=10);
|
||||||
|
|
||||||
// bottom back mounting screws
|
// bottom back mounting screws
|
||||||
translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30);
|
translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
translate([-26.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30);
|
translate([-26.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
translate([-29.5,-14,10]) cube([6,7,2.2]);
|
translate([-29.3,-14,10]) cube([5.6,7,2.1]);
|
||||||
translate([-09.5,-14,10]) cube([6,7,2.2]);
|
translate([-09.3,-14,10]) cube([5.6,7,2.1]);
|
||||||
translate([-28.2,-14,10.3]) cube([3.4,7,2.2]);
|
// better printing bridges
|
||||||
translate([-08.2,-14,10.3]) cube([3.4,7,2.2]);
|
translate([-29.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
|
||||||
|
translate([-09.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
|
||||||
|
translate([-28.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
|
||||||
|
translate([-8.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// x-carriage-back mounting screws
|
// x-carriage-back mounting screws
|
||||||
translate([-4,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30);
|
translate([-4,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50);
|
||||||
translate([-27.5,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30);
|
translate([-27.5,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50);
|
||||||
translate([-30.5,53,8]) cube([6,8,2]);
|
translate([-30.3,53,8]) cube([5.6,8,2.1]);
|
||||||
translate([-7,53,8]) cube([6,8,2]);
|
translate([-6.8,53,8]) cube([5.6,8,2.1]);
|
||||||
|
// better printing bridges
|
||||||
|
translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]);
|
||||||
|
translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]);
|
||||||
|
translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]);
|
||||||
|
translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]);
|
||||||
|
|
||||||
translate([-16,29,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30);
|
|
||||||
translate([-19,26,11]) cube([6,8,2]);
|
// center mounting screw
|
||||||
|
translate([-16,29,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50);
|
||||||
|
translate([-18.8,26,11]) cube([5.6,8,2.1]);
|
||||||
translate([-21,33,11]) cube([10,8,6]);
|
translate([-21,33,11]) cube([10,8,6]);
|
||||||
|
// better printing bridges
|
||||||
|
translate([-18.8,27.35,11]) cube([5.6,3.3,2.1]);
|
||||||
|
translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]);
|
||||||
|
|
||||||
// opening for power cables to hotend & termistor cable
|
translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=50);
|
||||||
translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Final part
|
||||||
module x_carriage_block()
|
module x_carriage_base()
|
||||||
{
|
{
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
|
|
@ -229,11 +285,19 @@ module x_carriage_block()
|
||||||
{
|
{
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
x_carriage_base();
|
x_carriage_body();
|
||||||
x_carriage_holes();
|
x_carriage_holes();
|
||||||
x_carriage_fancy();
|
x_carriage_fancy();
|
||||||
}
|
}
|
||||||
cable_tray();
|
cable_tray();
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
translate([-24,7.7,1.5]) cube([10.5,4,13.5]);
|
||||||
|
translate([-16.4,6.7,16]) rotate([0,45,0]) cube([5,7,5]);
|
||||||
|
translate([-27.4,6.7,16]) rotate([0,45,0]) cube([5,7,5]);
|
||||||
|
translate([-27.4,6.7,13.7]) rotate([45,0,0]) cube([20,7,5]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
final_cutout();
|
final_cutout();
|
||||||
}
|
}
|
||||||
|
|
@ -243,47 +307,44 @@ module x_carriage()
|
||||||
{
|
{
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
x_carriage_block();
|
union()
|
||||||
|
{
|
||||||
|
x_carriage_base();
|
||||||
|
|
||||||
// upper motor screw
|
// endstop
|
||||||
translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.8, h=100, $fn=30);
|
difference()
|
||||||
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);
|
union()
|
||||||
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25);
|
{
|
||||||
|
translate([-8.5,-16,1]) cube([18,5.5,11]);
|
||||||
|
translate([2,-15.5,1]) rotate([0,0,60]) cube([5,5,11]);
|
||||||
|
}
|
||||||
|
translate([6,-17,0]) rotate([0,45,0]) cube([10,8,11]);
|
||||||
|
translate([-12,-18.5,0]) rotate([0,0,-25]) cube([15,8,15]);
|
||||||
|
translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50);
|
||||||
|
translate([-09.5,-14,10]) cube([6,7,2.2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.65, h=100, $fn=50);
|
||||||
|
translate([2.5,67.5,0.9]) cylinder(r1=2.1,r2=1.8, h=1, $fn=50);
|
||||||
|
translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.1, h=8, $fn=50);
|
||||||
|
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=50);
|
||||||
|
|
||||||
// cable management cleanup
|
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate([2.5,21.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.0, $fn=25);
|
translate([2.5,21.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.0, $fn=25);
|
||||||
translate([2,16,-10]) cube([10,6,20]);
|
translate([2,16,-10]) cube([10,6,20]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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,5.5]) cube([0.1,3,9]);
|
|
||||||
translate([8.5,21,5]) cube([0.1,3,9.8]);
|
|
||||||
|
|
||||||
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
|
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
|
||||||
translate([8.45,11.5,1]) cube([0.5,1.8,4]);
|
|
||||||
|
|
||||||
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]);
|
|
||||||
|
|
||||||
translate([-19,24,1.5]) cube([5,0.4,13.0]);
|
|
||||||
translate([-20.5,27,1.5]) rotate([0,0,20]) cube([0.4,5,13.0]);
|
|
||||||
|
|
||||||
//cable openings in guides
|
|
||||||
|
|
||||||
|
|
||||||
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
|
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
|
||||||
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
|
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
|
||||||
|
|
||||||
|
|
@ -293,16 +354,33 @@ module x_carriage()
|
||||||
translate([-12.5,71.75,-3]) cube([5,2.5,14]);
|
translate([-12.5,71.75,-3]) cube([5,2.5,14]);
|
||||||
translate([-14.5,67,-3]) cube([4,6,14]);
|
translate([-14.5,67,-3]) cube([4,6,14]);
|
||||||
translate([-14.5,65,4.7]) cube([4,10.2,5]);
|
translate([-14.5,65,4.7]) cube([4,10.2,5]);
|
||||||
|
|
||||||
translate([-12.5,54.5,8]) cube([3.5,10.2,14]);
|
translate([-12.5,54.5,8]) cube([3.5,10.2,14]);
|
||||||
translate([-12.5,57.5,9.5]) rotate([35,0,0]) cube([3.5,10.2,14]);
|
translate([-12.5,57.5,9.5]) rotate([35,0,0]) cube([3.5,10.2,14]);
|
||||||
translate([-12.5,58,8]) rotate([0,0,45]) cube([3,3,14]);
|
translate([-12.5,58,8]) rotate([0,0,45]) cube([3,3,14]);
|
||||||
translate([-10,58,8]) rotate([0,0,45]) cube([3,3,14]);
|
translate([-10,58,8]) rotate([0,0,45]) cube([3,3,14]);
|
||||||
|
|
||||||
|
translate([0,-0.5,0]) left_belt_cut();
|
||||||
|
translate([0,0.5,0]) right_belt_cut();
|
||||||
|
|
||||||
//version
|
//version
|
||||||
translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
|
translate([-2,-8,1.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
{ text("R2",font = "helvetica:style=Bold", size=4, center=true); }
|
||||||
|
|
||||||
|
translate([-10,34,1.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
|
||||||
|
{ text("2.5",font = "helvetica:style=Bold", size=8, center=true); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
x_carriage();
|
x_carriage();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,137 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// X end idler
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
use <x-end.scad>
|
|
||||||
|
|
||||||
module x_end_idler_holes()
|
|
||||||
{
|
|
||||||
x_end_holes();
|
|
||||||
translate([0,3.5,0])
|
|
||||||
{
|
|
||||||
// pulley screw
|
|
||||||
translate(v=[0,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.8, $fn=30);
|
|
||||||
translate(v=[-4,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 4, r=3.1, $fn=30);
|
|
||||||
translate(v=[-21.5,-19,30.25]) rotate(a=[0,-90,0]) rotate(a=[0,0,30]) cylinder(h = 10, r=3.2, $fn=6);
|
|
||||||
|
|
||||||
// pulley side cut
|
|
||||||
translate(v=[-9,-19,30.25]) rotate(a=[0,-90,0]) cylinder(h = 9, r=9.5, $fn=30);
|
|
||||||
translate([-19,-35,21.25]) cube([10,20,18]);
|
|
||||||
translate([-16.1,-35,21.3]) rotate([0,45,0]) cube([5,20,5]);
|
|
||||||
translate([-16.1,-35,39.25]) rotate([0,45,0]) cube([5,20,5]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module waste_pocket()
|
|
||||||
{
|
|
||||||
// waste pocket
|
|
||||||
translate([-15,-1,6]) rotate([90,0,0]) cylinder( h=5, r=5, $fn=30);
|
|
||||||
translate([-15,-1,51]) rotate([90,0,0]) cylinder( h=5, r=5, $fn=30);
|
|
||||||
translate([-15,-5.9,6]) rotate([90,0,0]) cylinder( h=3, r1=5, r2=4.3, $fn=30);
|
|
||||||
translate([-15,-5.9,51]) rotate([90,0,0]) cylinder( h=3, r=5, r2=4.3, $fn=30);
|
|
||||||
|
|
||||||
// opening window
|
|
||||||
translate([-17,-1,51]) rotate([90,0,0]) cube([4,15,4]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module x_end_idler_base()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
x_end_base();
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate(v=[-6,-16.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 0.5, r1=9, r2=12, $fn=30);
|
|
||||||
translate([-25,-11.5,19]) cube([20,10,24]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
x_end_idler_holes();
|
|
||||||
}
|
|
||||||
translate([-15,10.5,6]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
|
|
||||||
translate([-15,10.5,51]) rotate([90,0,0]) cylinder( h=13, r=6, $fn=30);
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate(v=[-19,-16.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 1, r1=9, r2=12, $fn=30);
|
|
||||||
translate([-25,-11.5,19]) cube([20,10,24]);
|
|
||||||
translate(v=[0,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 80, r=1.8, $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);
|
|
||||||
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);
|
|
||||||
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);
|
|
||||||
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);
|
|
||||||
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()
|
|
||||||
{
|
|
||||||
mirror([0,1,0])
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
x_end_idler_base();
|
|
||||||
waste_pocket();
|
|
||||||
selective_infill();
|
|
||||||
reinforcement_selective_infill();
|
|
||||||
translate(v=[-8,-15.5,30.25]) rotate(a=[0,-90,0]) cylinder(h = 20, r=1.8, $fn=30);
|
|
||||||
translate([-25,7.5,-1]) rotate([0,0,45]) cube([10,10,100]);
|
|
||||||
//version
|
|
||||||
translate([-23.7,-25,2]) rotate([90,0,90]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=3, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// bearings stop
|
|
||||||
translate([0,0,57]) rotate([0,0,90]) cylinder( h=1, r=8, $fn=30);
|
|
||||||
translate([0,0,56.9]) rotate([0,0,90]) cylinder( h=0.5, r1=8, r2=7,$fn=30);
|
|
||||||
translate([0,0,56.5]) rotate([0,0,90]) cylinder( h=2, r=7, $fn=30);
|
|
||||||
translate([0.2,-0.5,50]) rotate([0,0,40]) cube([12,1,10]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
x_end_idler();
|
|
||||||
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// X end motor
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
use <x-end.scad>
|
|
||||||
|
|
||||||
module x_end_motor_base()
|
|
||||||
{
|
|
||||||
x_end_base();
|
|
||||||
translate(v=[-15,31,26.5]) cube(size = [17,44,53], center = true);
|
|
||||||
}
|
|
||||||
|
|
||||||
module x_end_motor_holes()
|
|
||||||
{
|
|
||||||
x_end_holes();
|
|
||||||
|
|
||||||
// Position to place
|
|
||||||
translate(v=[-1,32,30.25])
|
|
||||||
{
|
|
||||||
// Belt hole
|
|
||||||
translate(v=[-14,1,0]) cube(size = [10,46,22], center = true);
|
|
||||||
|
|
||||||
// Motor mounting holes
|
|
||||||
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=[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=[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=[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);
|
|
||||||
|
|
||||||
// Material saving cutout
|
|
||||||
translate(v=[-10,12,10]) cube(size = [60,42,42], center = true);
|
|
||||||
|
|
||||||
// Material saving cutout
|
|
||||||
translate(v=[-10,40,-30]) rotate(a=[45,0,0]) cube(size = [60,42,42], center = true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Motor shaft cutout
|
|
||||||
module x_end_motor_shaft_cutout()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
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,-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=[-30,25.2,-11.8 +30]) rotate(a=[0,90,0]) cylinder(h = 30, r=3, $fn=30);
|
|
||||||
translate(v=[-30,19.05,30]) rotate(a=[0,90,0]) cylinder(h = 30, r=3.5, $fn=100);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
module x_end_motor()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
x_end_motor_base();
|
|
||||||
x_end_motor_shaft_cutout();
|
|
||||||
x_end_motor_holes();
|
|
||||||
selective_infill();
|
|
||||||
reinforcement_selective_infill();
|
|
||||||
|
|
||||||
// waste pocket
|
|
||||||
translate([-15,7,6]) rotate([90,0,0]) cylinder(h=3.5, r=5, $fn=30);
|
|
||||||
translate([-15,7,51]) rotate([90,0,0]) cylinder(h=3.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,51]) rotate([90,0,0]) cylinder(h=3, r1=5, r2=4, $fn=30);
|
|
||||||
|
|
||||||
// rod contact window
|
|
||||||
translate([-17,3,55]) cube([4,4,10]);
|
|
||||||
translate([-30,-30,58]) cube([30,30,10]);
|
|
||||||
|
|
||||||
// version
|
|
||||||
translate([-23.2,-20,2]) rotate([90,0,270]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=3, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([-15,10,6]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
|
|
||||||
translate([-15,10,51]) rotate([90,0,0]) cylinder(h=3, r=5, $fn=30);
|
|
||||||
|
|
||||||
// bearing stop
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,0,57]) rotate([0,0,90]) cylinder( h=1, r=8, $fn=30);
|
|
||||||
translate([0,0,56.9]) rotate([0,0,90]) cylinder( h=0.5, r1=8, r2=7,$fn=30);
|
|
||||||
translate([0,0,56.5]) rotate([0,0,90]) cylinder( h=2, r=7, $fn=30);
|
|
||||||
translate([-0.18,-0.5,50]) rotate([0,0,-40]) cube([12,1,10]);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
x_end_motor();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,109 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// X end prototype
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
use <bearing.scad>
|
|
||||||
use <polyholes.scad>
|
|
||||||
rod_distance = 45;
|
|
||||||
|
|
||||||
module x_end_base()
|
|
||||||
{
|
|
||||||
// Main block
|
|
||||||
height = 58;
|
|
||||||
translate(v=[-15,-9,height/2]) cube(size = [17,39,height], center = true);
|
|
||||||
|
|
||||||
// Bearing holder
|
|
||||||
vertical_bearing_base();
|
|
||||||
|
|
||||||
//Nut trap
|
|
||||||
// Cylinder
|
|
||||||
translate(v=[0,-17,0]) poly_cylinder(h = 8, r=12.5, $fn=25);
|
|
||||||
translate(v=[-6,-10.6,8]) rotate([0,0,48.2]) cube(size = [10,5,1], center = true);
|
|
||||||
|
|
||||||
// Nut brace
|
|
||||||
rotate([90,0,-15,]) translate ([-1, 8, 24])linear_extrude(height = 4) polygon( points=[[0,0],[0,12],[8,0]] );
|
|
||||||
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]] );
|
|
||||||
|
|
||||||
rotate([90,0,-50,]) translate ([8.5, 8, 1.4])linear_extrude(height = 0.2) polygon( points=[[0,0],[0,12],[12,0]] );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module x_end_holes()
|
|
||||||
{
|
|
||||||
vertical_bearing_holes();
|
|
||||||
// Belt hole
|
|
||||||
translate(v=[-1,0,0])
|
|
||||||
{
|
|
||||||
// Stress relief
|
|
||||||
translate(v=[-5.5-10+1.5,-10-1,30]) cube(size = [18,1,28], center = true);
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
|
|
||||||
translate(v=[-5.5-10+1.5,-10,30]) cube(size = [10,46,28], center = true);
|
|
||||||
|
|
||||||
// Nice edges
|
|
||||||
translate(v=[-5.5-10+1.5-5,-10,30+23]) rotate([0,20,0]) cube(size = [10,46,28], center = true);
|
|
||||||
translate(v=[-5.5-10+1.5+5,-10,30+23]) rotate([0,-20,0]) cube(size = [10,46,28], center = true);
|
|
||||||
translate(v=[-5.5-10+1.5,-10,30-23]) rotate([0,45,0]) cube(size = [10,46,28], center = true);
|
|
||||||
translate(v=[-5.5-10+1.5,-10,30-23]) rotate([0,-45,0]) cube(size = [10,46,28], center = true);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Bottom pushfit rod
|
|
||||||
translate(v=[-15,-41,6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
|
|
||||||
|
|
||||||
// Top pushfit rod
|
|
||||||
translate(v=[-15,-41.5,rod_distance+6]) rotate(a=[-90,0,0]) pushfit_rod(7.8,50);
|
|
||||||
|
|
||||||
// TR Nut trap
|
|
||||||
// Hole for the nut
|
|
||||||
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
|
|
||||||
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 = 8, r = 1.8, $fn=25);
|
|
||||||
|
|
||||||
// Nut traps for TR nut screws
|
|
||||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, 9.5, 4]) rotate([0, 0, 0])cylinder(h = 5, r = 3.45, $fn=6);
|
|
||||||
|
|
||||||
translate(v=[0,-17, 0]) rotate([0, 0, -135]) translate([0, -9.5, 4]) rotate([0, 0, 30])cylinder(h = 3, r = 3.2, $fn=6);
|
|
||||||
translate([-5.5,-17.2,4]) rotate([0,0,30]) cube([5,5,3]);
|
|
||||||
translate([-0,-17.2,4]) rotate([0,0,60]) cube([5,10,3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Final prototype
|
|
||||||
module x_end_plain()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
x_end_base();
|
|
||||||
x_end_holes();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
x_end_plain();
|
|
||||||
|
|
||||||
|
|
||||||
module pushfit_rod(diameter,length)
|
|
||||||
{
|
|
||||||
poly_cylinder(h = length, r=diameter/2);
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Y belt holder
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module y_belt_holder()
|
|
||||||
{
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// base block
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate([-7,-24,44.5]) cube([14,48,8]);
|
|
||||||
translate([-5,-15,29]) cube([12,30,17]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// belt entry
|
|
||||||
translate([-7.5,-16,39.9]) rotate([0,45,0]) cube([3,32,3]);
|
|
||||||
translate([-7.5,-16,34.9]) rotate([0,45,0]) cube([3,32,3]);
|
|
||||||
|
|
||||||
// lower belt slot
|
|
||||||
translate([-8.5,-16,34.2]) cube([11.5,32,0.75]);
|
|
||||||
translate([-8.5,-16,35.4]) rotate([0,5,0]) cube([11.5,32,0.2]);
|
|
||||||
translate([-8.5,-16,33.6]) rotate([0,-5,0]) cube([11.5,32,0.2]);
|
|
||||||
for (_step =[-16:2:16])
|
|
||||||
{
|
|
||||||
translate([-8.5,_step,33]) cube([11.5,1,1.5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// upper belt slot
|
|
||||||
translate([-8.5,-16,39.2]) cube([11.5,32,0.75]);
|
|
||||||
translate([-8.5,-16,40.4]) rotate([0,5,0]) cube([11.5,32,0.2]);
|
|
||||||
translate([-8.5,-16,38.6]) rotate([0,-5,0]) cube([11.5,32,0.2]);
|
|
||||||
for (_step =[-17:2:16])
|
|
||||||
{
|
|
||||||
translate([-8.5,_step,38.2]) cube([11.5,1,1.5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// nice edges
|
|
||||||
translate([-8,-20,21.8]) rotate([45,0,0]) cube([16,10,10]);
|
|
||||||
translate([-8,20,21.8]) rotate([45,0,0]) cube([16,10,10]);
|
|
||||||
|
|
||||||
translate([-8,-30,37]) rotate([45,0,0]) cube([16,10,10]);
|
|
||||||
translate([-8,30,37]) rotate([45,0,0]) cube([16,10,10]);
|
|
||||||
translate([-12.2,-30,44.4]) rotate([0,45,0]) cube([5,60,5]);
|
|
||||||
|
|
||||||
// mounting screw holes
|
|
||||||
translate([0,-19.50,40]) cylinder( h=30, r=1.65, $fn=30 );
|
|
||||||
translate([0,19.50,40]) cylinder( h=30, r=1.65, $fn=30 );
|
|
||||||
translate([0,-19.25,40]) cylinder( h=30, r=1.65, $fn=30 );
|
|
||||||
translate([0,19.25,40]) cylinder( h=30, r=1.65, $fn=30 );
|
|
||||||
translate([0,-19.0,40]) cylinder( h=30, r=1.65, $fn=30 );
|
|
||||||
translate([0,19.0,40]) cylinder( h=30, r=1.65, $fn=30 );
|
|
||||||
|
|
||||||
translate([0,-19.5,43.5]) cylinder( h=7, r=3.1, $fn=30 );
|
|
||||||
translate([0,19.5,43.5]) cylinder( h=7, r=3.1, $fn=30 );
|
|
||||||
translate([0,-19.25,43.5]) cylinder( h=7, r=3.1, $fn=30 );
|
|
||||||
translate([0,19.25,43.5]) cylinder( h=7, r=3.1, $fn=30 );
|
|
||||||
translate([0,-19.0,43.5]) cylinder( h=7, r=3.1, $fn=30 );
|
|
||||||
translate([0,19.0,43.5]) cylinder( h=7, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([-40,0,7]) rotate([0,90,0]) y_belt_holder();
|
|
||||||
//version
|
|
||||||
translate([8.5,3.5,0.5]) rotate([0,180,90]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Y belt idler
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module Y_belt_idler()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// base block
|
|
||||||
translate([-12.5,-20,5]) cube([25,20,35]);
|
|
||||||
translate([-4.75,-27,-1]) cube([9.5,20,50]);
|
|
||||||
|
|
||||||
// angled front side
|
|
||||||
translate([-15,-19.5,-15]) rotate([37,0,0]) cube([30,20,40]);
|
|
||||||
translate([-15,-12,-15]) rotate([60,0,0]) cube([30,20,40]);
|
|
||||||
translate([-15,-20,29.5]) rotate([38,0,0]) cube([30,20,20]);
|
|
||||||
|
|
||||||
// screws
|
|
||||||
translate([0,1,36]) rotate([90,0,0]) cylinder( h=25, r=1.65, $fn=30 );
|
|
||||||
translate([0,-2,36]) rotate([90,0,0]) cylinder( h=6, r=3.2 , $fn=6 );
|
|
||||||
translate([0,1,10]) rotate([90,0,0]) cylinder( h=25, r=1.65, $fn=30 );
|
|
||||||
translate([0,-2,10]) rotate([90,0,0]) cylinder( h=6, r=3.2 , $fn=6 );
|
|
||||||
translate([0,-5,36]) rotate([90,0,0]) cylinder( h=6, r=3.2 , r2=3.9, $fn=6 );
|
|
||||||
translate([0,-5,10]) rotate([90,0,0]) cylinder( h=6, r=3.2 , r2=3.9, $fn=6 );
|
|
||||||
translate([0,1,36]) rotate([90,0,0]) cylinder( h=2, r=2.5, r2=1.65,$fn=30 );
|
|
||||||
translate([0,1,10]) rotate([90,0,0]) cylinder( h=2, r=2.5, r2=1.65,$fn=30 );
|
|
||||||
|
|
||||||
// pulley cut
|
|
||||||
translate([-5,-14,22.5]) rotate([0,90,0]) cylinder( h=10, r=10, $fn=30 );
|
|
||||||
|
|
||||||
// pulley screw axis
|
|
||||||
translate([-13.5,-14,22.5]) rotate([0,90,0]) cylinder( h=30, r=1.6, $fn=30 );
|
|
||||||
translate([-14,-14,22.5]) rotate([0,90,0]) cylinder( h=7, r=3.2, $fn=6 );
|
|
||||||
translate([-14,-14,22.5]) rotate([0,90,0]) cylinder( h=4, r2=3.2, r1=4, $fn=6 );
|
|
||||||
translate([8,-14,22.5]) rotate([0,90,0]) cylinder( h=6, r=3.2, $fn=30 );
|
|
||||||
|
|
||||||
// selective infill
|
|
||||||
translate([-10,-18,18]) cube([3,17,0.5]);
|
|
||||||
translate([8,-18,18]) cube([3,17,0.5]);
|
|
||||||
translate([-10,-18,27]) cube([3,17,0.5]);
|
|
||||||
translate([8,-18,27]) cube([3,17,0.5]);
|
|
||||||
translate([-10,-17,16]) cube([3,15,0.5]);
|
|
||||||
translate([8,-17,16]) cube([3,15,0.5]);
|
|
||||||
translate([-10,-16,29]) cube([3,15,0.5]);
|
|
||||||
translate([8,-16,29]) cube([3,15,0.5]);
|
|
||||||
translate([-8,-2,30]) cube([16,1,0.5]);
|
|
||||||
translate([-8,-2,13]) cube([16,1,0.5]);
|
|
||||||
|
|
||||||
// upper side mark
|
|
||||||
translate([8.5,-3.5,39]) rotate([0,0,0]) cylinder( h=2, r=1.5, $fn=30 );
|
|
||||||
|
|
||||||
//version
|
|
||||||
translate([3.5,-0.5,20]) rotate([90,0,180]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
rotate([-90,0,0]) Y_belt_idler();
|
|
||||||
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Y holder front
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module ziptie_round_edge()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,0,0]) rotate([90,0,0]) cylinder( h=3, r=4, $fn=30 );
|
|
||||||
translate([0,1,0]) rotate([90,0,0]) cylinder( h=5, r=2, $fn=30 );
|
|
||||||
translate([-10,-4,0]) cube([20,5,5]);
|
|
||||||
translate([-20,-4,-13]) cube([20,5,20]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module part()
|
|
||||||
{
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// body block
|
|
||||||
translate([-13,0,0]) cube([26,10,12]);
|
|
||||||
translate([-4,0,-1.5]) cube([8,10,2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// y-axis cut
|
|
||||||
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=14, r=4, $fn=30 );
|
|
||||||
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4.5, r2=4, $fn=30 );
|
|
||||||
translate([0,1,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4, r2=4.5, $fn=30 );
|
|
||||||
translate([-7,-1,14.5]) rotate([0,45,0]) cube([10,20,10]);
|
|
||||||
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=1.4, r1=5, r2=4, $fn=30 );
|
|
||||||
|
|
||||||
// screw holes
|
|
||||||
translate([-5.5,9,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.75, $fn=30 );
|
|
||||||
translate([5.5,9,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.75, $fn=30 );
|
|
||||||
translate([-5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.75, r2=2.6, $fn=30 );
|
|
||||||
translate([5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.75, r2=2.6, $fn=30 );
|
|
||||||
|
|
||||||
// ziptie
|
|
||||||
translate([7.8,8,9]) ziptie_round_edge();
|
|
||||||
translate([-7.8,5,9]) rotate([0,0,180]) ziptie_round_edge();
|
|
||||||
translate([-8.1,5,5]) cube([16.2,3,2]);
|
|
||||||
translate([0.8,5,24.5]) rotate([0,60,0]) cube([20,3,2]);
|
|
||||||
translate([-1.8,5,26.5]) rotate([0,120,0]) cube([20,3,2]);
|
|
||||||
|
|
||||||
// nuts
|
|
||||||
translate([-8.2,2,-3.4]) cube([5.6,2.1,10]);
|
|
||||||
translate([2.8,2,-3.4]) cube([5.6,2.1,10]);
|
|
||||||
|
|
||||||
// upper corners
|
|
||||||
translate([4,-1,20]) rotate([0,60,0]) cube([20,30,20]);
|
|
||||||
translate([-21.2,-1,30]) rotate([0,120,0]) cube([20,30,20]);
|
|
||||||
translate([-5,-6,-2]) cube([10,10,2]);
|
|
||||||
translate([-15,10,-6.5]) rotate([45,0,0]) cube([30,5,5]);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rotate([-90,0,0]) part();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Y holder rear
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module ziptie_round_edge()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,0,0]) rotate([90,0,0]) cylinder( h=3, r=4, $fn=30 );
|
|
||||||
translate([0,1,0]) rotate([90,0,0]) cylinder( h=5, r=2, $fn=30 );
|
|
||||||
translate([-10,-4,0]) cube([20,5,5]);
|
|
||||||
translate([-20,-4,-13]) cube([20,5,20]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module part()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
|
|
||||||
// body block
|
|
||||||
translate([-13,0,-2]) cube([26,10,14]);
|
|
||||||
|
|
||||||
// y-axis cut
|
|
||||||
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=14, r=4, $fn=30 );
|
|
||||||
translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4.5, r2=4, $fn=30 );
|
|
||||||
translate([0,1,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4, r2=4.5, $fn=30 );
|
|
||||||
translate([-7,-1,14.5]) rotate([0,45,0]) cube([10,20,10]);
|
|
||||||
|
|
||||||
// screw holes
|
|
||||||
translate([-5.5,11,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.7, $fn=30 );
|
|
||||||
translate([5.5,11,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.7, $fn=30 );
|
|
||||||
translate([-5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r=1.7, r2=3,$fn=30 );
|
|
||||||
translate([5.5,1,3.5]) rotate([90,0,0]) cylinder( h=2, r=1.7, r2=3, $fn=30 );
|
|
||||||
|
|
||||||
// ziptie
|
|
||||||
translate([7.8,8,9]) ziptie_round_edge();
|
|
||||||
translate([-7.8,5,9]) rotate([0,0,180]) ziptie_round_edge();
|
|
||||||
translate([-8.1,5,5]) cube([16.2,3,2]);
|
|
||||||
translate([0.8,5,24.5]) rotate([0,60,0]) cube([20,3,2]);
|
|
||||||
translate([-1.8,5,26.5]) rotate([0,120,0]) cube([20,3,2]);
|
|
||||||
|
|
||||||
// nuts
|
|
||||||
translate([-8.2,2,-3.4]) cube([5.6,2.1,10]);
|
|
||||||
translate([2.8,2,-3.4]) cube([5.6,2.1,10]);
|
|
||||||
|
|
||||||
// upper corners
|
|
||||||
translate([4,-1,20]) rotate([0,60,0]) cube([20,30,20]);
|
|
||||||
translate([-21.2,-1,30]) rotate([0,120,0]) cube([20,30,20]);
|
|
||||||
translate([-20,15,-9]) rotate([50,0,0]) cube([40,10,10]);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rotate([90,0,0]) part();
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Y motor holder
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module holder()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
// base body
|
|
||||||
translate([-6,-1.5,0]) cube([19,42,47]);
|
|
||||||
|
|
||||||
// shape cuts
|
|
||||||
translate([-20,19.5,26]) rotate([0,90,0]) cylinder( h=35, r=12, $fn=30 );
|
|
||||||
translate([-11,20,15]) cube([26,23,64]);
|
|
||||||
translate([-20,5.5,-1]) cube([26,41,64]);
|
|
||||||
translate([-20,-5,37]) cube([26,21,20]);
|
|
||||||
translate([-20,-1,37]) cube([26,30,20]);
|
|
||||||
|
|
||||||
// lower motor screw
|
|
||||||
translate([-20,35 ,10.5]) rotate([0,90,0]) cylinder( h=40, r=1.65, $fn=30 );
|
|
||||||
translate([-7,35,10.5]) rotate([0,90,0]) cylinder( h=15, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
// upper motor screw
|
|
||||||
translate([-20,4,41.5]) rotate([0,90,0]) cylinder( h=40, r=1.65, $fn=30 );
|
|
||||||
translate([4,4,41.5]) rotate([0,90,0]) cylinder( h=4, r=3.1, $fn=30 );
|
|
||||||
|
|
||||||
// lower frame screw
|
|
||||||
translate([0,12,7]) rotate([90,0,0]) cylinder( h=40, r=1.6, $fn=30 );
|
|
||||||
translate([0,7,7]) rotate([90,0,0]) cylinder( h=5, r=3.2, $fn=6 );
|
|
||||||
translate([0,6.6,7]) rotate([90,0,0]) cylinder( h=2, r2=3.2, r1=4, $fn=6 );
|
|
||||||
|
|
||||||
// upper frame screw
|
|
||||||
translate([0,12,29]) rotate([90,0,0]) cylinder( h=40, r=1.6, $fn=30 );
|
|
||||||
translate([0,7,29]) rotate([90,0,0]) cylinder( h=5, r=3.2, $fn=6 );
|
|
||||||
translate([0,6.6,29]) rotate([90,0,0]) cylinder( h=2, r2=3.2, r1=4, $fn=6 );
|
|
||||||
|
|
||||||
// corners
|
|
||||||
translate([-10,20,42]) rotate([45,0,0]) cube([60,10,10]);
|
|
||||||
translate([-10,-5,42]) rotate([45,0,0]) cube([60,10,10]);
|
|
||||||
translate([-10,38,-7]) rotate([45,0,0]) cube([60,20,10]);
|
|
||||||
translate([-10,43,10]) rotate([45,0,0]) cube([60,20,20]);
|
|
||||||
translate([-14,-10,-2]) rotate([0,45,0]) cube([10,50,10]);
|
|
||||||
translate([-14,-10,37]) rotate([0,45,0]) cube([10,50,10]);
|
|
||||||
translate([18,-10,-5]) rotate([0,0,45]) cube([10,10,60]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// reinforcement
|
|
||||||
translate([7.8,1.9,0]) rotate([0,0,55]) cube([5,5,18]);
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([7.8,1.9,13.6]) rotate([0,0,55]) cube([5,5,23.4]);
|
|
||||||
translate([-20,19.5,26]) rotate([0,90,0]) cylinder( h=35, r=12, $fn=30 );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module y_motor_holder()
|
|
||||||
{
|
|
||||||
rotate([0,90,0])
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
holder();
|
|
||||||
|
|
||||||
// selective infill
|
|
||||||
translate([-0,1,33]) cube([12,0.5,2]);
|
|
||||||
translate([-3,1,2]) cube([15,0.5,1]);
|
|
||||||
translate([-5,1.5,13]) cube([17,0.5,8]);
|
|
||||||
|
|
||||||
//version
|
|
||||||
translate([-1,-1,15]) rotate([90,0,0]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
y_motor_holder();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,127 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Z axis bottom holder
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module z_bottom_base()
|
|
||||||
{
|
|
||||||
translate([0,-1.5,0]) cube([8,49,16+20]); // plate touching the base
|
|
||||||
translate([0,-5,0]) cube([30,4.01,22]); // plate touching the base
|
|
||||||
translate([0,41.5,0]) cube([30,6.01,22]); // plate touching the base
|
|
||||||
translate([0,-5,0]) cube([50,52.5,5]); // plate touching the base
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_bottom_fancy()
|
|
||||||
{
|
|
||||||
// corner cutouts
|
|
||||||
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([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([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,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
|
|
||||||
|
|
||||||
translate([-38,-10,-2]) rotate([0,45,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]);
|
|
||||||
|
|
||||||
translate([-5,-10,-8.0]) rotate([45,0,0]) cube([60,10,10]);
|
|
||||||
translate([-5,52.0,-8.5]) rotate([45,0,0]) cube([60,10,10]);
|
|
||||||
translate([47,-10,-2]) rotate([0,45,0]) cube([30,60,30]);
|
|
||||||
|
|
||||||
translate([49,37.5,-2]) rotate([0,45,45]) cube([30,30,30]);
|
|
||||||
translate([29,-16.7,-2]) rotate([0,45,-45]) cube([30,30,30]);
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_bottom_holes()
|
|
||||||
{
|
|
||||||
// Frame mounting screw holes
|
|
||||||
translate([-1,10,12]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
|
|
||||||
translate([-1,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
|
|
||||||
translate([-1,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
|
|
||||||
|
|
||||||
// Frame mounting screw head holes
|
|
||||||
translate([4,10,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
|
||||||
translate([4,10+20,12]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
|
||||||
translate([4,10+10,32]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
|
||||||
translate([4,10+10-3.1,10+20+2]) cube([10,6.2,10]);
|
|
||||||
translate([4,10,38]) rotate([0,45,0]) cube([10,20,10]);
|
|
||||||
|
|
||||||
// Z rod holder
|
|
||||||
translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=50);
|
|
||||||
translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 2.6, r1=4.5, r2=4.1, $fn=50);
|
|
||||||
translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing
|
|
||||||
|
|
||||||
// motor mounting
|
|
||||||
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,0]) cylinder(h = 2, r1=2.1, r2=1.8,$fn=30);
|
|
||||||
translate([15.5,-15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8, $fn=30);
|
|
||||||
translate([-15.5,15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8, $fn=30);
|
|
||||||
translate([-15.5,-15.5,0]) cylinder(h = 2, r1=2.1, r2=1.8, $fn=30);
|
|
||||||
|
|
||||||
// motor opening
|
|
||||||
translate([0,0,-1]) cylinder(h = 20, r=12, $fn=30);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_bottom_right()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
z_bottom_base();
|
|
||||||
z_bottom_fancy();
|
|
||||||
z_bottom_holes();
|
|
||||||
}
|
|
||||||
translate([7.5,25,12]) rotate([90,180,90]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_bottom_left()
|
|
||||||
{
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
translate([0,-13,0]) mirror([0,1,0])
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
z_bottom_base();
|
|
||||||
z_bottom_fancy();
|
|
||||||
z_bottom_holes();
|
|
||||||
}
|
|
||||||
translate([7.5,-28.5,12]) rotate([90,180,90]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=5, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
z_bottom_right();
|
|
||||||
z_bottom_left();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,107 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Z axis top holder
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
module z_top_base()
|
|
||||||
{
|
|
||||||
translate([0,-5,0]) cube([8,45,16]); // plate touching the base
|
|
||||||
translate([0,-5,0]) cube([33,3.9,12]); // plate touching the base
|
|
||||||
translate([0,-5,0]) cube([38,45,5]); // plate touching the base
|
|
||||||
translate([25+4.3,3.2,5]) rotate([0,0,0]) cylinder(h = 2.5, r=7, $fn=60);
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_top_fancy()
|
|
||||||
{
|
|
||||||
// Corner cutouts
|
|
||||||
translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
|
||||||
|
|
||||||
// frame side angle
|
|
||||||
translate([-13,40+5+10.2,-3]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]);
|
|
||||||
translate([8,28,-3]) translate([0,0,-1]) cube([50,50,51]);
|
|
||||||
|
|
||||||
// cut to shape
|
|
||||||
translate([4,-1,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]);
|
|
||||||
translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
|
|
||||||
translate([8,3.9,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
|
|
||||||
|
|
||||||
// nice edges
|
|
||||||
translate([38-2.5,-5+2.5,-3]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
|
|
||||||
translate([-10,49,3.2]) rotate([45,0,0]) translate([-15,0,-1]) cube([50,20,20]);
|
|
||||||
|
|
||||||
// outer corner
|
|
||||||
translate([35,26,-3]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]);
|
|
||||||
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([33,-1,7.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
|
|
||||||
|
|
||||||
// side cut out
|
|
||||||
translate([-6,-5,-5.55]) rotate([45,0,0]) cube([50,5,5]);
|
|
||||||
translate([-6,-5,-0.8]) rotate([0,45,0]) cube([5,50,5]);
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_top_holes()
|
|
||||||
{
|
|
||||||
// Screw holes frame
|
|
||||||
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);
|
|
||||||
|
|
||||||
// Screw heads
|
|
||||||
translate([4,10,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
|
||||||
translate([4,10-3.1,10]) cube([10,6.2,10]);
|
|
||||||
translate([4,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
|
|
||||||
translate([4,10+20-3.1,10]) cube([10,6.2,10]);
|
|
||||||
|
|
||||||
// Z rod holder
|
|
||||||
translate([25+4.3,3,0.6]) rotate([0,0,0]) cylinder(h = 50, r=4.10, $fn=50);
|
|
||||||
translate([25+4.3,3,3.4]) rotate([0,0,0]) cylinder(h = 4.2, r2=4.3, r1=4, $fn=50);
|
|
||||||
|
|
||||||
// material saving cut
|
|
||||||
translate([16,10,-4]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
|
|
||||||
translate([16,28,-4]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6);
|
|
||||||
|
|
||||||
// z screw hole
|
|
||||||
translate([25+4.3,3+17,3]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
|
|
||||||
translate([25+4.3,3+17,0.6]) rotate([0,0,0]) cylinder(h = 50, r=5.8, $fn=15); // screw hole
|
|
||||||
translate([25+4.3-1,3,0.6]) cube([2,15,8]); // it's bit up because it helps with printing
|
|
||||||
|
|
||||||
//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]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_top_right(){
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
z_top_base();
|
|
||||||
z_top_fancy();
|
|
||||||
z_top_holes();
|
|
||||||
//version
|
|
||||||
translate([12,-1.5,10]) rotate([90,180,180]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module z_top_left(){
|
|
||||||
translate([0,-12,0]) mirror([0,1,0])
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
z_top_base();
|
|
||||||
z_top_fancy();
|
|
||||||
z_top_holes();
|
|
||||||
//version
|
|
||||||
translate([19,-1,10]) rotate([90,180,0]) linear_extrude(height = 0.6)
|
|
||||||
{ text("R1",font = "helvetica:style=Bold", size=4, center=true); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Final parts
|
|
||||||
z_top_left();
|
|
||||||
z_top_right();
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
// PRUSA iteration4
|
|
||||||
// Z screw cover
|
|
||||||
// GNU GPL v3
|
|
||||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
|
||||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
|
||||||
// http://prusamendel.org
|
|
||||||
|
|
||||||
|
|
||||||
translate(v=[-4.2, 0, 4.3]) rotate([0,90,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
|
|
||||||
translate(v=[4.2, 0, 4.3]) rotate([0,-90,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
|
|
||||||
translate(v=[0, 4.2, 4.3]) rotate([90,0,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
|
|
||||||
translate(v=[0, -4.2, 4.3]) rotate([-90,0,0]) cylinder(r1=0.6, r2=0.4, h = 1, $fn=60);
|
|
||||||
|
|
||||||
translate(v=[-4.2, 0.5, 4.0]) rotate([0,90,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
|
|
||||||
translate(v=[4.2, -0.5, 4.0]) rotate([0,-90,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
|
|
||||||
translate(v=[0.5, 4.2, 4.0]) rotate([90,0,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
|
|
||||||
translate(v=[-0.5, -4.2, 4.0]) rotate([-90,0,0]) cylinder(r1=0.6, r2=0.3, h = 0.8, $fn=60);
|
|
||||||
|
|
||||||
translate(v=[-4.2, 1, 3.7]) rotate([0,90,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
|
|
||||||
translate(v=[4.2, -1, 3.7]) rotate([0,-90,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
|
|
||||||
translate(v=[1, 4.2, 3.7]) rotate([90,0,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
|
|
||||||
translate(v=[-1, -4.2, 3.7]) rotate([-90,0,0]) cylinder(r1=0.5, r2=0.3, h = 0.6, $fn=60);
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
translate(v=[0, 0, 1]) cylinder(r1=8, r2=4.6, h = 4);
|
|
||||||
cylinder(r=8, h = 1, $fn=60);
|
|
||||||
}
|
|
||||||
translate(v=[0, 0, -1]) cylinder(r=4.2, h = 7, $fn=60);
|
|
||||||
cylinder(r1=4.5, r2=4.2, h = 1, $fn=60);
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
42
README.md
42
README.md
|
|
@ -1,18 +1,36 @@
|
||||||
# Original Prusa i3 MK3
|
# Original Prusa i3 MK2.5 upgrade
|
||||||
|
|
||||||
|
|
||||||
Original Prusa i3 MK3 is a 3D printer project maintained by PRUSA RESEARCH.
|
Original Prusa i3 MK2.5 upgrade 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 related to MK2.5 upgrade.
|
||||||
|
This branch contains only parts that are needed for upgrade and are different from MK3 version.
|
||||||
|
|
||||||
**Links**
|
Parts might change until final version of upgrade is released.
|
||||||
|
|
||||||
* Prusa Research website : http://prusa3d.com
|
|
||||||
* Product page: https://shop.prusa3d.com/en/3d-printers/180-original-prusa-i3-mk3-kit.html
|
**List of printed parts needed for MK2.5 upgrade with versions :**
|
||||||
* Build manual: http://manual.prusa3d.com/c/Original_Prusa_i3_MK3_kit_assembly
|
|
||||||
* Firmware : https://github.com/prusa3d/Prusa-Firmware
|
**MK2.5**
|
||||||
* MK52 heatbed : https://github.com/prusa3d/Heatbed_MK52_magnetic
|
* X-carriage-back.stl
|
||||||
* Laser filament sensor : https://github.com/prusa3d/PRUSA_Laser_filament_sensor
|
* X-carriage.stl
|
||||||
* MK3 Power panic : https://github.com/prusa3d/MK3_Power_Panic
|
* Cable-holder.stl
|
||||||
|
* Rambo-base.stl
|
||||||
|
* Rambo-doors.stl
|
||||||
|
* Rambo-hinges.stl
|
||||||
|
* Extruder-cable-clip.stl
|
||||||
|
* Heatbed-cable-clip.stl
|
||||||
|
* Heatbed-cable-cover.stl
|
||||||
|
|
||||||
|
**MK3 repository**
|
||||||
|
* Extruder-body.stl
|
||||||
|
* Extruder-cover.stl
|
||||||
|
* nozzle-fan-45deg-support.stl
|
||||||
|
* nozzle-fan-45deg.stl*
|
||||||
|
* Extruder-idler.stl
|
||||||
|
* Filament-sensor-cover.stl
|
||||||
|
* Idler-plug.stl
|
||||||
|
|
||||||
|
|
||||||
|
( *nozzle-fan-45deg is included in the official upgrade package )
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue