Results 1 to 10 of 12
Thread: Design software?
Threaded View
-
05-03-2015, 12:44 AM #8
The RepRap printers all use OpenScad. Its different than the graphical design tools. But a lot of people (myself included) gravitate to it.
Paste this into OpenScad... I'm making a TakerBot Robot that lets you scale the size:
(The real MakerBot Robot doesn't scale. As you change the size, the joints fuse and the different limbs can't move. This code lets you set the size and the amount of clearance you want on the joints. You might have a failed print, but you will know what number to change to make it print right the next time on your printer! And... You can edit in your text to print on it. )
Code://square_ring( x=10, y=10, z=2, thickness=4); Size = 1.00; S=Size; Clearance = 1.00; main_body(); //foot(); //shin(); //thigh( Open_Joint=1 ); //leg(); //translate([0,-2,0]) mirror([0,1,0]) leg(); module main_body() { union() { difference() { translate([-16*S,0,3*S]) scale([S,S,S]) minkowski() { cube([22.3,27,17.8]); sphere(r=3, $fn=20); } // Cut out and form hip joint translate([15*S,17*S,0]) minkowski() { thigh( Open_Joint=1 ); translate([-Clearance/2,-Clearance/2,-Clearance/2]) cube([Clearance,Clearance,Clearance]); } translate([15*S,13*S,0]) minkowski() { translate([0,-2,0]) mirror([0,1,0]) thigh(Open_Joint=1); translate([-Clearance/2,-Clearance/2,-Clearance/2]) cube([Clearance,Clearance,Clearance]); } // make the indented belt translate([-20*S,-3*S,10.0*S]) rotate([45,0,0]) scale([S,S,S]) cube([48,2,2]); translate([-20*S,29.9*S,10.0*S]) rotate([45,0,0]) scale([S,S,S]) cube([48,2,2]); translate([-19*S,-4*S,10.0*S]) rotate([0,-45,0]) scale([S,S,S]) cube([2,48,2]); translate([9.6*S,-4*S,10.0*S]) rotate([0,-45,0]) scale([S,S,S]) cube([2,48,2]); // make the Emblem indent translate([S*(8.0-.15),14*S,12.0*S]) rotate([0,90,0]) scale([S,S,S]) cylinder( r1=7, r2=9.5, h=2.00); } translate([15*S,17*S,0]) leg(); translate([15*S,13*S,0]) translate([0,-2,0]) mirror([0,1,0]) leg(); translate([8.5*S,13.9*S,11.5*S]) scale([S,S,S]) minkowski() { rotate([90,0,90]) linear_extrude(height=.1, convexity=4) text("T", size=7, font="Bitstream Vera Sans", halign="center", valign="center"); sphere(r=1, $fn=20); } } } module leg() { difference() { thigh(); minkowski() { shin( Open_Joint=1 ); translate([-Clearance/2,-Clearance/2,-Clearance/2]) cube([Clearance,Clearance,Clearance]); } } difference() { shin(); minkowski() { foot(); translate([-Clearance/2,-Clearance/2,-Clearance/2]) cube([Clearance,Clearance,Clearance]); } } foot(); } module thigh( Open_Joint=0 ) { translate([-4*S,0,0]) scale([S,S,S]) difference() { union() { hull() { translate([0,1,0]) cube([1,8.5,10]); translate([10,1,0]) cube([1,9,11]); } translate([-8,6.0,0]) cube([10.00,3.5,8.0]); translate([-8,6.0,8.0/2]) rotate([-90,0,0]) cylinder(r=8.0/2, h=3.5, $fn=25); if ( Open_Joint==1 ) translate([-12,6.0,0]) cube([8.00,3.5,8.0]); } translate([9,-1,-2]) rotate([0,20,0]) cube([10,20,10]); translate([-8,0,8.0/2]) rotate([-90,0,0]) cylinder(r=8.0/3.5, h=15.0, $fn=25); } } module shin( Open_Joint=0 ) { translate([8*S,0,0]) scale([S,S,S]) difference() { union() { hull() { translate([0,0,0]) cube([1,13,13]); translate([10,0,0]) cube([1,16,16]); } translate([-6,3.0,0]) cube([7.00,3.5,8.0]); translate([-6,3.0,8.0/2]) rotate([-90,0,0]) cylinder(r=8.0/2, h=3.5, $fn=25); if ( Open_Joint==1 ) translate([-10,3.0,0]) cube([8.00,3.5,8.0]); } translate([9,-1,0]) rotate([0,20,0]) cube([10,20,10]); translate([-6,0,8.0/2]) rotate([-90,0,0]) cylinder(r=8.0/3.5, h=15.0, $fn=25); } } module foot() { translate([20*S,0,0]) scale([S,S,S]) difference() { union() { cube([5.25,18.25,23.75]); translate([-6,6.0,0]) cube([7.00,3.5,8.0]); translate([-6,6.0,8.0/2]) rotate([-90,0,0]) cylinder(r=8.0/2, h=3.5, $fn=25); } translate([-5,21,18]) rotate([ 45,0,0]) cube([20,20.,23.75]); translate([-5,-24,25]) rotate([-45,0,0]) cube([20,20.,23.75]); translate([-21,-1,18]) rotate([0,20,0]) cube([20,20.,23.75]); translate([-5,-24,-5]) rotate([-55,0,0]) cube([20,20.,23.75]); translate([-5,33,-18]) rotate([55,0,0]) cube([20,20.,23.75]); translate([-6,3.0-.001,8.0/2]) rotate([-90,0,0]) cylinder(r=8.0/3.5, h=15.0, $fn=25); } } module square_ring( x=10, y=10, z=2, thickness=4) { difference() { cube([x,y,z]); translate([thickness/2, thickness/2, -.001]) cube(x-thickness, y-thickness, z*2); } }
Last edited by Roxy; 05-03-2015 at 01:11 AM.
New to 3d printing looking for...
05-20-2024, 12:56 AM in Tips, Tricks and Tech Help