Hybrid Revit Families: Complex Organic Objects with Correct Texture Mapping
By: Autodesk University
Tags: 3d Design, Filmmaking, Architecture, Design, Visualization

By Ricardo Marmolejo for Autodesk University

Creating organic realistic families in Revit can be quite a challenging task since Revit families’ modeling options are limited to basically five tools: extrusions, revolves, blends, sweeps, and swept blends. Creatively using these five tools will certainly help you to model most types of objects, but when it comes to soft goods (pillows, cushions, curtains, clothing, bedding, etc.) these five tools can be quite limited, not only because of the shapes you can create with them, but also because of the way Revit maps the textures on to them. The lack of additional modeling techniques in Revit (like polygonal modeling or NURBS) available in other 3D programs like Maya, puts Revit at a disadvantage in terms of modeling complex objects, but luckily for us, we can combine the power of these other 3D programs with Revit to create hybrid families that are richer and more realistic looking (modeling-wise and texture-wise).

By understanding how Revit treats imported objects and learning how you can create the correct type of object to import into Revit, you will open the door to new possibilities and more creative projects that will potentialize your workflow while keeping it looking photorealistic. The purpose of this article is to understand the process of creating good hybrid organic families rather than outlining specific steps to follow or explaining how tools work (tutorial) to achieve a specific result.

Related: Revit Families: A Step-By-Step Introduction with Paul Aubin

Hybrid Revit Families and Their Benefits

A hybrid family combines native objects from Revit (like extrusions, blends, revolves, sweeps, and swept blends) with objects coming from other programs to achieve the best-looking family, both in terms of geometry and in terms of texture mappings. A hybrid Revit family can also be exclusively made out of best-looking imported objects (no native Revit objects at all).

Additionally, you can use advanced features from other programs, like cloth simulations in Maya (which we will outline in this article) to create folds, creases, and details in 3D models of soft goods that are difficult to model manually, and then import them into Revit to create more natural-looking families. These imported objects can be UV mapped in the other 3D program and brought into Revit as .sat files, preserving their shapes and UV texture coordinates perfectly.

Comforter modeled in Revit using extrusions and sweeps (left) compared with a comforter modeled in Maya using cloth simulation and inserted into Revit (right). The comforter on the left looks rigid and the textures do not map correctly between the sides and the top of the comforter.

Native Revit Geometry and Texture Mappings

Before talking about creating organic objects in other 3D packages, it is important to understand how Revit works. Revit works with solid objects that are typically UV mapped depending on the tools you use to model them. Note that there are three different kinds of 3D objects that can be created (regardless of the software): solids, meshes and surfaces. In some cases, these objects are even mapped from six different sides: front, back, right, left, top, and right. While this way of mapping textures is great for a lot of orthogonal objects, in the case of organic objects, this way of mapping textures distorts the textures and visually distracts the viewer from an otherwise perfectly photorealistic render.

Different native Revit objects with a checkerboard texture.

In the image to the left, you can see different objects created in Revit mapped with a rectangular checkerboard texture that shows how the texture gets distorted, especially in the curved objects (not to mention the lack of continuity in the texture between the side faces and the top). While the texture is relatively good in the box shown below, all the other objects present some sort of distortion in the texture.

The way Revit maps textures is extremely limited, since we cannot do much with the texture except to scale it, move it around, or tile it (or not tile it), and here is where imported objects can help us to get around this issue.

3D Objects and Mappings in Other Programs

Other 3D modeling programs including Maya, which will be the focus for this article, have more modeling techniques and tools that simplify the creation of organic 3D objects and allow the user to manipulate the way the texture is displayed (mapped) on the object. Maya offers mainly polygonal (meshes) and NURBS (surfaces) techniques, and while working with polygons is much better in terms of manipulating textures, there are some limitations when bringing polygonal objects into Revit that we will discuss later. NURBS on the other hand can be exported from Maya as .sat files that preserve UV coordinates perfectly; and even though they don’t offer too many options to manipulate their textures, they still offer a few basic ways to edit them, as opposed to Revit, where there are none.

Revit and Polygonal Objects

As discussed earlier, there are three types of 3D objects: solids, meshes, and surfaces. Solids and surfaces (exported the right way) are pretty well interpreted in Revit, but polygonal objects, or meshes are not. Polygonal meshes are the best way to model any object in any other program. Besides offering amazing tools that simplify the modeling process, they are also equipped with amazing features for adjusting the textures (UV mapping). Polygons are the preferred modeling method used in all animated features because of the flexibility and simplicity.

While Revit is able to import polygonal meshes, there are three main issues with these imported objects:

Smooth 3D model in Maya (left) compared with a faceted 3D model in Revit (right).

3D model by Mario Camarillo.

Polygons are not auto-smoothed in Revit like they are in other 3D applications, and this leads to faceted objects in the render. While this faceting issue doesn’t represent a problem with orthogonal objects, it does represent an issue with organic objects, especially if they are closer to the camera in the render.

Correct texture mapping in Maya (left) compared with texture mapping of the same object with the same texture in Revit (right).

2. UV mappings are not carried over into Revit and thus, Revit performs a completely different mapping on these polygonal objects as discussed before, which completely destroys the look of the object in the render.

Polygonal chair inserted in Revit with all edges visible, leading to a very visually cluttered object.

3. Polygonal objects’ edges are all displayed in all views in Revit, leading to very visually cluttered drawings. Depending on the colors used on the polygons, these colors are carried over to Revit and the meshes end up looking very colorful in some cases. This issue does have a solution (setting up layers/colors in 3ds Max or AutoCAD and turning all the edges off so that the objects display properly), but the other two issues don’t have a solution.

Revit and Solid Geometries from Other Programs

Solid models coming from other programs (Maya, AutoCAD, etc.) are objects that Revit can perfectly read, including their mapping coordinates. Maya is able to export NURBS as solid objects in .sat format. Maya’s NURBS offer a lot more modeling tools than Revit’s five modeling tools discussed earlier. Additionally, the texture placement of these NURBS objects in Maya can be modified to certain extents to adjust to the project’s needs.

Any NURBS surface in Maya (even trimmed surfaces) can be exported to .sat format and read into Revit, even if the object doesn’t have a volume. This way, we can use a simple NURBS plane (which has default mapping coordinates) to create objects like curtains, tablecloths, cushions, pillows, comforters, etc.

Using Maya’s Cloth Simulation to Create Hybrid Revit Families

Maya is a very powerful modeling / texturing / animation / dynamics software capable of creating very realistic 3D models with little effort. Using NURBS tools in Maya, you can create organic-looking objects like drawer handles, complex flower vases, or containers. Additionally, with Maya’s cloth simulation tools, you can create fabric-like objects (curtains, cushions, pillows, throws, etc.) that can even interact with other objects like tables, walls, mattresses, etc., to add an extra level of realism to them.

Cloth simulations in Maya work only with polygonal objects, and we’ve already discussed the issues of polygonal objects imported into Revit, so in order to export a solid object out of the polygonal object that results from the cloth simulation, you can follow this procedure:

First, create the polygonal object that you will use to run the cloth simulation and create a NURBS plane with the same shape and number of subdivisions as the polygonal object. Create it as close in position to the polygonal object as possible (if you need to trim the NURBS plane to match the shape of the polygonal object, you can go ahead and do so). Additionally, create any other objects required for the cloth simulation, for example, the mattress that the comforter will be covering, or the table that the table cloth will collide with. For the purposes of this article, we will create a tablecloth for a round table. Table (passive collider object) and tablecloth (polygonal plane) to use in the cloth simulation. The NURBS plane is also included above the polygonal plane.

Convert the polygonal object into a cloth object and run the cloth simulation making sure you set the table as a passive collider object. Don’t worry about the NURBS object just yet. Cloth simulation of polygonal object. NURBS plane can now be seen at the top.

Once you are satisfied with the result of the cloth simulation of the polygonal object, rewind the timeline to reset the polygonal object to its original shape (a plane) and use the Wrap Deformer (Deform-Wrap) in Maya to “connect” the NURBS object to the polygonal object so that next time you run the simulation, the NURBS object follows it and conforms to the shape of the cloth-simulated polygonal object.

With the NURBS already “connected” to the polygonal object, run the cloth simulation again. This time, the NURBS plane will follow and conform to the polygonal object’s shape. NURBS object conformed to the polygonal object.

When the simulation finishes and the NURBS object has the right shape, make a copy of it. Creating a copy of the NURBS plane disconnects it from the polygonal object and from the simulation (wrap), creating an object that is completely static and ready to export to Revit. NURBS object duplicated. In this image, the duplicated NURBS object was moved to the right to see it on its own but it is not necessary to move it.

Select the duplicated NURBS object and export it as an .sat file.

Importing the .sat NURBS Object into Revit

Inside of a Revit family, go to Insert-Import CAD, and find the .sat file you just exported from Maya. Revit will insert the tablecloth into the scene and it will read its original mapping coordinates. This will give you an organic family in Revit that not only looks good, but also has the right texture mapping and the right representation in all views.

Tablecloth imported in Revit in perspective view (left); in top view (center); and with a checkers texture (right), which shows a perfect mapping of the texture with no distortions.

Tablecloth in Revit with a plaid texture.

Conclusion

Creating organic-looking photorealistic hybrid families in Revit is definitely possible by combining the power of different Autodesk products. Understanding how Revit works and how objects created in other programs can be correctly imported into Revit will open the door to new possibilities and to new family creation adventures. Additionally, by using cloth simulations in Maya, you can achieve impressive 3D objects that you can easily translate into a Revit hybrid family that will make your renders pop out, so explore all these options and enjoy creating organic hybrid families.

Learn more on the AU website.

Ricky is an architect, a master in Project Management, and a master in Fine Arts with specialization in VFX with 20+ years experience in the computer graphics, architecture, and visual effects fields. He is an Autodesk Certified Professional and he has taught Revit, AutoCAD, 3ds Max, Maya, and Photoshop for undergrad and grad for the past 15 years in the United States and Mexico. He currently lives in Vancouver, Canada, where besides teaching online and still working on occasional architectural projects he does visual effects for Hollywood movies and TV series like Ad Astra, Stranger Things, and The Irishman. His visual effects work on The Irishman got him a nomination for an Oscar in the 2020 Academy Awards Ceremony. In 2019, he founded Blackbee3D, a website specializing in high quality parametric Revit families and 3D models that are built to the highest standards. He is fluent in English, Spanish, and French, and his hobbies include photorealistic oil painting, traveling, and reading books.