Monday 26 January 2015

Stick with it... 3D Printing - Print Bed Coating Materials. Part 1

Hello everyone,

We are looking at 3D print bed surfaces and coatings in this post.

This blog post contains an overview of the more common materials used as a 3D printing build surface. Plenty of tips and advice and we also take a look at a how well a bed coating 'skin' called 3D EeZ performs. And it's also a general call out for any other bed formula's or materials to test or experiment with. I hope you find it useful.

Most aspects of 3D Printing take time and some experimentation to refine what works best, if you already have good solution for the print bed surface, skip down to the end and take a look at how 3D EeZ worked in the test.

Will it stick?
For all the years I have been using home 3D Printers, one fundamental aspect is still causing frustration for new and experienced users alike. The issue here is getting the first layer to stick, then completing a print without unsticking, flying off mid-print or bending (warping) corners on objects.

It's now quite uncommon to have a non heated build platform, unless you choose to do so by turning it off.

One very common solution for printing in PLA, heated or not is blue 3M painters tape (multi-purpose #2090). To be honest this is fantastic for smaller machines like my 3DR design, Tantillus or the new Ultimaker 2 Go.

Have some 3M blue tape handy, it's still a really good solution for many objects and materials.

When printing small (or really tiny) and highly detailed parts, I often opt for blue tape and no heated bed. You can run cooling fans at full power and achieve highly successful and impressive prints.

Blue Painters tape - ideal for detailed tiny printing, using no heated bed.
A sheet of thick (~10mm) acrylic is another common choice when not using a heated bed, just be careful not to drive the nozzle into the surface as it will melt.

If you need to print bigger parts over ~100mm+ wide then a heated bed will help keep things flat and limit edge curl up on parts.

For PLA, PET and various filled/mixed materials (WoodFill / BrassFill etc.) you can often just use a clean sheet of glass as a suitable build platform.

Before trying to print anything, do check your nozzle is flat and vertically straight with the build platform. You also need the build surface as level as you can possibly achieve. A low cost mechanical dial shown above can really help get things set up quickly.

Top tip for using plain glass is to keep it clean, remove grease and fingerprints with alcohol or I really recommend window cleaner containing vinegar.

I use mirror glass. Handy sized 200mm x 200mm mirror tiles can be found at ikea (SÖRLIThe mirrored surface helps with checking the first layer is going down well and it heats up fast and evenly.

PLA sticks perfectly well to uncoated clean glass. If all I printed was small(ish) PLA parts,  I would always just use clean glass. The trouble comes when you want to start printing bigger (over about 170mm wide in size) or with other materials.

PVA or glue based washes are also commonly used on top of a heated glass surface. For a few years now I have most often used a 1 part PVA (elmers glue) and 8 parts water solution, it provides an excellent surface for PLA and PET printing.

PVA wash. Apply when bed is cold and leave to fully dry.
PLA being printed on a PVA coated heated glass surface.

Getting the first layer distance correctly set takes some experimentation. After a number of prints you should be able to tell when it's going down well. 

The print above is just on the borderline of being very slightly too close for the first layer. But you are usually better off being slightly compressed than not enough. Just 0.05mm more or less can make a big difference.

And this first print layer above was just slightly too far away from the build platform. 

When you print the first layer, you want to see the perimeter and infill join up, no gaps or plastic riding up in ridges. When you print the second layer, you do not want to see the hot end nozzle ploughing through the first, it should again be nicely layered on top, not digging into the first layer of material.

Gluestick, most brands seem to do a similar job. Mark Durbin kindly brought me back some genuine sticks of Elmers glue from the US. And while I remember Mark has a stunning lithophane generator up here, do check it out.

If mixing up glue and painting it onto your build platform sounds like too much work, you can also use a gluestick. Again applied when cold and leave to dry, I also recommend heating it at 60 degrees C for 30 mins before doing the first ever print.

Hairspray is another common choice. Not all brands work, you need to look out for 'extra hold' with ingredients including Vinyl, Acetate and Copolymer. No wonder it holds hair in place.

Hairspray gives a nice mottled surface to the printed object, less shiny than just sheet glass alone. I have had a few materials, like Laybrick & Laywood stick so strongly when using hairspray that the glass cracked trying to remove them, so test out your spray with small prints first.

Hairspray is easily applied and works remarkably well for PLA and PET. It does required frequent reapplication as some will stick to the surface of most printed objects. 

Nylon is a little different.

Tufnol / Garolite is often used as a heated bed surface for Nylon based print materials.

Nylon likes cellulose based fibres, so it will stick to almost anything made from wood, paper, compressed cardboard or impregnated cotton sheets (like Tufnol). The main issue is still massive warping forces as objects are printed, they will rip up or bend cardboard. I found Tufnol to be the best surface for Nylon.

Blue tape and wooden surfaces also work with various degrees of success for Nylon printing. 

A few quick notes on ABS - 

Printing with ABS is a little more tricky. You really can't print without a heated bed, and that wants to be running up at 100+ Degrees C. to get the best results. Only a fully heated chamber really provides the best way to print large ABS parts (over 200mm wide).

ABS just wants to warp and generally curl up, you really only have two choices -

Mechanical grip - 

Often a perforated board (Fibreglass FR4/FR5, shown above) can be used, this will transfer heat and also provide mechanical grip by the first layer (or raft layer) of ABS being forced into the many small holes.

Using this method a sacrificial 'raft' is often printed fist, then the object on top, when printing is finished the raft is peeled off. The raft also helps to minimise warp in the printed object, but objects printed in ABS over 150mm wide will almost always warp or have curled up edges.

The second option, and now the most common is to wipe on a solution of ABS dissolved in Acetone. This is often called ABS Juice, companies like LulzBot provide nice instructions on how to make your own 'LulzJuice', thanks guys.

I recently tested out PEI as a (heated) bed material (sample courtesy of Robox) , this is quite expensive but does work very well with almost all existing thermoplastic materials being used for home 3D Printing today. I highly expect many more 3D printer manufacturers to adopt the use of removable PEI sheets as the next generation build platform, for home and consumer machines.

PEI Sheet - expensive, but performs well.

Now to test 3D EeZ - 

Lets get on to the testing of 3D EeZ. Various materials, stickers, solutions and methods have been tried over the years. Often proving successful with one or two types of 3D print material, but usually not many or all.

Before Christmas, Tony Gaston mentioned he had a new paint-on 'skin' for 3D printer platforms.
It's not an 'open formula' and I still don't know what's actually in it, but I was intrigued by the video's and Tony is a nice chap, just trying to get people to try out his product, so decided to try it out.

Having to import the solution into the UK took some time and proved costly to get hold of, but anyone in the US should now be able to get it quite quickly to test out. I was unsure if it would work better than other home made solutions, but why not give it a test.

My existing heated bed - 

This is what my typical mirror glass build surface looks like, this particular one has a mix of PVA wash, gluestick and some hairspray for surface 'repair'. It would have printed around 100 objects to end up looking like this, and it still works fine for most materials apart from ABS and it's limited to small sized Nylon parts only. 

It's very easy to clean in a little warm water, this is an Ikea mirror cut to size. ~410mm x ~205mm and it's 3mm thick glass.

It's very thick but easy to apply, just wipe on using the sponge brush. Tony is working on a better applicators and an easier to handle container.

It's recommended to apply three layers, most recently I have dropped down to just two, but for all the testing below I had three layers of 3D EeZ - applied in opposite directions, across, up/down, and across. Each coat is applied cold and heated at 60 degrees C until it dried, about 10 mins.

It smells a little like glue, but you soon realise it's not just PVA in this mix.

My first print was just a few tiny cubes (10mm tall) in PLA with a 'brim' (skirt) to test how well it would stick. Normally after printing a PLA part I would knock them off, sometimes before the temperature of the heated bed dropped too low, so I could start another print quickly. That was not going to happen with 3D EeZ.

If you look closely at the picture above, you can see where I tried to pull off the front printed tower, I could not move it, and when I used a pair of pliers I was concerned about breaking the glass. But it did finally come off and bubbled the 3D EeZ coating. First print, first damage, not good, but it was my fault. (I think).

I decided to wait until the temperature dropped. It was a cold day and at 18 degrees C ambient the other two snapped off firmly but without any damage to the surface or part. I realised you must wait for the temperature to drop before attempting to remove the parts.

I would also later work out that it can be too cold with 3D EeZ, see later on below.

At this point I was concerned that if I printed anything too big it would simply not come off of the build surface. But don't worry that's not the case, Just don't use the brim (skirt) function for anything.

I printed various smaller parts (ok, lots of test tree frogs) in PLA, Ninjaflex, Filaflex, Bridge Nylon, Polywood and three different types of PET... And ABS too! All worked, well.

Tree frog Ninjaflex, he is quite tricky to print at the best of times in rubber, but stuck, printed and peeled off perfectly.

I didn't expect Nylon to stick, but it's actually really good.

Bridge Nylon sticks really well (almost too well), above you can see some signs of what looks like damage, but a wipe over with wet sponge and this disappears. Ignore the obvious surface damage in the middle, this was the forced 'hot removal' of the very first print tower. Again it was 'repaired' with a spot of water.

At some point printing different materials (and many more frogs) I didn't wait for the bed temperature to drop, and further damage was sustained to the surface. At this point I decided to work out what the ideal removal temperature was. It turns out that it's around 28 degrees C for most materials I tested. I believe the 3D EeZ coating changes from a semi-flexible surface to a more solid film at around ~40 Degrees C. But that's just from observation during use.

If you leave the printed part on the build platform and let it cool completely, it actually seems harder to remove than at around 28 Degrees C. I found that you can heat up a cooled bed to 40 and let it drop back to 28 for much easier removal of any stubborn parts you have let get too cold.

I now have my end of Gcode set to drop down to 28 degrees C at the end of a print making removal much easier.

It's quite easy to repair the surface, you just drip and smooth on more of the 3D EeZ solution into any damaged areas. After discovering the ideal removal temperature and repair, I managed around another 120 prints all without any further significant damage to the coating. I found a sponge wash over of water every 40 or so prints helped refresh the surface.

Getting bigger (Aria the Dragon)

And bigger - dolls furniture 

And for a really interesting test, the beautiful Astrolabe Tree Ornament by Don Foley

These rings just pop off with a normal scraper when the bed is around 28 degrees C.

Here you can see the nice matt finish you get on the underside of the print, this is particularly nice as it helps to make it look just like the other surfaces. Using just glass you get a very shiny base that can often look out of place.

The shadow rings you can see in the background will lessen next time the bed is heated, or a wipe of a wet sponge seems to help make them vanish.

I have also successfully tested ColorFabb WoodFill, BronzeFill, CopperFill and GlowFill, they all print perfectly and can be easily removed without damage to the surface coating.

I printed out bigger and more complex parts, all without the need of any form of 'brim' or skirting option.

I ended up printing a pot that filled the entire build platform, the only way to go any bigger is on my 3DRmega as soon as I find more time to pick that project up again.

The bigger parts were also quite interesting, as when they cooled some popped off the platform themselves, some had an edge stick but generally the bigger the part the easier it was to remove.

Does it last forever?

After around 120 prints I notice a slight yellowing of the surface.
No. For me when it starts to yellow and I can no longer revive it with a splash of water, it's time to change the coating. At this point parts were starting to stick much more strongly than before and clear ridges were visible on the surface.

It's very easy to remove, just soak in water and it will peel off. These sheets when dry feel quite different to dried PVA, they crackle and feel more crisp. They are flexible, strong and not brittle.

You can't apply it to every surface -  

That leads me on to one last bit of advice if you try out 3D EeZ - do not apply it to Kapton or PET Taped bed surfaces. You can print once, but it cracks and lifts off the surface. This makes sense really, it's just like having a PET printed part stuck to it.

I tested the material at bed temperatures from 30 Degrees C to 120 Degrees C with almost all the materials I had.

Like I said above even ABS sticks to it without a brim. I didn't print big in ABS, so that's one to do next time.

I sent over lots of feedback to Tony, he planned to tweak the formula, and try to get more manufactured as soon as possible. If he can get the volumes up and make it low cost, maybe more people can benefit.

If you are interested, Tony is also looking out for distributors in Europe/UK he is planning a launch soon.

I'm going to call this part one, as I do also intend to look at other solutions and surfaces now also becoming available. If you have any experiences of materials or coatings, want to share a great formula or have questions, do get in contact or leave a message below.

I hope that was useful and you get a chance to try out 3D EeZ at some point, it's a very interesting formulation, I wish Tony success with it.

Until next time.


Thursday 8 January 2015

Slic3r - Advanced perimeter tuning - 3D Printing tutorial

Sometimes you need to have more control over the way your 3D printer wants to print an object. This tutorial provides an example of how to change and optimise perimeter widths, to make the most of part strength or surface finish. I'll also give some examples of output Gcode and point out what to look for in selecting 'good' 3D printing tool-paths.

For this tutorial we are using Slic3r Version 1.1.7, but any recent version has the same ability to manually define the width of a printed perimeter.

Slic3r, Cura, Simply3D, Craftware and other applications 'slice up' our 3D model and converts it into layer-by-layer Gcode (instructions a 3D printer can understand). For any 3D printer that uses a filament (FFF/FDM) to create a model, it's quite important how the gcode instructions are sequenced, and also what order each section of every layer is printed.

Slicing programs are constantly evolving better algorithms to do a smarter job of model and tool-path creation, but most will not always produce an optimal print path for every type of model, or 3D printer configuration.

I documented this tutorial after experimenting with a new material that had some particular properties causing material expansion (oozing). I wanted to make a very clean printed tool-path as the object was a set of herringbone gears that needed to mesh well with each other. After doing a test 'slice' it was clear that some manual settings were required to print the object how I wanted.

Herringbone Extruder Gear set - Printed with a special PLA+Kevlar+PTFE composite material 

The new Colorfabb material - is a Kevlar+PTFE composite material mix that is so slippery it shoots out the nozzle and has some tendency to ooze. I wanted to test wear resistance so an ideal object was a set of printed herringbone extruder gears. I'm not sure if/when Colorfabb will release this material, but if you get hold of any I suggest an extrusion temperature of only 155 Degrees C, this dramatically reduced ooze and helps to get really clean prints, if you also take the advice in this tutorial.

I almost always look at the output gcode produced by a slicing program before I hit print. Quite often I will adjust the settings after looking at the print path, and also how the material was planning to print out for certain aspects or features of the model.

For viewing the output gcode tool-paths I use Repetier-Host. It generates a clear way to visualize the plastic filament per layer, and also the movement path the extruder hot-end will take, to complete each layer. This is really useful to get an idea how a model will be printed on your machine. It also gives you an approximate print time, so again this is useful to compare print settings with gcode output and print time.

For this tutorial we are going to be using the Advanced tab under Print Settings, see below.
As standard, Slic3r defaults to automatic extrusion width for all tool paths, apart from the first layer width. This is made twice as wide in an attempt to get the first layer to stick, and also to reduce time as the first is almost always printed more slowly than subsequent layers. Having a 200% increase in first layer width is also not always a good thing, especially if you need fine feature detail from the very first layer or want a nicer looking base.

After slicing your model with the standard automatic settings above, take a look at what extrusion widths Slic3r automatically selected for you. You can do this by opening the .gcode file in almost any text editor or by loading it into Repetier-Host.

This is just an example below - your numbers will be different and depend on the version of Slic3r.

; generated by Slic3r 1.0.1 on 2014-10-11 at 19:03:23

; layer_height = 0.25
; perimeters = 2
; top_solid_layers = 4
; bottom_solid_layers = 3
; fill_density = 0.45
; perimeter_speed = 75
; infill_speed = 80
; travel_speed = 320
; nozzle_diameter = 0.58
; filament_diameter = 2.88
; extrusion_multiplier = 1
; perimeters extrusion width = 0.58mm
; infill extrusion width = 1.18mm
; solid infill extrusion width = 1.02mm
; top infill extrusion width = 1.02mm

You will see at the top of the file a set of parameters, some you entered or selected and many of the widths Slic3r selected for you.

This guide is a focus on perimeters, but it equally applies to any other aspect of the printed line width (infill, first layer, top, support material etc.) With many objects, by specifying exact widths of printed perimeters you can get cleaner and stronger printed objects.

Slic3r uses automatic calculation if set to '0'

For the purposes of this tutorial my 3D Printer nozzle size is 0.58mm and the selected layer height is 0.2mm - I have previously tuned the top solid and first layer extrusion width. I also leave others to default '0' (automatic) settings.

In this tutorial the only thing we will be altering is the perimeter width from the default '0' (shown above), all other settings stay exactly the same so you can see the impact one change has on the resultant print-tool-path.

As standard Slic3r decided the best width of extruded filament to use from the nozzle size and the layer height you entered in the basic information about your 3D Printer. For printing at different layer heights Slic3r will adjust automatically but sometimes the automatic width produces an output tool-path that's not ideal, lets look at an example below.

When I sliced (with Slic3r Version 1.1.7) my usual herringbone gear set and looked at the output gcode using Repieter-Host. I noticed that it was attempting to do a lot of little infill lines and also had only part perimeters where I wanted as many solid perimeters as possible.

Slic3r (and most other gcode engines) give you a level of control over how wide or fine each extruded line is, for a given layer height.

In all images below we will view exactly the same layer of the model or stack of layers, this way we can compare exactly what the Slic3r perimeter width setting is doing to our print-tool-path.

Fig 1 - Shows in blue how the plastic material will be deposited for Layer 25 of our model. This gear is quite small, diameter across from tooth-to-tooth is about 18mm.

Fig 2 - Shows a close up of the same layer and path, lets take a closer look at what this is telling us.

The green line is the path that the extruder nozzle will take to draw (deposit) the material on this layer. As you can see above, the nozzle jumps across each gear tooth to fill-in a tiny square in every tooth. It also has a section of short fills in one of the middle layers for no obvious reason other than it calculated that the material could not fit. A series of short gaps were required so as not to pack-in too much material.

If this model was printed using the Fig 2 gcode, especially with any material that's prone to expansion, oozing or foaming (like the new Polymakr - Polywood, for example) it will most likely have wisps of material between the teeth and not be a very clean print. You can alter other Slic3r settings to limit crossing of perimeters, but for many other reasons, it's just too hard to combat every issue just by altering other settings, like retraction or sequence of printing. Manually tweaking the perimeter width gives a lot of control. 

With printed gears it's a good idea to have a high level of infill and also many perimeters to add strength to the outer surface. If you can't do many outer perimeters because of a small teeth (features) - like out small gear above, then a fatter single perimeter is often better (and stronger) than a thin wall and a blob of infill.

Skipping forwards, below in Fig 3a - shows a comparison of the first 25 layers sliced with an automatic (0.58mm) perimeter and also a tuned 0.86mm perimeter.

On the left (0.86mm) machine movements are kept inside the gear teeth and the overall number of movements and extruder retractions is dramatically reduced.

Fig 3B - Above is a side view of the first 25 layers, this shows clearly how the wider perimeter produces a cleaner tool-path for the model print.

But how and why did I select 0.86mm as the ideal width? - well that still requires some trial and experimentation. You can't just guess as the next set of images below will show.  

As Fig 4 above shows,  Slic3r often does things that are not always expected, so you do need to test various widths before deciding on a suitable fit for the model you are going to print.

Analysis of each Fig 4 - image - 

Above we can see various perimeter widths (using the same model layer to compare).

0.6mm = Is almost ideal, but has a bigger gap between inner perimeters and outer, this can produce unconnected walls and a weaker part - this can sometimes also be fixed by changing the level of infill.

0.70mm = Inconsistent sections of infill and many travel / retraction moves, not ideal.

0.80mm = Jumps between gear teeth with travel moves and inconsistent infill, don't use.

0.82mm = Similar issues but now the infill is consistent and equally spaced.

0.84mm = Still has infill in the teeth and a jump across each tooth.

0.86mm = Perfect! - this has equally spaced infill and a single strong perimeter that will be fixed very well to the inner infill. Very few travel moves and almost no retraction.

0.88mm = Just 0.2mm more and we have inconsistent infill and gaps.

0.90mm = This will produce a tiny gap between the inner two and outer two perimeters and a weaker part than the 0.86mm.

The printed small gear using 0.86mm perimeter is strong, clean and will wear well in use.

Don't assume that selecting a bigger width is correct or will always improve things, often going smaller is also valid, especially for bigger parts.

I usually start tuning by selecting wider than default widths as they will reduce printing time, but if that's not working for your model, then go thinner.

As an example the matching larger herringbone gear (shown below) was perfect at the Slic3r Default (0.58mm) setting and also at a width of 0.90mm, everything in between was less than ideal.

Both 0.58mm and 0.9mm would print well. For a material like the Colorfabb Kevlar+PTFE composite that expands on extrusion, the 0.90mm was ideal because it's depositing material quicker with less movement and has solid circular infill.

I first printed (Fig 5 - above) to show how the unequally spaced infill shown in the 0.82mm image looks when printed - here you have a gap between inner and outer perimeters. The gear is considerably springy due both inner and outer perimeters not being joined. I'm sure there may be applications when you would actually want a springy gear, but not this time.

Next the printed plate of four large gears in PLA using the 0.58mm default.

Fig 6 - Shows a close-up (during half the print) of the 0.58mm print, showing three very neat and solid inner and outer perimeters joined well. This will give an ideal 3D Print for this object.

You can also see that all the other widths have various issues we have already seen, so don't use.

- Summary and general tips and tricks - 

As a general guide for most prints I tend to use a 0.5mm or 0.6mm  nozzle at 0.2mm layer height.

With low layer heights it is possible to make the width of a line smaller than the nozzle size, but that's not really always recommended.

It's more common to have a scale factor of around 1.5x the nozzle size for line width.

For example a 0.5mm nozzle will extrude correctly with a layer height between 0.1mm to 0.4mm layers. You can go for an even smaller layer height if desired, but balance that with time to print and final quality.

Some materials can be used with a ratio of almost 1:1 for nozzle width. For example PET materials like Taulman Tglase and Colorfabb_XT will benefit optically from thick layers that are not too squashed.

And for the maximum width, it's usually good to stick to under 2.2x the nozzle size.

It's always a good idea to look at the output Gcode that Slic3r generates, even if this is only once to see what sizes of line widths it has decided, if you leave the advanced settings as automatic (0)

As another example when generating spiral vase (single walled perimeter) prints I often see people leaving the default size for perimeter, that's fine but it often ends up with a delicate thin walled object, when really a fatter wall would be much more robust for handling the object after printing.

Instead of a 0.6mm perimeter you'll be amazed how well a 1.2mm or 1.4mm thick perimeter feels and looks to a finished 'spiral vase' object. It almost always makes the print more useful too.

I'm a big fan of bigger nozzles, I often print with a 0.8mm or even a 1.2mm nozzle especially with bigger objects. You can still get a lot of detail and a fine finish even with a bigger nozzle. Just make sure you have an extruder drive that can keep up with material flow demand, or slow down.

If you get a chance, do try this out where appropriate, tuning of width is still not yet an automatic feature in slicers so until we have more auto-intelligence, doing it by hand can give some very impressive results.

Slic3r Reference -
Slic3r is an open-source 3D model to Gcode converter (slicer), it's main author is Alessandro Ranellucci with contributions from the 3D Printing community. You can find out more about Slic3r and download it from Here.

Slic3r is licensed under the GNU Affero General Public License, version 3

The Slic3r icon was designed by Corey Daniels

I hope you found that of some use.

Did you read it all? - too long? complicated? not enough examples? or just right :)

Remember to give me some feedback, It's always good to know if this sort of post helps.

If you would like to see more tutorials and 3D Printing advice, do let me know. Especially if you have a specific area or focus, either materials, methods or on design etc. Leave a comment below, or catch me on Twitter @RichRap3D or Google+ Here

And a little late, but Happy New Year everyone - until next time.