3d printing

From Applied Optics Wiki
Revision as of 18:27, 9 June 2013 by Matt (talk | contribs) (Typical workflow (how to design and print something))

Jump to: navigation, search

The Fab Lab has a Makerbot Replicator 2 for 3D printing using PLA plastic.

Training

The replicator 2 is a relatively easy and straightforward machine to use. BUT please ask someone who has used it before to show you how before trying it.

Prerequisites

The printer is set up only to accept files in .x3g format supplied on an SD card. If you want to print some other way forget it. Since most instructions will assume you print from makerware from a computer directly attached to the print please follow these instructions carefully (else you can bugger the printer).

Software

Please install the follow bits of software on your computer - they all run on all platforms (Windows, Mac and Linux) and all have reasonable instructions for installation. I have only tested on linux from kubuntu, YMMV.

OpenSCAD

This is a really nice bit of software for designing 3D objects. You use it be writing a very simple program to describe your object. Once you are happy you export to a .STL file which describes your object. OpenSCAD is in kubuntu repositories

ReplicatorG

This will take the .STL file and produce .gcode and .x3g code. The .gcode is basically the generic instructions for printing the object. The .x3g is a specific translation of the gcode for the 3D printer. ReplicatorG can be obtained here: http://replicat.org/

ReptierHost

This is useful for viewing the .gcode instructions to make sure you are happy with the internal structure of the object you're designing. RepetierHost can be downloaded here: http://www.repetier.com/download/

Makerware

This is makerbot's own system - I haven't tried it.

Typical workflow (how to design and print something)

In OpenSCAD design an object - this is done by writing a little program to describe it. This is very easy and very efficient, eg.

 
$fn=50; 
difference(){ 
// the cube 
minkowski() { 
cube([38,38,38],center=true); 
// rounded corners 
sphere(r=1,$fn=10); 
}
// the stuff we remove 
rotate([0,0,0])cylinder(h=50,r=15,center=true); 
rotate([90,0,0])cylinder(h=50,r=15,center=true); 
rotate([90,0,90])cylinder(h=50,r=15,center=true); 
translate([15,15,21])cylinder(h=10,r=3,center=true); 
translate([-15,15,21])cylinder(h=10,r=3,center=true); 
translate([15,-15,21])cylinder(h=10,r=3,center=true);
translate([-15,-15,21])cylinder(h=10,r=3,center=true);
translate([15,15,-21])cylinder(h=10,r=3,center=true);
translate([-15,15,-21])cylinder(h=10,r=3,center=true);
translate([15,-15,-21])cylinder(h=10,r=3,center=true);
translate([-15,-15,-21])cylinder(h=10,r=3,center=true);	
}