3D tutorials

Re-topologising CAD data using modo

modo 401 is an excellent tool for 're-toplogising' 3D CAD data. That is, the re-purposing of hi-density mesh created on export from NURBS-based engineering programs into a form (subdivision surfaces) useful for high-quality stills and animation rendering. Here's a simple tutorial to show how I usually approach this task.


stacks_image_CD27A3FD-2A51-4965-B1FA-EB3CF66B54AB
Here is the imported CAD data for a simple object (its actually the knob on the Auto shift for a Euro-spec Honda Accord). Although the shape is well described, there are too many polygons with an irregular flow. This could cause problems in rendering a clean result.
We are not interested in the internal construction of the object so that data is removed. Similarly the object is symmetrical so we can remove half of it at this time to simplify modelling.
stacks_image_FE72DFD1-8088-490F-A404-5ED21AAEAAA2
stacks_image_A85683E3-D824-4EF1-9D8B-B2C5ADDF1FEE
We are going to use some of the existing vertices to create a series of curves that describe the object shape. We shall then create new clean geometry out of those curves.

Here I have selected a line of vertices that describe the centreline curve of the object. You can select as many points in the curve as you like; it will have no effect on the number of new polygons that we will create. However the more points the accurate the curve is likely to be so you might as well select all of them on a particular line. They must be selected
in order for the curve to be created correctly.
We use the Make Polygons:Curve tool to create the curve
stacks_image_63A59FE2-78D7-4CC9-B3E6-41F8D50E6F3C
stacks_image_B71D91BF-E550-4AB8-8FAF-A71FC674DB06
If we switch now from Vertex to Polygon selection mode we find that the curve is pre-selected and we can cut & paste it to a new mesh layer.
Here we have selected a line of points to create an important curve over the middle of the object.
stacks_image_71BD58B5-0963-4C49-AFD1-042264E384C0
stacks_image_5B76645E-C45F-42DF-BE21-6E5CE683709F
Here we have selected points along the edge of the object. Notice that I have not taken into account the rolled edges of the object. At this point I am only interested in getting the main surfaces. The edges can be created later using similar techniques or by using other tools.

Note also that the end points of your curves
need to share vertices - this is important.
Here we can see a set of curves describing the top of the object with the original mesh in the background. One of curves (on the left) took a bit of a circuitous route because there wasn't a suitable vertex in the position we needed it.

To even out that curve what we can use the
Element Move tool (t) in conjunction with Background constraint to move the vertices of the curves about until they are are nicely even; confident that the vertices will still be true to the object surface.
stacks_image_C90D828C-1E6E-457B-B803-C5B48CD45D5D
stacks_image_E4A60A66-E673-498B-95E0-9F423368C770
We can now see our curves fairly evenly distributed. At this point we run Vertex Merge:Automatic to make sure that our curves end points or crossing points are sharing the same vertex
When Patch Curve:Define tool is selected and we click in the viewport blue squares appear to indicate what curve segments are available. We can see that there two areas of four segments each and two areas of three segments each. Three curve areas are fine but the surfaces they create will always 'pinch' a little and will require some clean up later

stacks_image_D62FBBFF-26A2-4D87-B2DF-C340F43F2543
stacks_image_1D8D2A7A-7255-4372-A454-F0EA369463ED
By selecting the blue squares that define and area the surface patch is created. I have chosen to create 8 x 8 polygon patches for each of the areas which looks OK
Now I have created curves for the rest of the object. I've missed the centre ridge for the moment, I'll deal with it shortly.
stacks_image_2B3402A1-4AF4-4A33-912D-059F02713A9C
stacks_image_599242DA-1CA8-4460-871A-FDC0486B3A2D
stacks_image_2A418B51-3C90-4BE6-B5CC-8ECCF4D08DE2
I have created the next patch surfaces, also 8 by 8, and on the right the two surfaces with subdivision turned on.
stacks_image_F1DB9EF2-CA3C-4628-B7EE-8178D58922BC
stacks_image_14E92DA0-4DF8-46DB-8CCA-5C5BAE78DA1C
To connect the two surfaces I have used the Edge Bridge tool with a count of two. This will leave an edge in the middle that we can pull out to create the ridge.
Our new mesh is looking pretty close to the original now but it will not be as accurate as it can be. In fact we need to recognise that it will never be 100% accurate because of the inherent approximations of converting from NURBS to Polygons to Subdivision Surfaces. However by using one of modo 401's best new features we can get very close.

We enable
Background Constraint and make sure Double Sided is on. Then using the Push deformation tool we 'inflate' our new mesh against the underside of the existing mesh. This works exceptionally well and ensures that all our new vertices lie on the existing mesh surface. Its as good as we can get.
stacks_image_5D488548-A3C1-450D-AF46-C6036AF12AE2
stacks_image_E363475F-B0A6-4760-8EA2-0D4601A9B5FA
Now we mirror the mesh and weld the two halves.
Finally we finish off the edge returns using the Edge Extend tool (z), again using Background Constrain to be as close to the original shape as possible
stacks_image_6F321C11-6AC0-403A-82F4-19F8C62724AE
stacks_image_A0C2A50D-3BD1-472D-9070-E266A7A973CA
Above is the original mesh of 7000 polygons with some evidence of artefacts in the render. Below our new mesh of 1500 polygons and a nice smooth surface.
stacks_image_AD0A04EA-5FEA-471A-9305-F7A345A9AF50
Writing this little tutorial took way longer than actually constructing the object! I hope you find it of use.

©Vincent Rice 22/7/09
Update: After writing this I wanted to see if modo 401's new tools could speed up the process...page two here.