3D printing is finally entering a new stage and it is starting to fulfill its promise with the advancement of printers, materials and services. Consumer 3D printers such as New Matter, fast running disruptive printers such as Carbon3D and the aid of printing services such as Sculpteo are working on delivering that promise and paving the way to 3D printing. However, there is still a major issue that is standing in the way of unleashing the technology’s full potential, that issue is content “printable content”.

For those of you who are new to 3D printing, you’ll be surprised to hear that not all 3D models are printable. Each printer requires a different specification to the other which is dependent on the printing technique and material used.

Our mission is to bring printable content to the world and eradicate the need to manually construct a model to its printable stage, making printing easier and reducing its overall cost. That’s what MakePrintable is all about!

Concept

MakePrintable is designed to reconstruct 3D models from scratch into a printable state. It works by combining the printer and material specifications to build a model that fits into your exact print requirements. Our approach is intended to let you design the way you like and leave the headache of ensuring print-ability on us.

To be able to provide a great service we thought about a number of things:

Input: We want you to be able to upload any 3D file without being restricted to a specific format for that we support +20 file formats.

Output: We want you to be able to get a fixed 3D model file or a GCode file for direct use with the printer.

Simplicity: We want it to be simple and user friendly for that we made it to be cloud based and requires only few steps to get your model fixed.

Speed: 3D printing is slow and you don’t want to waste your time with manual fixes causing the print time to be much slower for that we have automated our process to give the best results in the least amount of time possible.

Portability: Most 3D models are not designed for a specific printer and our main task is to automate the modifications needed to make a model 3D print on different printers.

Our algorithm takes any 3D model file and builds one single watertight solid from overlapping objects, generating zero boundaries and zero non-manifold. We fix wall thickness issues, remove internal excess geometry and we are working hard on adding several other new features.

The algorithm is resolution oriented which means that you can specify a resolution for the output which will affect the fix time needed and can help you get different outputs for different purposes from prototyping to final production, this has a huge benefit to 3D marketplaces and printing shops as they can produce a low quality version for inspection and a high quality version when an order is actually placed and having a reconstruction process allows us to add watermarks to 3D models.

Workflow

We want your experience using MakePrintable to be smooth and stress free! we are focused on the user experience and simplicity, during our beta we would love to hear from you how we can improve it and make it better, the workflow is designed to require few simple ‘but necessary’ steps to get you the result you would expect us to deliver.

Step 1: Uploading a design

You can drag and drop your file or select it by clicking “select a 3D model”. Once you select your file, it will then be uploaded to our cloud for processing. Our system supports a number of 3D file formats making your upload straightforward and trouble free!

Step 2: Configuration

Once your model is uploaded to our cloud then you can select the different options for printing, during the BETA, we will be introducing different printer and material profiles but for now we will be providing some general parameters for fixing, these parameters are as follows:

Fix name: This will allow you give a name for a fix and track it.

Print type: This is the profile we will use to determine the resolution of the fix. we support 3 profiles:

Prototype: Generates low quality model where details will be reduced but the fix time will be fast.

Standard: Produces a medium quality model where the main details will be preserved and fine details reduced. the fix time is longer than the prototype.

High: The profile will generate a high quality model but takes more time to fix.

Wall thickness: The amount of wall thickness in millimeters (mm).

Pre-optimize: This will reduce the model before going into the fixer which will increase the speed of the fix. If your model is dense and can be optimized without losing important details, then we recommend using this step to speed up the fixing process.

Post-optimize: Our fixer generates a lot of geometry details depending on the print type. You might want to reduce the final polygon count unless you are looking for a high density result.

Apply smoothing: Smooths the model after fixing it.

In future we will be introducing more control over what can be achieved on your model as we release more features like the ability to increase or remove fine elements, the capacity to extract geometrical details out of textures and the ability to generate one texture and one UV for the whole scene.

Step 3: Select output

We’ve designed our service to be able to generate either a fixed 3D file or a GCode that can be directly used with the 3D printer’s firmware. The GCode generator is still in the making – we will start providing access to it as printer profiles are added to our service.

Step 4: Processing

Once you click on ‘next’ the magic will start! Our fixer will begin to process your 3D model, which should take only a couple of minutes to complete. The model will be analyzed, collecting information needed for reconstruction to take place.

Reconstruction happens during the “triangulation” stage. Sometimes triangulation fails to produce a fully watertight model and this is where the finalizing stage comes in handy. The finalization stage fixes any triangulation errors and after that, we’ll add some magic to make sure your model is clean and ready for download.

Step 5: View and Download

Hoooorraaay! By now your model is fixed! At this stage you will be able to view and compare the original vs the new file, as well as download the fixed model. Both viewers can be opened in full screen mode and soon we will be adding a feature so you can see the full analysis of your fix process.

Current stage

We are currently operating in private BETA This means that there still a few snags we are working on. We still need to make improvements on scanned models and resolution is still limited -in some cases it caps areas that we don’t want it to cap when trying to remove excess geometry or contained areas. Nevertheless it’s working brilliantly on difficult cases like hair made of intersecting planes and thickness issues; and works really well with game characters and figurines. The feedback we will be getting during the BETA will help us to improve and make it powerful enough to handle even more cases.

The nature of reconstruction might not suit fixing small defects when you want to preserve the original geometrical structure. We aim to create a solution that will build a top class topology for your 3D model.

Initial Results

We have picked a couple of cases that shows the potential of the service and why it will help overcome major challenges never conquered before:
Character’s hair: when it comes to game assets and characters, a lot of designs uses intersecting planes to create details that renders fast, this doesn’t work will with 3D printing as 3D printing requires a closed solid “watertight” model and almost all current healing and fixing solutions will remove these details instead of fixing it, the below figure shows the issues of one character in meshlab before fixing it with MakePrintable.Most services out there will fail to fix this case as they will remove all of the hair detail instead of figuring out how to shape it, MakePrintable on the other hand will work on detecting the shape represented by the hair plane and construct it. Below is the result of the fix with zero boundaries and zero non-manifold edges after running MakePrintable – take a look at how our service generated the necessary geometry.

Thin parts: Wall thickness is a major issue when it comes to 3D printing and a lot of models fail to print because of having thin parts. Even if you design something to be thick, the size of the print will affect whether it will go through or not. For example, even if you design your model for printing and you have a 1 mm feature designed for a 20 cm print, then that feature will be 0.5 mm if printing in half the size. It will also be constrained by the type of printer you are using and the requirements of that printer. That’s the case when the model is designed specifically for 3D printing, but if you are a game or animation artist and you have already designed something without that in mind, or you picked a 3D model from a marketplace and / or without knowing the target printer, then the issue is far bigger. This is where our fixer comes in handy as we control wall thickness for you. The below bicycle model contains one thin sided ( zero thickness), boundary detail on the inner part of the wheel that intersects with the outer wheel. These details will prevent a print from happening or when you try to fix it with current fixers and healing solutions, it will be removed. But after running the bicycle through our fixer, it preserves the detail and generates the needed wall thickness.

Comparisons

We’ve asked a 3rd party to conduct some tests on the above cases and do a comparison between MakePrintable and both (Netfabb and Autodesk MeshMixer) and while both products are in the making for years, well established and officially released yet both failed to fix the two cases which our beta managed to solve.

Check out the results given by the third party below:

Autodesk MeshMixer result

If you look at the above result from MeshMixer using the makesolid function with the highest quality parameters, you can notice that it failed to produce the correct result, removing important detail and preventing the bicycle from printing properly, The same happened with netfabb cloud which continued to produce a lot of non-manifold as below:

Netfabb cloud result

The character on the other hand, failed to fix anything on netfabb cloud and in MeshMixer a lot of detail was either removed or corrupted. See MeshMixer’s result below.

Autodesk MeshMixer result

We decided to do another test case by using a complex game character and, as expected, both solutions failed to produce the quality required. Below are the results:

Whilst Netfabb result looked way better than MeshMixer’s, a lot of fine detail had again been removed. Unwanted geometry was produced inside the model which can create a whole bunch of problems during printing and it failed to fix wall thickness on very thin parts. MakePrintable managed to preserve all detail, add wall thickness and produce a quality result even on our prototyping resolution used in the beta. Check below :):

The BETA

During the BETA, our focus will be to enhance the quality of the results and the speed of the fixing process. We want to reach the level in which the maximum fix time is 1 minute on a high quality print. We need you to help us to enhance our fixer and service. Your feedback will help us to eliminate any issues that occur in the fixer and provide better quality in the long run. We know that there are a number of glitches remaining (see below) and aim to eliminate these in the next couple of months.

Known issues & Challenges

Sharp corners: the fixer might generate sharp corners depending on the resolution used but during April we will introduce a fix that ensures the mesh corners quality.

Extra edges: On occasion, the fixer fails to build correct relations between edges thus resulting in some extra edges added on corners.

Additional geometry: In some cases we have found that some models might create additional flat polygons on the bottom or the top or if there is a lot of inner geometrical details then it might remove from the shell.

Object orientation: Currently the fixer is affected by the orientation of the model whereby different orientation can result in different results. We want to reach a stage where this becomes obsolete.

Capping of closed areas: sometimes our fixer will cap closed areas even though that area might be a necessary detail, our approach to fixing this is by tracking all areas not fully disclosed within the geometry, we aim to have this fixed by end of April.

Scanned models: When our fixer deals with scanned models it might fail to close big holes. This is affected a lot by the orientation, plus our fixer is designed to preserve the look and feel of the model. We plan to introduce an option to identify a fix as a scanned model and be able to manage it properly.

Texture support: This is a feature in the making; but as we know that some colored printers only support one UV, we plan to generate the necessary texture and UV for all intersecting objects with the ability to handle tiling.

Speed: When working with objects with high density, the fixer can become slow. This can be avoided by using the pre-optimize option. But where high density is necessary we plan to optimize our algorithms and increase its speed.