3D Artist

How to make a model for 3D printing

Tips & Tutorials

Learn how to create a watertight 3D prototype model for 3D printing, and use your skills to enter to win a MakerBot Thing-O-Matic worth $2,500

Many people ask how to prepare a model for rapid prototyping. Expert Bernat Cuni demonstrates how…

3D printing is a form of additive manufacturing technology where a three-dimensional object is created by laying down successive layers of material.

With a 3D printer, we can create objects impossible to make as a single piece by other means of production. It is possible to print objects within objects, hollow parts, interconnected parts, moving pieces, complex twists, and intricate details.

There are numerous 3D printing technologies out there; stereolithography (SLA), selective laser sintering (SLS) and fuse depositing modelling (FDM) to name but a few, and each has pros and cons.

When you are considering preparing a piece for 3D printing – in this example, we’ll be producing an object in ceramics – we must first consider the design constraints before we select the 3D printing process.

In the case of ceramics, the minimum wall thickness possible is 3mm; the maximum detail is 2mm. In other processes, such as SLS, the minimum wall thickness might be as thin as 0.7mm and the minimum detail as sharp as 0.2mm, so it’s very important to know the process.

Something else to consider is cost – 3D printing is not necessarily a cheap process, so try to use as little material as possible.

Step 1 – Modelling

You can pretty much 3D print everything from organic ZBrush sculptures, mathematically complex models and sleek product designs, to your computer game avatar. Whatever you’re designing, keep in mind the real world. Your 3D model will become an actual object, so you must consider dimensions, strength and gravity.

So, for example, if you want to 3D print a figurine, make sure it will stand on its own two (or however many) feet, or consider adding a base.

Modelling for 3D printing

In this case, we are modelling a coffee cup (otherwise known as an ‘Octocup’). Since we want it to stand on a table and hold liquid (the function of a cup), we can’t go crazy with asymmetrical shapes because the cup could fall on its side. The model itself should be a mesh, preferably an OBJ or STL file.

Modelling for 3D printing

Step 2 – Hollow the shell

As mentioned before, in order to save on printing materials, it’s advisable to make a shell of your model. Again, depending on the printing process and material, the wall-thickness requirements vary. In this case, we will use a 3mm wall thickness. To do so, we can use the fantastic software MeshLab, which is ideal for this kind of task.

What we need to do is create an offset of our model with the desired thickness, so open the model and navigate to Filters > Remeshing > Uniform Mesh Resampling (this may differ, depending on your software). Change the settings to Precision 1.0, Offset value -3 (desired wall thickness) and check both Clean vertices and Multisample. Now we should have a nice inner shell. We now need to invert its normals in order for it to be understood as a hollow model (Filers > Normals, Curvature and Orientation).

Modelling for 3D printing

Invert the orientation of the inner shell: click View > Show layer dialog and select the offset layer. Click Filters > Normals > Invert Faces Orientation. To make the final file, click Layer > Flatten Visible Layers File > Export Mesh as. Next we just need to add a little hole for the excess material to escape. You can do that with your modelling software – normally, a hole with a diameter double the wall thickness should be enough, so in this case that means a 6mm diameter.

Modelling for 3D printing

Step 3 – Clean up your model’s mesh

3D printers are quite picky and love well-constructed models, so we need to be tidy and accurate when preparing our models for this process. We should fix non-manifold edges (shared edges) and unify the Normals direction. To further cleanand verify the model, we will use netfabb Studio Basic, which is a free piece of software.

Open your file and run the automatic repair to close holes in the model. Navigate to Extras > Repair part, and then click Automatic Repair > Apply Repair. Save your model via Part > Export part > As STL (binary) and choose a suitable filename for it.

To fix possible intersecting faces that might present one or two problems during the 3D printing stage itself, we can upload it to netfabb’s cloud for processing. The file is now finally read to go!

Modelling for 3D printing

From 3D to reality

You can take your file to any 3D printing service provider, or your local fab lab or hackerspace, and they will print your object – no problem. What they will do is translate the file into G-code (instructions to the machine to move and build your object). To get an idea of how this is done, check out the Skeinforge application, which is used to drive the RapRap DIY 3D printers.

Win a MakerBot Thing-O-Matic worth $2,500 US!

MakerBot Industries has teamed up with 3D Artist magazine to host a unique character design challenge on Thingiverse.com. The winner will receive a fully assembled Thing-O-Matic, worth $2,500 US.

Check out the competition page to enter for a chance to win your very own 3D printer!

  • Pingback: Win a 3D printer worth $2,500 US! | 3D Artist()

  • ruben

    My Meshlab sw crashes after applying step 2. Is there a stable version of this software? I’m using Win 7 32 bit.

  • What is a cost effective design software that a typical 3 d machine will interface with. We keep hearing that it will cost 5000 per person with solid works and other softwares
    Any low cost but effective 3 d software out there?

  • Pingback: Tutorial | prepare models for 3D-Printing | cunicode()

  • pinkberry

    When two colors are touching each other, how do we make it connected when printed?
    Would assembling after print be possible? (Like…pushing in buttons)

  • Hi there! The MakerBot crew have suggested you check out this item on Thingiverse (pin connectors v2), which allows you to snap objects together. We’re told this link is also helpful because it shows lots of items using snap fits: http://www.thingiverse.com/tag:snapfit

    Apparently it’s also easy to superglue items together, as long as you think in terms of printing with flat surfaces.


  • Maks

    What if I have one mesh overlap into another mesh , like a cylinder and boxes placed halfway through normals. They are attached as one mesh, but not having any shared polygons or vertexes.

    Will it still print just fine, or am I suppose to make manual cuts,and somehow weld every single vertex??

  • Pingback: Competition: 3D printer competition winners revealed! | 3D Artist()

  • Pingback: 3D Printed Fossils | Virtual Palaeontology()

  • working on modeling, can help to create models

  • Jeff Brown

    Can 3D autoCad modeling of spheres be produced by 3D printers? If so, best autoCad program and best 3Dprinter to do the job?

  • My Meshlab crashes when doing Uniform Mesh Resampling, I just updated to the newest Mac 64bit version and I get the same crash everytime, so I cannot use it to make shell. Any other software recommendation?

  • 3DmodelerDy

    Talking about 3D printing I can say that this is the best innovation for now. Because it opens wider opportunities to all of us. Now 3D printing is maybe costing too much, but in the future, after about 3-4 years when this thing will be available for everyone I think people will no go to fix theirs broken things but they will create another one.

    The side that everyone can use different material to print model shows us that it is really universal thing. If we now can create real guns just from  weapons 3D model, that some time ago was 2D model.. to cookies to eat for a Christmas..or clothes for fashion shows.. 

    Also more and more people are talking about  3D printing use for medicine. I think this is extremely important to our lives.. to change them or make easier. I think that in the near future we will know how to print real heart with all of  its functions and use it for people as an implant. or are there printed it yet ? Hope this innovation goes far.. Maybe human body parts museum will be opened in the future.. It would be really good place for society to learn more about our inside 🙂

  • ZiadJ

    “Our lab uses a desktop inkjet printer but instead of using ink, we’re using cells.” – Anthony Atala

    This guy has already printed a fully functional bladder and has saved the life of a young boy in doing so. The next step now is to print a kidney.

  • Meshlab is a VERY particular program. It is an AMAZING program, but it feels like a program from the 80’s

    To make sure Uniform Mesh Resampling completes successfully –

    1. make sure that you have the correct level selected in the layers palate.
    2. Make sure the model dimensions are correct from whatever modeling software you are using.
    3. Make sure the model units (mm in this case) are correct from the model you are importing.

    You can also reduce the precision to .5%. That tends to help.

    Remember that meshlab was created as an archaeology tool and the logic is archaic.

  • Jeff Veers

    I just dealt with a similar problem by using the “flatten visible layers” filter in Meshlab to combine the different meshes into one. Then sent the file to netfabb’s cloud repair service (linked in the above post) to fix the intersecting surfaces. It worked great!

  • we are currently looking for someone to create Armis player piece files for each of our 17 unique player pieces. please contact us at armisgame@g for details

  • ma

    You made my day, Lynette! Great job! By the way, when doing ‘uniform mesh resampling’, meshlab always crash under linux as well. But it works under win7

  • Holten Smith

    could’ve been great, but fxckin ads dude

  • mehul jain

    Can someone tell me what are the factors that we need to consider to set the precision value and offset value and how to calculate the volume with these two factors

  • mehul jain

    I am not able to get the precision value and offset value parameters. can someone help me how to set these two values.