better nylon holder, nut inserts edited

This commit is contained in:
veverkaondrej 2018-10-01 10:49:48 +01:00 committed by GitHub
parent c3aefb438d
commit 125676633a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 381 additions and 368 deletions

View File

@ -1,368 +1,381 @@
// PRUSA iteration4 // PRUSA iteration4
// X carriage // X carriage
// 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
use <bearing.scad> use <bearing.scad>
module belt_cut() module belt_cut()
{ {
rotate([0,0,180]) rotate([0,0,180])
{ {
translate([-20,0,0]) cube([39,0.75,15]); 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([-7,0,0]) cube([39,0.75,10]);
translate([-20,0,5]) rotate([10,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]) for (_step =[-20:2:18])
{ {
translate([_step,0.5,0]) cube([1,1.0,10]); translate([_step,0.5,0]) cube([1,1.0,10]);
} }
for (_step =[-20:2:18]) for (_step =[-20:2:18])
{ {
translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]); translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]);
} }
} }
} }
module x_carriage_base() module x_carriage_base()
{ {
// Small bearing holder // Small bearing holder
translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1); translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1);
// Long bearing holder // Long bearing holder
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2); translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2);
// Base plate // Base plate
translate([-34,-14,0]) cube([34.5,70.5,7]); translate([-34,-14,0]) cube([34.5,70.5,7]);
translate([-33,-15,0]) cube([33,7,15]); translate([-33,-15,0]) cube([33,7,15]);
translate([-42.5,53.0,0]) cube([52,6.5,15]); translate([-42.5,53.0,0]) cube([52,6.5,15]);
difference() difference()
{ {
union() union()
{ {
translate([-12,30,1]) rotate([0,0,45]) cube([6,6,14]); translate([-12,30,1]) rotate([0,0,45]) cube([6,6,14]);
translate([-20,30,1]) rotate([0,0,45]) cube([6,6,14]); translate([-20,30,1]) rotate([0,0,45]) cube([6,6,14]);
} }
translate([-25,38,11]) rotate([43,0,0]) cube([20,8,8]); translate([-25,38,11]) rotate([43,0,0]) cube([20,8,8]);
} }
// 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,0]) rotate([0,0,0]) cube([32.5,18.2,8]);
// Belt holder base // Belt holder base
translate([-42.5,20,0]) cube([52,16,7]); translate([-42.5,20,0]) cube([52,16,7]);
// new belt holder base block // new belt holder base block
translate([-42.5,18,7]) cube([52,16.3,8]); translate([-42.5,18,7]) cube([52,16.3,8]);
} }
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);
// Long bearing holder holes cutter // Long bearing holder holes cutter
translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(2); translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_holes_nozip(2);
// upper ziptie right // upper ziptie right
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=25);
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=25);
} }
// 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=25);
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=25);
} }
// upper ziptie head // upper ziptie head
translate([0,52.5,12]) cube([10,10,5]); translate([0,52.5,12]) cube([10,10,5]);
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.65, h=20, $fn=25); translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25); translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25);
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=25);
translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=25); translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=25);
translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25); translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25);
translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25);
// Carriage 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]);
} }
module x_carriage_fancy() module x_carriage_fancy()
{ {
// Top right corner // Top right corner
translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]); translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]);
// Top left corner // Top left corner
translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]); translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]);
translate([-27,74.5,9]) rotate([0,45,0]) translate([0,-15,0]) cube([5,25,5]); translate([-27,74.5,9]) rotate([0,45,0]) translate([0,-15,0]) cube([5,25,5]);
translate([-23,86,16]) rotate([45,0,0]) translate([0,-15,0]) cube([45,5,5]); translate([-23,86,16]) rotate([45,0,0]) translate([0,-15,0]) cube([45,5,5]);
// bottom side edges // bottom side edges
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,0]) cube([9,12,15]);
difference() difference()
{ {
union() union()
{ {
translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]); translate([-20.8,24.8,0]) rotate([0,0,20]) cube([3,10,15]);
translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]); translate([-15.5,25.8,0]) rotate([0,0,-20]) cube([3,10,15]);
} }
translate([-25,34.2,0]) cube([20,10,15]); translate([-25,34.2,0]) cube([20,10,15]);
} }
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,0]) cube([9,2,15]);
translate([-39.9,5.5,0]) cube([9,2,15]); translate([-39.9,5.5,0]) cube([9,2,15]);
//Right cable tray //Right cable tray
translate([-2,5.5,0]) cube([11.45,2,15]); translate([-2,5.5,0]) cube([11.45,2,15]);
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,0]) cube([9.50,12,7]);
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]);
} }
} }
module final_cutout() module final_cutout()
{ {
// cable guide edges // 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 // 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([-14.5,9.7,10]) rotate([-5,0,0]) cylinder(r=1.52,r2=2, h=6, $fn=10);
difference () {
// bottom back mounting screws
translate([-6.5,-11,4]) cylinder(r=1.65, h=20, $fn=50); union() {
translate([-26.5,-11,4]) cylinder(r=1.65, h=20, $fn=50); translate([-14.199,9.05,0]) rotate([-5,0,22.5]) cylinder(r=1.62, h=40, $fn=8);
translate([-29.3,-14,10]) cube([5.6,7,2.1]); translate([-14.5,9.7,8]) rotate([-5,0,22.5]) cylinder(r=1.62,r2=3, h=8, $fn=8);
translate([-09.3,-14,10]) cube([5.6,7,2.1]); }
//translate([-18,6.7,12]) cube([7,7,5]);
// better printing bridges
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]); // bottom back mounting screws
translate([-8.15,-12.65,10.7]) cube([3.3,3.3,2.1]); translate([-6.5,-11,4]) cylinder(r=1.65, h=20, $fn=50);
translate([-26.5,-11,4]) cylinder(r=1.65, h=20, $fn=50);
difference() {
// x-carriage-back mounting screws union(){
translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50); translate([-29.3,-14,10]) cube([5.6,7,2.1]);
translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50); translate([-09.3,-14,10]) cube([5.6,7,2.1]);
translate([-30.3,53,8]) cube([5.6,8,2]); }
translate([-6.8,53,8]) cube([5.6,8,2]); translate([-36,-8.1,10]) cube([40,1,0.5]);
}
// better printing bridges // better printing bridges
translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]); translate([-29.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]); translate([-09.3,-12.65,10.35]) cube([5.6,3.3,2.1]);
translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]); translate([-28.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]); translate([-8.15,-12.65,10.7]) cube([3.3,3.3,2.1]);
// center mounting screw // x-carriage-back mounting screws
translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50); translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50);
translate([-18.8,26,10.5]) cube([5.6,12,2.1]); translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50);
translate([-21,33,11]) cube([10,8,6]); translate([-30.3,53,8]) cube([5.6,8,2]);
translate([-6.8,53,8]) cube([5.6,8,2]);
// better printing bridges
translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]); // better printing bridges
translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]); 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]);
// opening for power cables to hotend & termistor cable translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]);
translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30); translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]);
}
// center mounting screw
module x_carriage_block() translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50);
{ translate([-18.8,26,10.5]) cube([5.6,12,2.1]);
difference() translate([-21,33,11]) cube([10,8,6]);
{
union() // better printing bridges
{ translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]);
difference() translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]);
{
x_carriage_base(); // opening for power cables to hotend & termistor cable
x_carriage_holes(); translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30);
x_carriage_fancy();
} }
cable_tray();
}
final_cutout(); module x_carriage_block()
} {
} difference()
{
module x_carriage() union()
{ {
difference() difference()
{ {
x_carriage_block(); x_carriage_base();
x_carriage_holes();
// upper motor screw x_carriage_fancy();
translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30); }
translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); cable_tray();
translate([2.5,67.5,5]) cylinder(r=3.2, h=8, $fn=30); }
translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25); final_cutout();
}
// cable management cleanup }
difference()
{ module x_carriage()
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]); difference()
} {
x_carriage_block();
// selective infill
// upper motor screw
translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]); translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30);
translate([8.45,11.5,1]) cube([0.5,1.8,4]); 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]) cylinder(r=3.2, h=8, $fn=30);
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]); translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25);
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]); // cable management cleanup
translate([3,-16.5,-1]) cube([2,0.5,5]); difference()
translate([6,-10.2,-1]) cube([1,0.5,5]); {
translate([3,-10.2,-1]) cube([2,0.5,5]); translate([2.5,21.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=5.0, $fn=25);
translate([6,7.5,-1]) cube([1,0.5,5]); translate([2,16,-10]) cube([10,6,20]);
translate([6,10.5,-1]) cube([1,0.5,5]); }
translate([-19,24,1.5]) cube([6,0.5,12.0]); // selective infill
//cable openings in guides translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]);
translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]); translate([8.45,11.5,1]) cube([0.5,1.8,4]);
translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
translate([5,-16.4,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
// filament sensor connector translate([5,-10.3,-1]) rotate([0,45,0]) cube([0.3,0.5,8]);
translate([-12.5,64,-3]) cube([4,11.2,14]); translate([6,-16.5,-1]) cube([1,0.5,5]);
translate([-12.5,65.75,-3]) cube([5,2.5,14]); translate([3,-16.5,-1]) cube([2,0.5,5]);
translate([-12.5,71.75,-3]) cube([5,2.5,14]); translate([6,-10.2,-1]) cube([1,0.5,5]);
translate([-14.5,67,-3]) cube([4,6,14]); translate([3,-10.2,-1]) cube([2,0.5,5]);
translate([-14.5,65,4.7]) cube([4,10.2,5]); translate([6,7.5,-1]) cube([1,0.5,5]);
translate([-12.5,54.5,8]) cube([3.5,10.2,14]); translate([6,10.5,-1]) cube([1,0.5,5]);
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([-19,24,1.5]) cube([6,0.5,12.0]);
translate([-10,58,8]) rotate([0,0,45]) cube([3,3,14]);
//cable openings in guides
translate([0,-0.5,0]) left_belt_cut(); translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]);
translate([0,0.5,0]) right_belt_cut(); translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]);
//version // filament sensor connector
translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6) translate([-12.5,64,-3]) cube([4,11.2,14]);
{ text("R2",font = "helvetica:style=Bold", size=5, center=true); } translate([-12.5,65.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,65,4.7]) cube([4,10.2,5]);
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]);
module left_belt_cut() 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([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30); translate([0,-0.5,0]) left_belt_cut();
translate([-23.0,20,7]) cube([2,10,30]); translate([0,0.5,0]) right_belt_cut();
translate([-56.5,28.5,7]) belt_cut();
translate([13.5,20.5,0]) rotate([0,0,25]) //version
{ translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6)
difference() { text("R3",font = "helvetica:style=Bold", size=5, center=true); }
{
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]) module left_belt_cut()
{ {
difference()
{ translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30);
translate([-56.5,28.5,7]) belt_cut(); translate([-23.0,20,7]) cube([2,10,30]);
translate([-82.42,25,7]) cube([37.5,10,30]); translate([-56.5,28.5,7]) belt_cut();
} translate([13.5,20.5,0]) rotate([0,0,25])
} {
translate([-45,17.6,4]) rotate([0,0,-15]) cube([10,3,30]); difference()
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); translate([-56.5,28.5,7]) belt_cut();
} translate([-80,25,7]) cube([37.5,10,30]);
}
}
module right_belt_cut() translate([13.2,2.38,0]) rotate([0,0,0])
{ {
// right belt cut difference()
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([-56.5,28.5,7]) belt_cut();
translate([22.5,25.5,7]) belt_cut(); translate([-82.42,25,7]) cube([37.5,10,30]);
translate([66.65,1.95,0]) rotate([0,0,0]) }
{ }
difference() 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([-56.5,28.5,7]) belt_cut(); translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30);
translate([-71.55,25,7]) cube([37.5,10,30]); }
}
}
translate([43.2,-30.25,0]) rotate([0,0,-30]) module right_belt_cut()
{ {
difference() // right belt cut
{ translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30);
translate([-56.5,28.5,7]) belt_cut(); translate([-11.1,19.8,7]) cube([2,10,30]);
translate([-82.1,25,7]) cube([10,10,30]); translate([22.5,25.5,7]) belt_cut();
translate([-61.5,25,7]) cube([20.5,10,30]); translate([66.65,1.95,0]) rotate([0,0,0])
} {
} difference()
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([-56.5,28.5,7]) belt_cut();
translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30); translate([-71.55,25,7]) cube([37.5,10,30]);
} }
}
translate([43.2,-30.25,0]) rotate([0,0,-30])
x_carriage(); {
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);
}
x_carriage();