The ShapeOko is also suited for use as a 3D printer. Like any CNC machine, the conversion to 3D printing is quite straight-forward, despite 3D printing being the inverse of the milling / routing / material removal the Shapeoko is normally used for. Termed as Additive Manufacturing, it allows one to directly create an object by adding material onto a bed, typically layer-by-layer. Options include:
- SLS (selective laser sintering)
- FFF (Fused Filament Fabrication) c.f., FDM (fused deposition modeling, a trademark of Stratasys Inc.)
- SLA (stereolithography) ---- http://www.buildyourownsla.com/forum/index.php
The typical route is to use FFF, and is what is documented here. Please see below for a list of other 3D printer projects and designs.
“Getting good prints out of a printer is a skill you learn with time, if you are willing to invest said time. Whoever tells you otherwise is lying to your face.”
Using the ShapeOko as a 3D printer involves certain tradeoffs:
- affordable re-use / multi-purposing of the XYZ mechanicals
- limited Z-height (on a stock machine)
- Requirements of a 3D printer control system being more involved and expensive than a 3-axis CNC (page about RAMPS settings for CNC)
Further requirements include:
- Electronics which include:
- 4th axis stepper driver
- Heating element and temperature monitor for the extruder which will need to be calibrated
- Suitable power supply --- 3D printers require an additional motor, plus at a minimum current to heat up the hot end, so require significantly greater amperage than a typical milling machine (modulo those which have a spindle plugged into and controlled by the microcontroller)
In addition to heating the filament and extruding it, one may need further temperature controls:
- Heated bed
- Enclosure (for ABS, to prevent drafts and control the ambient temperature of the print) ---
- Fan to cool the print (for PLA which wants airflow) and/or the hot end (metal hot ends often need active cooling)
See the following examples:
- Mach 3 3D Printing
- PrintrOko --- https://vimeo.com/122521283
Reddit post discussing the tradeoffs involved in attempting to build a machine inexpensively Large sizes: http://www.reddit.com/r/3Dprinting/comments/32wimd/question_which_design_is_best_for_large_scale/
Discussion of considerations when selecting a printer: https://etherpad.mozilla.org/V9OyZXJEGL
Forum discussions and examples
- Re: will1384's Shapeoko 2
- Shapeoko build qualities for 3d printing
- Printing in G-code
- It prints!
- My MBE Extruder Build Log (was Eye candy...)
- Seeking advice on a simple inexpensive 3d printer "spindle" --- discussion of extruders
- eShapeOko based design
- ShapeOko CNC router/3d Printer WordPress blog
One option is to draw geometry in a 2D program such as Inkscape, export to .dxf, then import that into OpenSCAD as shown in http://www.appropedia.org/Converting_2D_images_to_3D_for_printing_using_open_source_software or to directly export to OpenSCAD using a plug-in such as http://libregraphicsworld.org/blog/entry/inkscape-gets-openscad-converter
|STL||STL Viewer||Display and manipulate the content of stereolithography or STL files.|
|Nesting||Plater||3D-printer plate generator.|
http://gfx.cs.princeton.edu/pubs/Luo_2012_CPM/index.php --- Chopper: Partitioning Models into 3D-Printable Parts
http://nothinglabs.blogspot.com/2012/11/puzzlecut-openscad-library.html?m=1 --- PuzzleCut OpenSCAD Library
Rather than generate G-code to describe the negative space around an object, CAM for 3D printing requires that one "slice" an object into a given layer height to match one's printer's configuration and desired print quality.
Website for slicer settings: http://slicershare.com
|Mesh||MeshLab||Portable, and extensible system for the processing and editing of unstructured 3D triangular meshes. Object slicing routine is extremely quick.|
|Slicer||Skeinforge||Converts STL files to Gcodes. Included with ReplicatorG. Reliable with many options.|
|Slicer||Slic3r||Converts STL files to Gcodes. Faster than skeinforge.|
|Slicer||Repsnapper||Slicer completely written in C++. With 3D preview.|
|Slicer||Cura||Slicer and GCode sender. Single solution software where parts can be used independently.|
|Slicer||SuperSkein||Open Source 3D Mesh Slicer in Processing. Thingiverse|
|Utility||ConvertSTL||Ruby script that converts STL files between ASCII and binary encoding.|
|Utility||IVCON||command-line C++ program for 3D graphics file conversion which reads and writes a variety of 3D graphics file formats, including STL, converting from one to the other.|
3D printing requires controls not needed for milling, so uses different control software. Many control programs include slicing features, either one of the programs above, or their own.
|Multi-purpose||Repetier-Host||All-in-one software for doing everything but creating .stl files: arrange, slice, check G-code, send G-code, monitor printer. Instructions for installing in Linux. Fix for permission denied error.|
|Multi-purpose||ReplicatorG||Software for controlling a 3D printer. Inputs G-code or STL and will arrange, slice, create G-code and send.|
|Multi-purpose||Cura||Prepare a 3D file for printing and to print it.|
|Multi-purpose||RepRap Host Software||Capable of outputting G-Code.|
|Multi-purpose||MatterControl||Graphical app to organize, arrange and manage your 3D prints. Includes MatterSlice slicer. Windows and Mac OS X versions available.|
|Communication||Pronterface||Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software.|
|Communication||Printrun||Set of G-code sending applications: printcore (dumb G-code sender), pronsole (command line G-code sender), pronterface (G-code sender with graphical user interface), and a collection of scripts.|
|Multi-purpose||X2SW||Graphical interface bundling Printrun, Skeinforge and Slic3r. Windows and Linux.|
|Multi-purpose||RebRep||Graphical app for Windows or Linux used to send GCodes to a RepRap 3d printer.|
|Communication||RepSnapper||Graphical interface for Windows written in C++.|
|Communication||ArduinoSend/send.py||Python command-line tool for sending code.|
|Communication (Android)||SmoothieControl||Beta. Available on Google Play.|
|Communication||reprap-utils||Command-line utilities for Posix-compatible (Unix) systems and Windows.|
|Communication and remote web interface||Octoprint for CNC / Grbl by PxT||Communication program which allows submission of jobs, previewing, monitoring and control through a web interface. Unique in being suitable for Grbl as well as 3D printer firmwares. New version will round to 3 decimal places to preclude the too long line problem. Instructions for installing on a Raspberry Pi. Original version. Setup on Windows, Setup on Raspberry Pi|
G-code interpreters for 3D printers require additional support for an extruder which must simultaneously be controlled for both the rate of filament feed and the temperature of the hot end.
|G-code||Teacup||Teacup Reprap Firmware (originally named FiveD on Arduino) is a firmware package for numerous electronics sets. Sub-32K size can squeeze onto an Arduino Uno ATmega328 or ATmega168|
|G-code||Sprinter||Forked from Klimentkip|
|G-code||Marlin||Forked from Sprinter and Grbl. Support for QTMarlin a beta GUI for PID-tuning and velocity-acceleration testing.|
|G-code||Sjfw||Firmware for Atmega644p and later processors.|
|G-code||Repetier||Forked from Sprinter.|
|G-code||Sailfish||Firmware for Makerbots.|
|G-code||Smoothie||Firmware for 32-bit ARM NXP LPC1768 Cortex-M3 boards|
- http://www.dlobser.com/Vessel --- create a vessel using WebGL
- Cost Estimator --- http://make3d.ca/
- http://www.craftunique.com/craftware (Windows)
- http://www.netfabb.com/ (Windows) --- Cloud app
- http://kisslicer.com/ KISSlicer --- cross-platform program that takes 3D files (STL) and generates path information (G-code) for a 3D Printer. Free version has all the features needed for the hobbyist who uses a single-head machine. The PRO version essentially adds multi-head and multi-model printing.
- http://gcodeprintr.dietzm.de --- a variety of apps, some free/opensource, others paid including: GCodeSimulator for PC (opensource), GCodePrintr (Android) (available in free and paid versions on the GooglePlay App Store), GCodeInfo - Command line tool (opensource) Google Circle
- https://www.simplify3d.com/ --- Review
In addition to the motion requirements which are in common with a CNC mill or router, a 3D printer must also manage filament as noted above. This is done using a variety of specialized hardware.
The extruder is divided into two parts, one for moving the filament, the other for melting and depositing it.
The cold end (often referred to as an extruder itself) moves the filament of a diameter to match that of the hot end at varying rates of feed under the control of the microcontroller running the selected firmware. Most designs use a "hobbed" bolt which has grooves cut into it which serve as teeth to engage the filament and allow it be fed into the hot end.
The hot end accepts filament of a particular diameter (typical options are 1.75mm and 3mm), heats it to its melting point and feeds it through the nozzle (which diameter characterizes the hot end, typical diameters are 0.25mm, 0.35mm or 0.5mm).
Discussion of nozzle diameter:
- Commercial (but opensource)
- http://okmade.com/?p=24 http://m.imgur.com/a/twyZu http://www.reddit.com/r/3Dprinting/comments/33e7dw/building_a_hot_end_from_scratch_more_info_in/
Alternatives to Kapton: http://www.reddit.com/r/Reprap/comments/2hsh1l/i_have_a_jhead_and_no_kapton_but_i_did_have_an/
Print Bed Surfaces/Coverings
The print must be extruded onto a flat, level surface to which it will adhere.
One strategy for production work is to have two beds and swap them after each print.
Often a printing surface will be mounted to a "thick sheet": http://reprap.org/wiki/Thick_Sheet Some thick sheets are a part of the actual structure of the printer and also work as printing surfaces.
Some thick sheets are suitable for directly printing on:
The surface must be flat and level, and able to tolerate the temperatures and heating/cooling cycles of printing safely. In the absence of a thick sheet, it must be sturdy enough to support its own weight.
A further consideration is the thermal coefficient.
- Tempered Glass --- parts are easily removed and have a glossy appearance for the surfaces against the glass --- warping and adherence are issues.
- https://groups.google.com/forum/m/#!topic/makerbot/WOav8XwHLP4 --- interesting bed design w/ magnets
- aluminum --- note that most aluminum sheets are not especially flat --- tooling plate may be ordered, which is made to specified flatness and is well-suited for use as a bed.
- hardboard --- works especially well w/ Taulman 618
- carbon --- https://groups.google.com/forum/#!topic/makerbot/9t3-klqdGAs
- granite tiles
- garolite --- http://www.reddit.com/r/3Dprinting/comments/2y307i/my_new_favorite_printing_surface/
An additional option is a characteristic / feature:
- heated bed --- pretty much a requirement for larger ABS parts (some people have found that warming up the print surface w/ a hair dryer helps)
Other special purpose options:
Most surfaces require some sort of covering to ensure adhesion. Choices include:
- Kapton Tape
- PEI Film
- Window Tint Surface http://www.reddit.com/r/3Dprinting/comments/34djw4/pei_surface/
- Blue Painter's Tape --- parts will have a textured surface, print from tape will offset onto bottom of print, alternate option green Scotch brand 233+ masking tape
- photo paper --- some filaments want a surface w/ a high cellulose content
- masking tape --- http://forums.reprap.org/read.php?1,393280,393280#msg-393280
- Chalkboard Tape --- Scotch brand
In addition to or in lieu of the covering:
- Gluesticks --- Elmer's Xtreme school glue
- thinned PVA wood glue (for PLA) --- one technique for this is to use window cleaner: http://www.reddit.com/r/3Dprinting/comments/2unezf/lets_talk_tools/coagojo
- Itoya O'Glue stick --- http://www.reddit.com/r/3Dprinting/comments/2vcef1/itoya_oglue_stick_is_awesome_beats_solid_glue/
Examination of adhesive use: http://www.dbclunie.com/2014/02/what-adhesive-do-you-use-when-3d.html
- http://printinz.com/ --- flexible printing surface
- http://www.buildtak.com --- http://www.reddit.com/r/3Dprinting/comments/2ba3hk/buildtak_helpful_hints/ http://www.reddit.com/r/3Dprinting/comments/39vyzn/thoughts_on_buildtak/
Easily constructed, these may range from temporary structures of Lego bricks and dowels to more elaborate setups.
A microcontroller able to control a 4th axis will be necessary. Also a means to control the temperature of an extruder, this can either be an external unit or one integrated into the board.
An Azteeg X5 mini has been used successfully as noted on RepStrapOko as has Mach 3.
Any of the electronics listed on the reprap wiki should be suitable: http://reprap.org/wiki/List_of_electronics
Notes on temperature control: http://reprap.org/wiki/Temperature_control
Please note that in order to do PID temperature adjustment the thermistor must be suitable, 100 kΩ rating, the resolution of 10 kΩ thermistors above 150°C is not suitable for PID control. http://www.shapeoko.com/forum/viewtopic.php?f=9&t=3869&p=29099#p29099
|EPCOS100||Marlin Table No. 1|
Before attaching the hot end, an extruder should be configured as to the number of motor steps required to feed a given length (or volume) of filament. A precise calculation isn't possible given variations in the effective diameter of the hobbed bolt and characteristics of different sorts of filament and variations in diameter from roll-to-roll.
For example, the Smoothieboard variant Azteeg X5 mini uses extruder_steps_per_mm which is calculated as:
e_steps_per_mm = (motor_steps_per_rev * driver_microstep) * (big_gear_teeth / small_gear_teeth) / (hob_effective_diameter * pi)
Once an initial value has been calculated one must then:
- load filament
- measure and mark a known length of filament from a specific point on the machine which will allow the measurement to be repeated
- extrude a specific amount less than length of filament (some people feel it's best to do that in several shorter operations than one long continuous one)
- measure the length of filament, comparing it to the length which was to have been extruded
- calculate the ratio and apply it to extruder_steps_per_mm
This value may need further adjustment based on the specifics of extrusion.
- 0.5mm nozzle --- ~200mm/min
- 0.3mm nozzle --- ~80 mm/min
- Note, when slicing the 0.5mm thin wall cube be certain to use a solid infill.
- Measure filament diameter.
- Slice a 20 x 20 x 10 mm cube with 100% infill
- Print it.
- Judge if the top surface is concave or convex or good and flat.
- If concave, then reduce slicing profile's filament packing density (Dimension plug-in in RepG). This will increase the plastic output. Go back to 2.
- If convex, then increase the slicing profiles filament packing density. This will decrease the plastic output. Go back to 2.
- If good and flat, then you are done with calibration.
- Nickel calibration test file
- Slicer torture/comparison test
Make Magazine created an entire suite of test files: http://makezine.com/2014/11/07/how-to-evaluate-the-2015-make-3dp-test-probes/ see also http://makezine.com/magazine/what-is-print-quality/
Correctly tuning retraction will minimize stringing.
Hot End PID Tuning
Note that this should be done when the hot end is cold.
G-code command: M303 E0 S190 C8
E# is the number of the temperature control module, here it would be 0 for the hotend. The command runs for 8 loops, heating up, cooling down, and trying new values. Then will display settings which have been loaded into memory, but not written to your config file. Edit your configuration to use those three values ( Kp is p_factor, Ki is i_factor, Kd is d_factor ).
You can also tune the PID for the heated bed the same way.
G-code command: M303 E-1 S60 C8
- suitability for use as a spring --- nylon, PCTPE, ABS may work depending on the design
One technique for printing parts w/o flat surfaces is to divide them in half, add threads and use a 3rd threaded (hidden) part: http://www.thingiverse.com/thing:66824
- identify torsion or tension forces --- arrange part so these are not along Z-axis
- make part easily printable
- minimise bridges
- place holes along Z-axis
- chamfer undercuts
- Filleting --- not useful on top, detrimental at bottom --- along X-Y plane can help minimise artifacts --- useful at corners to reduce jerking and smooth printing
- clearance --- need less along X or Y
- Dimensions (below are from: http://www.reddit.com/r/3Dprinting/comments/2x8l9u/designing_for_fdm_3d_printing/coxz56z ):
- 0.3 - 0.5mm clearance for assemblies, specifically for holes.
- Minimum wall thickness for integrity - ABS: 3 to 4mm, PLA: 2 to 3mm
- To add your own support structure for overhangs, make thin vertical walls as thick as your extrusion width with 1.5mm spacing
often compromises are necessary between printability, durability, function, &c.
- Voronoization --- http://w-uh.com/posts/140511c-Voronoization.html
- Interlocking parts --- http://i.materialise.com/blog/entry/how-to-design-and-3d-print-chainmail-and-other-interlocking-parts
Arrange multiple parts on a bed and print all at once to allow layers to cool as they print.
Invert a print to eliminate the need for supports caused by overhangs.
This is a function of your nozzle diameter --- 80% of it bounds your maximum, so for an 0.35mm nozzle: 0.35 * 0.8 = 0.28mm max. layer height. Minimum is defined by your patience and time and the ability of your machine to move accurately and precisely in the X, Y plane. Affects bond strength, for good cross-layer strength do not use layer heights taller than 60% of nozzle diameter.
Discussion on reddit.
A further consideration is how it interacts w/ the # of steps which the motors must take to move a given distance depending upon one's belts or screws: Taxonomy of Z axis artifacts in extrusion-based 3d printing --- layer height should always be an even multiple of the smallest distance which a machine moves w/ a full step.
If a model does not need to be solid, then it can be partially hollow --- the method of partially filling a print is termed infill. Blog post by Garry Hodgson: Thoughts on Fill Algorithms.
Some argue that 100% infill must be cooled slowly and that 80% provides all the strength of it.
Top and Bottom Layer Thickness
This should be set to an appropriate physical dimension, as opposed to some invariant number of layers --- 1--1.5 mm is a conservative value, or good starting point for parts which require strength. 0.5 mm may be appropriate for smaller, more decorative parts.
Most slicing tools represent curves / arcs as straight lines, this causes a reduction in the effective size of holes, which increases dramatically at smaller sizes: http://hydraraptor.blogspot.com/2011/02/polyholes.html --- test file: http://www.thingiverse.com/thing:6118
- waterproofness --- https://groups.google.com/forum/#!topic/makerbot/CjXX6ijZlbE
- hinges --- http://www.reddit.com/r/3Dprinting/comments/2s2fqg/using_bridging_to_make_print_in_place_hinges/
- Guidelines for fitting: 0.20mm clearance for an interference fit, 0.30-0.40mm or larger for slip fitment. A chamfer at the entry point of your hypothetical cube slot goes s long way also. 
- transparency --- full transparency not possible due to the object being made up of many layers and the light refracting. Larger layer heights will help. Suggested work-around, print a mold and cast in clear resin.
- PLA light-fastness and heat resistance --- http://forum.typeamachines.com/viewtopic.php?f=6&t=621
- machines may have resonance frequency issues on some parts --- Frequency limit
|Print material||Hot End Temperature||Print surface(s)|
|ABS||210°C -- 240 C°C||Kapton or PET tape on flat surface (glass) at 110°C. Clean with acetone.|
|PLA||165°C -- 200°C||Kapton tape or Blue painter's tape on flat surface (glass) or Hairspray on glass or lightly sanded glass at 60°C. Clean with alcohol|
When troubleshooting, keep in mind that there are failsafes in the firmware software which prevent a condition of failure that could potentially result in a fire.  If the machine does not heat up or extrude, start by checking the thermistor.
- A visual Ultimaker troubleshooting guide
- Filament Cross Sections when Printing --- First Layer
- gallery of failed prints w/ explanations on Flickr
- Reddit: Hi guys, trying to print, but my infill always ends up with small ridges (see album). Any ideas? --- extruder is not perpendicular to all axes.
Monitor the voltage to the heating element. If it drops during the time you have the "cold print" symptoms then you have a short, if it rises during that period you have a bad contact. If there is no voltage during that period at all, I would troubleshoot your driver board. Mosfet drivers might be overheating.
One interesting technique for making up for addressing the warping the lack of a heated bed addresses is to warm up the printing bed w/ a hair dryer while the extruder warms up.
The filament which is used in FFF printers is much like the line used for string trimmers. Some people have had success using nylon trimmer line in their machines, while others have reported problems w/ contamination and other issues. Extensive examination: 3D printing with cheap Nylon trimmer line/string.
Another potential source of material is plastic welding rod: http://www.usplastic.com/catalog/item.aspx?itemid=22851&catid=881
Discussion of the relative merits and characteristics here: http://www.reddit.com/r/3Dprinting/comments/31b1vl/pla_all/
- list of filaments http://www.lulzbot.com/sites/all/themes/lulzbot/images//LulzBot_3D_Printing_Filament_Guide.pdf
- making Polylactic acid thermoplastic
- Bulked Continuous Filament (BCF Guide)
- Polylactic Acid Technology
- High Temperature PLA
- Taulman In-PLA
Absorbs moisture, should be stored in sealed containers w/ dessicant.
- http://www.reddit.com/r/3Dprinting/comments/2u0nk0/first_print_and_impressions_from_protopasta/ --- stainless steel
- http://www.filabot.com/collections/specialty-filaments/products/abs-based-graphite-infused-filament --- graphite infused for moving parts
- http://diamondage.co.nz/product/asa/ --- ABS w/ UV protection
- Carbon fiber reinforced
- Glow in the dark
- Laybrick --- mixture of finely milled minerals with a polymer binder Inventables
- Flexible --- Flexible filament - my testing and guide on how to print FilaFlex, NinjaFlex, and Flex-Polyester. Thermoplastic Elastomer Printing
- Nylon --- Taulman Nylon 618 3D Printer Filament Inventables http://makezine.com/2015/03/27/taulman3d-releases-new-super-strong-nylon-filament/
- Requires a special hot end
- Heated build platform not required
- sticks well to hardboard using a glue stick
- Garolite (Bakelite) printbed is reported to give good results
- Glue on a glass bed also works well: http://www.tridimake.com/2014/01/how-to-3d-print-nylon-and-trimmer-line.html
- recommended print speed: 30--80 mm / second
- Extrusion temperature approx: 235--260 °C
- Chemically resistant to Alcohols, Resins+MEK, Oils, Acetone, most Alkaline, most 2 part Casting Compounds
- can easy be colored with fabric dye.
- very strong
- Support Materials
- HIPS --- High Impact Polystyrene filament --- soluble in Limonene
- PVA --- Polyvinyl alcohol (PVOH, PVA, or PVAL) water-soluble synthetic polymer hydrolysed from polyvinyl acetate --- http://www.reddit.com/r/3Dprinting/comments/30wbhb/how_pva_filament_works/
- LAY-FELT --- semi-permeable membranes and filters, artificial paper and “future cloths”.
- LAY-TEKKKS --- cloths, tissue and “orientated” and “stacked” fibers.
- GEL-LAY --- biomechanics or as a simulation muscle, particularly underwater.
- Color Changing
- PLA --- anthracite grey to transparent
- UV Sensitive ABS --- clear/milky to vivid purple
Other alternatives: http://nothinglabs.blogspot.gr/2013/09/filament-roundup-3d-printing-in-all.html
- http://colorfabb.com/xt-copolyester --- http://www.reddit.com/r/3Dprinting/comments/32kpac/experience_with_colorfabb/
- Bronzefill --- https://plus.google.com/u/0/app/basic/stream/z12jzbdiamyzzvep104cgbzacsvsjjmx5n40k?cbp=1w6lp1p9g6yfl&sview=27&cid=5&soc-app=115&soc-platform=1&spath=%2Fu%2F0%2Fapp%2Fbasic%2Fa%2Fautoload%2F%2BGinaH%25C3%25A4u%25C3%259Fge%2Fposts&sparm=cbp%3D2jfvhya4d2lo%26sview%3D27%26cid%3D5%26soc-app%3D115%26soc-platform%3D1%26stct%3DEgkIoN3Mvoj8vwIo6LCW-5SGwAIw8ZvYkPuGwAI4AUAC
- PET --- http://www.printedsolid.com/shop/175-3/xt-amphora/   
- Joining filament
- http://richrap.blogspot.com/2011/09/indestructamendel-polycarbonate-3d.html 
It may be possible to print with other thermoplastics such as HDPE and polypropylene.
Coloring filament http://www.soliforum.com/topic/8880/abs-colorant-make-your-own-colorant/
- in a Ziploc bag in full sunlight w/ a cup of uncooked rice
- https://plus.google.com/116588248220980367256/posts/MDuGtd3WsQX --- storing filament in a Ziploc weathertight box w/ DampRid
- http://www.reddit.com/r/3Dprinting/comments/2uss2r/spool_holder/cobd58j --- Everbilt 10 in. x 3/4 in. White Shelf and Rod Bracket
When printing infills, many styles result in very rapid back-and-forth motions which jerk / shake the machine quite a bit --- be certain that the printer is on a solid surface and won't damage or move anything with its vibration.
A printer, especially the hot end, should be kept clean to minimize odd smells from dust burning off as the hot end heats up.
It may be necessary to control the moisture content of filament --- ABS (also PLA?) may need to be baked to remove moisture from it.
If filament isn't clean it may be helpful to rig some sort of sponge or other method to clean it before it enters the extruder.
Before printing complex/large parts, consider making a print at a reduced size as a test.
Removing prints from print surface
There are various tools and techniques for this.
- ABS: Cut up bits of ABS and dissolve using Acetone or nail polish remover to make up glue which is the same colour as your prints
- ABS glue is available in the plumbing section of hardware stores where (black) ABS pipes are sold.
- Cyanoacrylates work, but may discolour or fade prints
Discussion: Best glue for PLA?
There are specialized tools for this such as: http://www.harborfreight.com/welding/plastic-welders.html
The new 3D printing pens are also useful for fastening pieces together (or for repair or other touchup).
- Adding screw threads to 3D-printed parts
- Print a pocket for metal threads (i.e. add a nut)
- Print threads (if necessary chase with a tap or die) --- you may find it useful to reinforce the threads w/ Heli-coil (thread repair hardware) http://www.reddit.com/r/3Dprinting/comments/31sfqh/any_experience_with_printing_threaded_parts/
- Use thread-cutting screws designed for plastics
- Run standard machine screws into undersize through holes (PLA), e.g., use 2.7mm dia. holes for M3 screws. Friction will form threads in the plastic.
Bending, molding and modification
Most printable filaments retain their thermoplastic properties after printing and can be modified after printing through the application of heat. Using a heat gun, or soldering iron one can heat a part sufficiently to bend or otherwise reshape it. Metal hardware can be heated up and inset into a part as well.
One can simply sand (possibly in combination w/ acetone): http://www.reddit.com/r/3Dprinting/comments/2wfo9s/glass_smooth_prints_without_vapor_chamber_details/
Vapour baths to smooth parts
- ABS can be placed w/in acetone vapours to smooth parts out. The acetone can either be heated (outdoors and w/ good ventilation) or arranged in a vapor chamber (one way to get even fume distribution is to make a cylinder of paper towels along the outside of the container, reaching from the bottom where the acetone is poured to the top, where it is sealed).
- 7 Steps to a Shiny Porcelain Finish on ABS Parts with Acetone --- detailed technique using a paint can, paper towels and magnets --- suggestion, use wax underneath the part to keep it from adhering.
- heated ethyl acetate:
- http://www.protoparadigm.com/blog/2013/06/vapor-smoothing-and-polishing-pla-with-tetrahydrofuran-thf/ --- only works on specific forms. Serious safety implications.
- Dissolving PLA (or not)
Household appliances can be re-purposed to facilitate this: http://solidoodletips.wordpress.com/2012/11/10/presto-part-finisher/
Parts can also be coated in various materials
- Soak parts in cyanoacrylate glue
- Plast-Dip http://www.reddit.com/r/3Dprinting/comments/39z9kj/tried_plastidipping_a_print_turned_out_great/
- Silicone Conformal Coating Spray (typically used to protect circuit boards) --- use after sanding, 10 coats will result in a very smooth finish
- Ambroid ProWeld (for ABS) --- soaks in nicely and helps plastic migrate to fill gaps. It also has a smoothing effect.
- 2-part epoxies to strengthen them and fill in gaps: http://www.bjbenterprises.com/tc-1614-a-b/
- Smooth-on XTC-3D® High Performance 3D Print Coating --- this is a specialized product designed for this purpose. See below.
- bondo, applied by hand and sanded, then sprayed w/ automotive filler primer --- https://plus.google.com/107253148599893854804/posts/acWkSYn81Jz
- Water/moisture proofing
- Pledge Future floor polish to make moisture tight
- Electroforming metals
A 3D printing pen such as the 3D Doodler may be useful for filling voids.
- multiple colours
Wet sanding may improve the appearance of some prints.
Most prints will need (careful) trimming w/ a sharp knife.
XTC 3D epoxy
- OpenSCAD ISO metric thread library / functions
Lawn & Garden
- 3D Printed Guitar --- designed and printed by Jeff Kerr who created LoboCNC. http://lobocnc.com/3dguitarSW2011.zip
Discussion of material selection for a quadcopter: http://www.reddit.com/r/3Dprinting/comments/300eh4/material_for_quadcopter_pla_vs_woodfill_vs_plapha/
- 3D Printable Airsoft Gun
- Minecraft creepers --- includes discussion of slicing considerations and print orientation options
- https://learn.adafruit.com/pigrrl-raspberry-pi-gameboy?view=all --- Raspberry Pi case and support electronics to make a Gameboy clone
- Perp Gun (3D Printed Nerf Gun)
- Modular Snap-Fit Saturn V
- Vincy Compound Bow Mark 1 --- 22 lb. compound bow using fiberglass limbs.
- Holiday gift boxes --- support material may be used for streamers. Mentions brushing on oil as a technique for making support material easy to remove.
- http://www.the3dstudio.com/product_details.aspx?id_product=575452 --- Staunton, $15.00
- Design of a Staunton-style Bishop in OpenSCAD: http://blog.cubehero.com/2013/11/19/know-only-10-things-to-be-dangerous-in-openscad/
- http://www.instructables.com/id/Readymake-Duchamp-Chess-Pieces-3D-Recreations-from/ --- files available here: http://www.wamungo.com/PrintModel/Detail/Readymake-Duchamp-Chess-Set-53557f118970281228490c38 Github repository: https://github.com/moderation/duchamp 
- Large Luxo Jr.
- hedghog pencil holder
- Spacecraft and rockets
- 3D printed mechanical Clock with Anchor Escapement
See also Tools
- Cricut Spatula Tool --- http://www.amazon.com/dp/B000NP1ESO/ref=cm_sw_r_udp_awd_HEW2tb1TCRY8W
- Nicole- Multi-purpose Heat Gun Tool with Stand Is Perfect for Embossing, Drying Paint & More (Colors May Vary) --- http://www.amazon.com/Nicole--Multi-purpose-Perfect-Embossing-Drying/dp/B006Z9LUDG 
- hot air solder station --- http://www.amazon.com/gp/product/B00A2VQA24 
- 5-in-1 painter's tool --- http://joesmakerbot.blogspot.com/2012/06/saga-of-stuck-print.html
- HBP Wedge Removal Tool --- http://www.thingiverse.com/thing:14672
- Dial indicator --- holder: http://www.thingiverse.com/thing:41090
- Automotive feeler gauges --- use for setting Z-height and bed leveling. Good quality sets are also durable enough to pry parts off the bed.
- Ceramic screwdriver for setting the stepper voltage
- soldering iron --- can also be used to touch up / repair or join prints and for inserting metal hardware.
- multimeter for checking electrical connections / electronics
- wire cutters --- useful for snipping strings of filament and removing supports
Also potentially useful are a soldering iron or wax carving tool which may be used for touching up prints or removing support material. http://www.reddit.com/r/3Dprinting/comments/30uvnw/retouch3d_a_brand_new_way_to_finish_3d_prints_aka/
- Small wire cutters, for cutting filament.
- Micrometer and/or Caliper.
- A set of small files, for smoothing rough spots on the prints.
- A ruler.
- A razor, for removing stubborn parts from the platform (normally used for scraping paint off of windows).
- A small needle-nosed pliers.
- A hot-air solder station. For removing file marks from PLA.
Further discussion (w/ circular link back here): http://www.reddit.com/r/3Dprinting/comments/2unezf/lets_talk_tools/
Another list w/ suggestions for advanced tools and some cleaning products: http://www.reddit.com/r/3Dprinting/comments/2fxvkb/shopping_list_for_new_3d_printer_owners_advice/
Plans for a filament drying station: http://www.dbclunie.com/2014/03/3d-printing-drying-filament-for-15.html
As with any other CNC machine, a 3D printer should never be left running unattended.
Given the presence of heating element(s) the possibility of a fire and a means for extinguishing it should be considered.
- Ultrafine particle emissions from desktop 3D printers
PTFE lube Discussion on Reddit: http://www.reddit.com/r/3Dprinting/comments/30dbuh/lubricant_for_linear_rodsbearings/
It is also important to print a set of replacement (3D printed) parts in the event of a breakage. See also: Reddit: What parts should I keep on-hand to repair a printer?
Some have found it helpful to apply a small bit of canola oil to the filament when first loading a new spool of PLA. Arguably not needed on a well-machined hot-end. Seems to be necessary on all-metal (esp. stainless steel) hot ends.
- https://www.printedsolid.com/shop/175-3/extruder-cleaning-filament/ 
Some advocate for “seasoning” a metal hot end by coating PLA w/ vegetable oil when first using it.
- CNC Cookbook: 3D Printing 101:
- Wikipedia: Book:3D printing --- Wikipedia book which appears to just be a topical listing of articles
- Open Book on "Low-cost 3D Printing for Science, Education and Sustainable Development" --- available in PDF, ePUb, mobi and as an iBook --- positively mentioned here: http://3dprintingindustry.com/2013/05/08/free-ebook-frees-3d-printing-education/
There's also Wikibooks: Blender 3D: Noob to Pro
- Six things I've learned about 3D printing --- a machinist's view of 3D printing and its use in the shop.
- http://npl-web.stanford.edu/user/files/papers/mse1999a.pdf --- metal sintering, but may apply
- Taxonomy of Z axis artifacts in extrusion-based 3d printing
Designing for Printing
- http://www.makeitfrom.com/compare-materials/?A=Acrylonitrile-Butadiene-Styrene-ABS&B=polycarbonate-pc --- as the URL implies, this can be used for other materials.
- Alpha Packaging: Plastics Comparison Chart
Chemical Resistance Chart
- http://www.vp-scientific.com/Chemical_Resistance_Chart.htm --- please research any chemicals carefully and consult their MSDS (Material Safety Data Sheet) before usage.
- http://media.ccc.de/browse/congress/2014/31c3_-_6417_-_en_-_saal_g_-_201412271245_-_3d_casting_aluminum_-_julia_longtin.html#video 3D Casting Aluminum: Too Much Fun with Microwaves]
- low-melt alloys such as bismuth and pewter can be cast directly into printed ABS molds
Note that there is a specific filament which may be used to print for lost wax casting: http://www.3ders.org/articles/20150128-filament-wizard-kai-parthy-unveils-his-new-moldlay-wax-3d-printing-filament.html
3D Printer Designs
- https://github.com/ThatGuy435/KosselCNC --- notable for being designed to be cut on a stock Shapeoko 2.
- http://www.reprap.org/wiki/Tantillus --- the main site http://www.tantillus.org/Home.html seems to be abandoned. Notable for being the printer design best suited for 3D printing and able to self-replicate a significant percentage of its parts.
- http://reprap.org/wiki/ZornStrap --- notable for the project page having many Finite Element (FE) links.
- http://www.instructables.com/id/eWaste-60-3DPrinter/ --- printer made from old computer parts
- Printrbot Simple Maker Edition 1405
- http://www.tinyboy.net/ --- Thingiverse
Other 3D Printer Designs
- http://pwdr.github.io/ --- 3D powder printer
- http://ytec3d.com/plan-b/ --- an opensource powder printer. Plans on Instructables.
Reducing printer noise
Filament Spool Recycling
- Push Plastic --- sells on Amazon as Push Plastic
- http://quantum3dprinting.com/ --- http://www.tctmagazine.com/3D-printing-news/try-before-you-buy-3d-printing-filament/
- http://seacans.com/ --- Canada
- http://www.botfeeder.net/filament.htm --- http://forums.reprap.org/profile.php?1,36170
- http://www.foxsmart.club/3d/filament/filament-1-75-pla.html --- review: http://www.fabbaloo.com/blog/2014/11/4/hands-on-with-foxsmarts-3d-printer-filament
- http://www.toybuilderlabs.com/ --- also sells on Amazon
- http://www.ultimachine.com --- noted as being especially high quality and suited for high resolution prints.
- Acrylonitrile Butadiene Styrene, a thermoplastic used as a 3D printer filament
- Cold-end extruder design which moves the motor and gearing away from the print head, mounting them on the frame so as to reduce weight.
- From the geometry, a 3D printer design w/ traditional X-, Y-, and Z-axes.
- Geared portion of an extruder (q.v.) which allows a stepper motor to move filament for extrusion.
- 3D printer design using three identical columns arranged in a triangle.
- Assembly which handles feeding and extruding filament. Consists of two sub-assemblies: a cold end to feed the filament, and a hot end that melts and extrudes it.
- Manufacturer of a popular hot-end: http://e3d-online.com/
- Raw plastic material in the form of long strands of a consistent diameter, 1.75mm and 3mm are typical. Available in different colours and materials.
- The final portion of an extruder (q.v.) which contains the heating element for melting the plastic, and a thermistor for monitoring the temperature.
- Standard hot-end design: http://reprap.org/wiki/J_Head_Nozzle
- Feedback tuning system used in adjusting temperature, PID stands for Proportional, Integral, and Derivative.
- Polylactic Acid. A biodegradable thermoplastic polymer used as a 3D printer filament. Essentially starch which has had the monomer changed into a polymer by heat.
- Initial circuit of extruded plastic made around the area of a model.
- Stereolithotraphy language, a representation of a 3D model using triangle meshes. c.f., NURB.