How To Use the 3D Printer
1. Get a 3D Model (.stl file)
You can download an STL file, scan an object using a 3D scanner, or create one using a 3D modelling program.
Places to download printable 3D models from:
- http://www.thingiverse.com/ (recommended)
- http://www.shapeways.com/gallery?mg%5Bsearch%5D%5Bcategories%5D=99 (downloadable files from Shapeways)
- http://www.georgehart.com/ (geometric/mathematical models)
- http://endlessforms.com/ Design 3D models using evolution (and print them)
More 3D model sites:
- http://www-graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scanning Repository (use meshlab to convert .PLY to .STL)
- http://shapes.aimatshape.net/viewmodels.php Aim@Shape repository -- many high quality models, will need STL conversion
- http://edutechwiki.unige.ch/en/3D_assets (more links)
Use a 3D scanner:
- Ask Ben about his 3D scanner: good for scanning small objects. Use MeshLab or NetFabb to clean up model, make it printable.
- Photofly converts photos to 3D models: good for scanning large objects. http://labs.autodesk.com/technologies/photofly/
- Use your iPhone as a 3D scanner: http://trimensional.com/
3D model editors:
- Google Sketchup (easy to use, Windows only, no built-in STL support).
- Blender (open source, popular, higher learning curve, powerful, good manual)
- Art Of Illusion (open source, easier than Blender, but I've had problems with it)
- OpenSCAD, a language for generating STL models using Computational Solid Geometry
- MeshLab (open source) interactive tool for manipulating models, repairing flaws in models (making them printable), and for file format conversions
- NetFabb Studio Basic (free, proprietary) similar to MeshLab. Easier to use, might be better at repairs in some cases? http://edutechwiki.unige.ch/en/Netfabb_Studio_tutorial
- A nice tutorial on customizing thingiverse models using MeshLab, NetFabb and OpenSCAD: http://edutechwiki.unige.ch/en/Meshlab_for_RapMan_tutorial
- lampshade generator: http://www.thingiverse.com/thing:7664
reprap version: https://github.com/ErikDeBruijn/Makerbot/commit/35b9afbc08a5347d90e18b55383e026f4ee355db
Sketchup doesn't support STL file format natively, but plugins are available for "Import" and "Export". On Import, it's important to hit the Options button and set the units appropriately. Or use MeshLab for file conversion.
2. Print the STL file using the RepRap Mendel Host Software
This is the current procedure that we are using. It's not great, but improvements are in the pipeline. As we make improvements to the procedure, we'll update this doc.
Read the documentation for the program we use to print 3D objects: http://reprap.org/wiki/Mendel_User_Manual:_Host_Software
Convert the STL file to binary form, if it is ASCII. Use Alex W's conversion program, or use meshlab. Or use a text editor to globally replace all lowercase 'e' characters with uppercase 'E' in floating point literals.
Start the program by typing "reprap" in a shell window. Two windows will open, a Console window, and a 3D View window.
Convert the STL file to GCODE.
- Click "Load STL" in the Console window. Choose file in file selector dialog.
- Move the model to the desired location on the print bed. The model will initially appear at the origin (bottom left) in the 3D View window. You probably don't want to print it right there, as the platform is a bit uneven at that point. Left-click the model, it changes colour. Then drag using right mouse button.
- (Note that you can load several models before generating GCODE, or print several copies of the same model. Repeat above instructions.)
- There is now an opportunity to modify the GCODE generation parameters before generating GCODE, by clicking on Preferences. See section 3.
- Generate GCODE after the model has been positioned. In the Console window, select "Send GCODEs to File", then select "Print". This will take a while.
- Edit the GCODE file to work around a bug in our firmware. Find the file in your home directory, edit it, replacing M109 with M104.
- (Note that you can start up the reprap program and load a previously generated GCODE file. But you won't be able to view or reposition the model in the 3D View window.)
Warm up and clean the print head. Warming up is necessary due to the firmware bug. Also, cleaning out the extruder is supposed to improve print quality.
- In the Console window, click on the Extruder 0 tab.
- Click "Move to dump point", which positions the extruder over the notch in the print platform.
- Enter your desired temperature into the "Target temperature" text pane. Try 210, but the best temperature varies based on the model.
- Click "Switch heat on". Wait for the temperature to climb and stabilize.
- Clean out the extruder (optional, but several experts have independently told me that this helps with print quality).
- Remove the filament from the print head. Select "reverse" then repeatedly select "Extrude" until the filament has been backed all the way out.
- Square the end of the filament with wire cutters, clipping off the cone shaped end. The theory here is that you get a better print if you minimize the length of the solid to molten transition zone within the print head. This reduces the occurrence of strings: whenever the print head must move from point A to point B without extruding any plastic, the software first jerks back the filament, which is supposed to withdraw molten plastic back into the print head, but that doesn't work as well if there is a long cone and an extended transition zone, so strings are left behind during the move.
- Insert the filament back into the print head. Deselect "reverse" then repeated select "Extrude" until the filament has gone back in. Adding a small drop of oil to the filament as you are reinserting it is supposed to help. Not sure why, but maybe the oil floats above the molten zone, forming an interface between the molten plastic and the solid filament.
- Extrude a few centimeters of plastic out of the extruder to ensure that the filament is all the way in.
Print the GCODE.
- Select the "Print On G-CODE Reprap" option.
- Click the "Print" button.
Once you have printed a model, you can't repeat this process without quitting the program and starting again. (Could fix this by changing firmware?)
When you are done, remove the power plug from the reprap.
Once your part is printed, it needs to be cleaned up. Try sanding, or see the video in the reprap manual (link above).
3. GCODE Generation Parameters
You specify the material when you generate GCODE. We currently have ABS. PLA is the other popular material, which we can mail order if there is interest.
- PLA is claimed to warp less during printing, and smell better (fumes less toxic). The printing temperature is lower. It's biodegradable. It's more brittle, and very hot water will melt it.
- ABS (what we have) is stronger, less brittle, more durable, has a higher melting point.
You specify the temperature when generating GCODE. Kevin has had success printing at 220 degrees (ABS). Don had the most success with his icosahedron part at 216. My cube printed okay at 210.
- Lower temperatures are preferred for: small printed areas, large overhangs, or other situations where faster phase change is beneficial. Lower temperatures also reduce swell inside the extruder and decrease the extrusion after feedstock drive is stopped.
- Higher temperatures allow the build material to flow into printed areas and extrude faster, and bond to previously extruded stock faster. At the same the filament becomes more viscous and more plastic evacuates the extruder after drive is stopped. A fan can help the plastic solidify faster and improve performance.
If your first layer doesn't stick to the base, drop the first Z cordinate that extrudes your part by .1 till it does. Once your first layer is down the next layers are good.
Lots more parameters to tweak.
Other Software that We are Investigating
Here are some all-in-one programs that handle these printing a model:
- the original RepRap Mendel Host Software: "RepRap" in the Desktop folder
- We've used this software successfully, but it has a number of problems:
- The user interface is terrible
- It won't read standard text based STL files from thingiverse.com without a format conversion: you have to translate lower case 'e' to upper case 'E' in floating point number literals, or use Alex's program to convert these to binary STL files.
- The generated GCODE files need to be manually edited before printing.
- ReplicatorG (also in the Desktop folder)
- This is the MakerBot printing software. The Mendel is only "experimentally" supported. The control panel is kind of broken: no way to control the extruder motor, and it keeps getting wedged while communicating with the Mendel, which I fix by rebooting. Probably better to use the Mendel control panel instead.
- RepSnappper. Recommended by Kimberly Aandrus, CTO of TechZone Communications, the vendor who built our Mendel kit.
- We use repsnapper and run our files through a free website we created to clean them up. It is at www.3dtoolchain.com It is not pretty, but it works well.
- Pronterface: https://github.com/kliment/Printrun (fairly new, recommended by Josef Průša, one of the RepRap core developers, via Alex W). Requires the use of Sprinter firmware, which speeds up printing and improves print quality.
A GCODE file contains opcodes that directly controls the behaviour of the 3D printer at a low level. The conversion from STL to GCODE is non-trivial, and there's a lot of fiddling you can do during the conversion that will improve the print quality.
You can print several objects at once, which means loading several STL files, positioning each object on the print platform, then generating GCODE.
Instructions for Mendel Host Software:
- see above
- according to Kevin, the STL file needs to be manually edited before being loaded, to uppercase all the ‘e’s in the exponential-notation numbers
- according to Kevin, the GCODE file needs to be manually edited after generation, to replace the M109 (set temperature and wait to stabilize, which unfortunately often waits forever) with M104 (set temperature).
ReplicatorG and PronterFace use SkeinForge for GCODE generation. Not tried yet. Skeinforge docs: http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge A Skeinforge tutorial: http://edutechwiki.unige.ch/en/Skeinforge_for_RapMan
Skeinforge is powerful, but difficult to use. Rotorit has made Sfact, which is an easier to use Skeinforge (it's on his github account). Rotorit has our kind of printer, so hopefully there is a TechZone gen3 hardware profile.
New hotness, recommended by Josef Průša, one of the RepRap core developers: Sprinter is a new generation of firmware for reprap. This is the 1st firmware that has native support for SD card, and extreme acceleration. This firmware can run a printer at up to 300mm/s, which really changes the quality of a print. Sprinter has been tested and works on Gen6, Ramps, and Sanguinololu. Rotorit has created a fork of Sprinter that works on our hardware, but this appears to require a "gen3 plus" add-on electronics board which Rotorit provides schematics for, with no other explanation.