Thursday, July 6, 2017

Things I'm learning about 3D printing

(I'll keep adding to this as I learn/understand more. Eventually I'll break this up into separate posts.)

My amazing wife got me a 3D printer for our 20th anniversary, which I believe is the traditional gift. It's a FlashForge Creator Pro, an entry-level 3D dual-spool and dual-extruder printer that handles both ABS and PLA filaments. (The website indicates it can print much more, even wood and metal!) The printer itself comes with two random colours of ABS filament.

Setup is pretty straightforward, but it's not hard to see how it would be considered daunting for those not used to tech work. The quick start and detailed manuals have slight contradictions and probably some aged-out content.

Initial print went well, but slow. That's an expectation worth setting correctly - the speed of these things is slow, and governed by multiple factors such as the resolution and density. I'm not yet sure what terms the 3D printer world uses for these, but I'm defining resolution as the number of layers per mm of height and density as the amount of printed material in a solid object.

Resolution example: A solid block using tiny globs of material resulting in a lot of super-tiny layers to the point where the sides feel smooth. Big globs make it look like one of those Fisher-Price doughnut stacking toys.

Density example: A solid block could actually be a solid block, or it could be made of a honeycomb. On the outside, both look solid. But the insides are obviously different. This affects weight, amount of filament ($), and print time. The differences are significant. I was told by one experienced person that there's not much benefit to a hobbyist to print at greater than 30% density unless there's a really specific reason to do so.

Making your model

Tinkercad.com is how I've been doing my initial modelling. Very simple - too simple? Bring solids onto a canvas and cut holes out of the solids by defining other shapes as holes. Where they touch is the cut. You can do more complex shape making using Javascript, but that's a high barrier to entry for someone like me who doesn't know the language at all.

Printing

This is where the challenge lies. After making the model, export it as an STL file. (OBJ works too, but I understand that STL is a more common choice.) Open that in the printer software, known as a "slicer" which creates individual printable layers out of your model in GCode (the generic 3D printer language) specifically tailored to your printer. In other words, random slicer software won't do the trick. You must check compatibility with your printer.

I started with ReplicatorG (bundled with my printer; hasn't been updated since November 2012, basic Getting Started at http://replicat.org/usage) but am being enticed into spending US$149 to purchase Simplify3D by a whole lot of forum comments. There's a 10% education discount - you must use the form to contact the company first to get the discount, as there's no way to apply the discount after the purchase. There's a two-week trial after which they offer a refund if you're not satisfied.

Getting the GCode to the printer

You can use any slicer to generate the GCode, but then must transfer it to the printer. If your printer has a USB connection, the speed and quality of the serial connection is low enough that you've got to slow down the print. (This is according to my printer's manual.) These are settings you manually configure in the slicer at the last stage before the GCode is generated.

Higher speed printing ("high" being relative!) - or more precisely, higher speed data transfer - is far more reliable if the GCode gets to the printer otherwise, e.g. USB stick (not supported on my printer) or SD card (supported on my printer).

Turns out my printer is not smart enough to handle even slightly longer filenames on the SD card. I generated GCode and saved it to an SD, but couldn't get the printer to see the file, no matter how many times I reinserted the card, restarted the printer, etc. Turns out the fix was stupid simple - shorten the filename. That's more stupid than simple, but at least it was simple. There's no indication in the manual that there are restrictions on filename length, but score one for Google and 3D Hubs.com.