Wednesday, October 9, 2013

3D Printing: Exporting from Maya using COLLADA

Exporting from Maya using COLLADA

Link

Adapted from a Shapeways community member tutorial: Bryan Vaccaro

Overview

Maya is capable of exporting to most of the formats currently supported by Shapeways (.stl, .dae, .x3d and .x3db), but in my experience the Collada format is the easiest to work with on both ends. The exporter plug-in is easy to install and use, and when uploading to Shapeways it retains the units set in the file. It will also triangulate your mesh upon export at whatever level of detail you have it set to.

Downloading and installing

First you have to download and install the ColladaMaya plug-in by Feeling Software. Go here and create a free account to gain access to the download area. Once you've installed the plugin, activate it in Maya's plug-in manager [Window -> Settings/Preferences -> Plug-in Manager]. Locate and load/auto-load Collada.mll.

Setting up your scene

Before you start modelling, go to [Window -> Settings/Preferences -> Preferences] and set your units in the Settings category. Since Shapeways displays metric units, I set mine to centimeters. I did some testing, and with Collada it seems that Shapeways will always interpret the units correctly no matter what you set the preferences to. However, I've experienced difficulty with other formats where it would interpret 150 millimeters as 150 centimeters - this was particularly true when running models through several software packages.

As you can see below, the hand stands nearly 16 centimeters tall. Under [Display -> Grid options] I set the grid to draw a dark line every centimeter and a lighter subdivision line every millimeter.

Setting up your model

After getting your model to the scale you want it at, go to [Display -> Polygons -> Custom Polygon Display] and check off Face: Normals, click Apply, and then set the Normal size appropriately. Below you will see the normals appear as green dots, meaning they are facing the 'inside' of the hand. In the Polygon menu set, select the geometry and go to [Normals -> Reverse] to reverse them.

You may encounter a situation where some of the normals are facing outward, and some are facing inward. To fix this, select the geometry and go to [Normals -> Conform]. It will face all the normals in the same direction, so if they are all facing inward after conforming, go ahead and reverse them.

Hollowing your model

Hollowing out your model can result in a tremendous reduction of material used, and thus money spent. Select your geometry and go to component mode. Select all of the faces of your model, make sure [Edit Mesh -> Keep Faces Together] is checked off, and go to [Edit Mesh -> Extrude]. When the local translation handles pop up, select the blue handle (Z-axis by default) and move the faces in.

It helps to enable X-Ray shading, under the viewport menu [Shading -> X-Ray], to see how far in your are moving the faces and also if any of the faces are becoming distorted or folding in on themselves. In the Channel Editor, the attribute Local Translate Z can be changed for precise hollowing. For example, if you set a value of -0.1, the model will have walls 1 millimeter thick. Depending on the material you intend on printing, the value can be anywhere from -0.20 to -0.05, or 2mm to 0.5mm thick walls.

Below is a cut-through view of the hollowed out hand.

In wireframe mode, you can see the offset faces on the inside. Because they were offset negatively, their normals are still facing outward. This is not physically correct; the 'outside' surfaces' normals must be facing out, and the 'inside' surfaces that we just extuded must be facing in. Since the outsides normals are reversed too, most of the time you can simply reverse the normals of the entire model to correct it. Otherwise, select an inside face, press [Shift + .] to expand your selection until all of the inside faces are selected, then [Normals -> Reverse].

A view of inside the hand, with normals facing the correct direction.

Error checking your model

90% of the time I can avoid using MeshLab or AccuTrans to check for errors in my model by using the Cleanup tool. Go to [Mesh -> Cleanup] and use the options below:

Click apply, and it will select any non-manifold geometry, lamina faces, and faces with holes. When Shapeways finds a problem with your model, these are the prime reasons why. If you select the Operation: Cleanup matching polygons, Maya will try to fix the problems it finds. This works well for things like holes, but sometimes you'll have to fix nonmanifold geometry manually. It pinpoints which faces are nonmanifold, at the very least.

Tweaking your model

Depending on your model, there may be some parts that you don't want hollow, or are too small to be hollow. For my hand, I am going to make the fingers solid so that they won't snap off. First I hollow the entire model as described above, then select one face on the tip of each finger. I expand the selection [Shift + .] until the entire inside finger is selected, and delete the faces.

Now the base of the fingers are open holes, so I go to [Mesh -> Fill Hole] to cap them off. Now is a good time to mention that my model is low poly with smooth mesh preview enabled (select mesh and press 3). This makes it a lot easier to hollow out and tweak - and when I'm done with all that, I do a mesh smooth [Mesh -> Smooth] with a level of 1 or 2 depending on how smooth I want it to be and how many polygons it results in. If you try hollowing an already-smoothed model, it may result in faces that intersect each other and cause all sorts of badness.

Finger holes, filled

Exporting your model

Before I export, I select my model and freeze transformations [Modify -> Freeze Transformations] and delete its history [Edit -> Delete by type -> History]. Early on I had problems with files that contained multiple objects - each object would show up at its original location at its original scale. Scaling a 10cm tall model by 0.5 would still be read as a 10cm tall model by Shapeways. Maybe this bug has been taken care of, but I like to have a nice clean file to export anyway.

Go to [File -> Export All] and choose the Collada format. I use the following settings:

That's it. Upload your file to Shapeways and wait for it to become printable. Note the size of your model:

15.8cm, just as in Maya. Beautiful.

Now take a look at the price difference between a solid mesh and a hollowed mesh with 2.5mm thick walls:

That's a difference of $146.65. Wow!

Now give yourselves a hand:

http://www.shapeways.com/model/6157/human_hand__hollow.html

http://www.shapeways.com/model/6155/human_hand__solid.html

No comments:

Post a Comment