How to check your .stl files before 3D printing them

Hi there, today it’s going to be about some general design rules that should always be performed on any .stl file you create before 3D printing. Most of the downloadable .stl files for 3D print offered by several platforms are already checked for 3D printing, and the feedback is quick as well if something is wrong because of the nice community around 3D printing.

© parametric | art

© parametric | art

After the 3D printing boom in the last couple of months, the number of the 3D printer owners has rised and a lot of people started to 3D print their downloaded things at home. The system of the RepRap-like FDM 3D printers hasn’t been designed for a plug&play use, if you’re into 3 printing you should know what I am talking about. If you are a natural born hacker, RepRaps are just for you, but if you want a 3D printer for professional production you should buy an expensive FDM printer from the higher class. They use the same technology but the system is closed so it doesn’t need any adjustment or special maintenance.

© parametric | art

© parametric | art

If you want to design a 3D model for a visualization render or a video game, you needn’t pay any attention to real world physics. In the practice, the most 3D objects will only contain the meshes that are visible, they don’t need to really connect, there can be a lot of 2D elements in the geometry and there can be some holes and broken meshes or duplicates which can disturb the slicing process while generating the g-code, etc. You can completely ignore the physical world. 
As some of you have already discovered, once you start working with 3D printers this is very different!

Screen shot 2013-07-19 at 1.19.52 PM

I just would like to share the basic design rules of my general design for 3D printing process and the machines I’ve worked with. If you design something in 3D, at the beginning, you probably don’t know which type of machine and material you want to use to realize your object. In general, every single 3D printing technology like FDM, SLS or DLP has got its own pros and cons, so the designs should be optimized for the actual chosen additive manufacturing method and the material for the fabrication. I mostly use my desktop 3D printer which works with fused deposition modeling technology (FDM), actually it is an upgraded/hacked Makerbot Replicator2, which is capable to 3D print with experimental materials as well, like laybrick (sandstone-like stuff) and laywood (wooden filament). I usually print with PLA filaments and sometimes I make 3D prints with wood and sandstone. I already have 3D printed more than 2000 hrs with my machine, and I had to learn the limitations of the FDM process so I could design more complex geometrical forms and parts.

Usually, I make my designs in Rhino with the Grasshopper parametric modeling tool, which is absolutely free. This great plug-in gives you parametric control over your meshes, so I can think about the 3D printing process while designing my sculptures or stuff like that.

Screen shot 2013-08-05 at 2.13.04 PM

If you want to prepare your model for 3D printing, you should know the boundaries of your machine. If not, there are some general guidelines to choose the right and universal maximum size and wall-thickness, based on the build volume and nozzle/beam diameter of the 3D printer. In general, the model should fit into a 15 x 15 x 15 cm cube and mustn’t contain walls with a thickness under 1mm.

Screen shot 2013-07-19 at 11.44.21 AM

If you need support structures for your 3D print, maybe you should add them manually to your model; the automatic generated supports by the several slicer software are a waste of material and if you don’t use some soluble material for 3D printing support structures with a dual extrusion 3D printer, you may have some issues while removing the support structures and get a nice surface finish.

@ parametric | art

@ parametric | art

Another important thing is the position of the normal vectors of the meshes of your .stl file. All meshes of your model should have their normals pointing in the correct direction. When your model contains inverted normal’s, the 3D printer cannot determine the inside or outside of your mesh or 3D model.  Usual problem is the error of the mesh surface as well, holes, duplicates can make your print wrong.  In Rhino, there are some really nice Mesh Repair tools like Cap Holes of Remove Duplicates, which can make your work easier. Netfabb is an awesome cloud-based tool as well, the free version already allows you to analyze, test and repair your .stl files, split and cut them into parts.

Your 3D printed surfaces must be closed, I’d like like to call this being ‘watertight’. It can sometimes be a pain to identify where this problem occurs in your 3D model, if you can’t find it, there are some really nice algorithms or applications and tools which will highlight the problem area for you. Will It 3D Print is useful site with a funny design, unfortunately, it doesn’t work for me with complex and huge .stl files, with simple geometries it might work. I’ve already put together an algorithm in Grasshopper which analyzes meshes for holes and unifies their normal vectors.

Screen shot 2013-08-05 at 2.20.10 PM

Let me share some really nice apps and tools which I’ve used to create and optimize my 3D models for the 3D printing. At first, you have to create the 3D geometry of your model. I use several professional 3D software’s, but if you don’t want to get into 3D modeling and complex geometries, there are some easy-to-use sculpting solutions which can give you great results without any 3D experience. Of course, you can download .stl files from 3D databases like Thingiverse, GrabCAD, Ponoko, or Nervous System, you also can customize your stuff with some really nice WebGL based 3D modeling tools which run in your browser window.

Screen shot 2013-08-05 at 2.23.35 PM

If you want to create something unique, SculptGL, 123D and Leopoly could be the right choice for you! Both are in-browser 3D modeling environments with 3D print and .stl export function, and Leopoly has got an absolutely awesome controller called Leonar3Do which is a bird-like device to navigate and work in a 3D virtual reality space.

If you already have your model, you have to optimize and check them before 3D printing, Netfabb, the Mesh Repair functions of Rhino, WillIt3DPrint and Meshmixer are great solutions for that, and of course, the new 3D printing features of Blender’s latest release gives you a nice control over these parameters as well.

Screen shot 2013-08-05 at 2.16.17 PM

After your .stl meshes have been tested, you have to slice your model to generate the g-code which defines the tool path for the extruder head of your 3D printer. This article cannot describe the whole world of g-codes that the most desktop 3D printer firmwares use and how they work, but some facts should be cleared. The main target is additive fabrication using FFF/FDM processes. Codes for the 3D printer head movements follow the NIST RS274NGC G-code standard, so RepRap-like firmwares could be used well for CNC milling or stuff like that.

As many different firmwares exist and their developers tend to implement new features without discussing strategies or looking what others did before them, a lot of different sub-flavours for the 3D-Printer specific codes developed over the years. The most common slicing software solutions like Slic3r, MakerWare, ReplicatorG, etc. can save the information in the main format and as a pure g-code as well. If we aren’t sure about the success of our 3D prints, because we try it for the first time, we can test and simulate the 3D printing process with our g-code. There are a couple of g-code visualizers available, some of them already runs on Android as well. CNC Simulators can animate the 3D printers movement and working process as well, so can easily check if our print will work or not. The ReplicatorG and Slic3r offers similar simulating and analyzing functions like Netfabb and WillIt3DPrint.

Screen shot 2013-08-05 at 2.34.44 PM

If everything is ready, and our model has been sliced and fully prepared for 3D printing, we can turn on our magic machine (I mean a desktop 3D printer for example) and prepare it for the work. Make sure your build plate has been leveled correctly because it can cause the first layer not to stick to the plate. You can wash it with acethone but always check the leveling before you print.

© parametric | art

© parametric | art

You can use a painters tape if you want to, I personally don’t prefer stuff like that because I print all the time so it would take too many hours to change the tape, I always print with solid raft structures so I can easily remove the prints from the plate without any risk of damage. Make sure you have enough filament on the spool to complete the process, and let’s start heating the extruder! In a couple of hours (or days depending on the size and resolution) your prototype is ready, just like this huge industrial prototype I’ve printed, which took more than 50 hrs to print in 3 separate parts.

© parametric | art

© parametric | art

But it looks really cool, I’ve made it with translucent PLA using 70 micron (.07mm) layer height, which is quite good from a desktop 3D printer like my hacked Makerbot. Of course, all the 3D printer manufacturers offer their own software for the machine, and I bet they work pretty good as well, but if you want to push the boundaries of your desktop 3D printer, the open-source software solutions gives you more possibilities for fine tuning and calibration of your machine for special materials or experiments. In my next entry, I’m going to post some results about my latest 3D printing experiments: 3D printing with sandstone and wood – organic materials in the digital fabrication process! Stay tuned 😉

sandbud

Some facts about the most common 3D printing materials: PLA vs. ABS

Hi there, it’s me again. Today we’re going to discuss some myths and truths about the most common 3D printing materials used in FDM (Fused Deposition Modeling) technology, which is applied in the usual affordable desktop 3D Printers like my MakerBot Replicator2, Cube, Solidoodle, RepRaps, uPrinters and so on…

© parametric | art

© parametric | art

Honestly I felt – based on your questions and feedback – that it would be really necessary and important to clarify some key facts about PLA (Polylactic acid) and also the pros and cons, I mean the the advantages and disadvantages of PLA vs ABS (Acrylonitrile butadiene styrene) when used on FFD printers (such as the Makerbot Replicator2, Thing-O-Matic, Cupcake, Mendel, Felix, Rostock, UP!, etc.).

At first, I really would like to say that PLA is an absolutely strong and very durable material for 3D printing.

There are a couple of myths around this great material (PLA):

Some of you think that PLA will dissolve in water and/or will degrade in moist or wet environments. That is totally false. The 3D printable plastic, which is often used as a support material with dual extrusion 3D printers and which dissolves in water is PVA (Polyvinyl alcohol), not PLA.

© parametric | art

© parametric | art

Another fake myth is the durability of this great material. Some people – even some 3D print enthusiasts – are afraid from PLA, because they think that it will self destruct and simply become undone in a matter of months, just because PLA is biodegradable. I have to repeat myself, again, not true.

© parametric | art

© parametric | art

“Biodegradable” means – in my opinion and literally as well – that the product is strong and performs its function very well but when you throw it in a landfill or soil it will ultimately break down, of course not instantly, it takes a couple of years to complete the biodegradation process.

© parametric | art

© parametric | art

This is actually much more environmental-friendly comparing to ABS which takes over hundreds of years to break down. In addition PLA is made from natural resources such as corn starch or sugar cane, which makes this great material the right choice to create plastic parts at home. Just think about it, what if it will be true and the revolution of additive manufacturing and desktop 3D printers was going to escalate, everyone would like to be a designer and will print the own ideas day and night. We should be more responsible for our mother nature and not 3D print too much ABS junk. (Although we have to recognize, that ABS and PLA could be recycled as well.)

© parametric | art

© parametric | art

Some people claim that ABS is much stronger than PLA. That’s a little bit more complex, because the sentence mentioned above is absolutely true. This is the most recurring myth in the PLA vs ABS war and it’s also absolutely inaccurate: if you compare injection molded parts, ABS parts are pretty much stronger than it’s PLA counterparts; however we’re doing our 3D printed prototypes layer by layer, not injection molding and this changes things considerably:

A 3D printed part in PLA is MUCH stronger than a part printed in ABS. This is because PLA has much stronger layer bonding than ABS.

© parametric | art

© parametric | art

Let me tell you some words about layer bonding: unlike injection molding, FDM printers  3D print layer by layer so layer bonding is what determines the part strength.

If you are familiar with 3D Printing you’ll know that the strength of a 3D printed plastic part changes depending on the direction: if you pull perpendicularly to the Z axis – I mean vertically – (where layers are deposited), they will detach; if you pull in any other direction the part is much stronger. It behaves a bit like wood, this kind of anisotropy is really characteristic for natural wood products, and for 3D printed wood as well.

© parametric | art

© parametric | art

Because PLA has much stronger layer bonding it’s almost as strong in all directions (even when pulled in the Z axis).

ABS on the other hand, will detach layers much faster and much easily than PLA, making 3D printed ABS parts less strong. (they aren’t weak either; PLA parts are just stronger).

In my next blog entry, I want to discuss the PLA vs ABS thing in practice; there will be a lot of useful information about the shrinkage factor, rigidity, post-processing/sanding and melting temperature, so stay tuned;)