How to build manufacturer-specific lighting fixtures in Revit that perform better using IES files in type catalogs.

To view the effects of light sources in a rendering within Revit, lighting fixture families include a built-in option for light source. The light source shows as a yellow mesh in the family editor and is used for renderings and lighting calculations.

A quick way to set a light source is to use the Light Source Definition dialog to define its shape (point, line, rectangle and circle) and distribution (spherical, hemispherical and spot). For manufacturer-specific light fixtures, however, Revit allows the use of industry-standard IES files. These provide a much more detailed definition of a light source's properties.

In this article, I will discuss how a lighting manufacturer can make Revit families with IES files that perform better and are lighter — no pun intended — than the standard approach. The process involves using type catalogs with embedded IES files, keeping the family file and the project nimble. In certain situations, it might also be advisable to break down the light fixture into two or more families.

Lighting Fixture Revit family with the Light Source displayed using an IES Photometric Web File.
Lighting Fixture Revit family with the Light Source displayed using an IES Photometric Web File.

Typical Approaches to IES Files in Revit

IES files are added to a lighting fixture Revit family by pointing the built-in Photometric Web File parameter to them. For built-in types, Revit will cache the used IES within the family itself. Distributing the family is then just a matter of sharing the .rfa file — though manufacturers will often offer the IES files separately too. This is typically how lighting fixture families with few types are distributed.

For families with too many types to justify leaving them built-in, the common technique is to nest another lighting fixture with no geometry and only the light source defined. Then you embed the required IES files within this nested family's types and, finally, via type catalog, control which nested type is displayed for each light fixture type.

In this case, we end up with built-in types for each corresponding IES file rather than for each product type. This method can be quite effective, as in most cases the variety typically comes from product options and finishes rather than from different photometrics.

Issues with the Typical Approaches

These approaches can become an issue when a family has a large number of types using many different IES files, as each cached IES file adds file size to the overall family. This will weigh on the project itself, which might make use of only one type, yet have to deal with the file size of several IES files.

It is also hard to manage for the content creator. When there are a large number of types with a range of IES files, it requires significant time and QA to ensure that the correct IES file is loaded for each type or to make updates to the IES files.

The solution commonly used by manufacturers is simply to not path the IES files and instead deliver them separately from the Revit family. While this avoids making the families heavy and any errors in configuring types, it merely shifts the burden to the Revit user, who then has to path the IES file for any and every type they want to use.

The method described below helps keep families light and high performing within projects, makes the content creator happy, and shines the best light on the manufacturer's products. What's not to like?

Type Catalog Method for IES Files

The best way to keep a family with many types nimble is to use a type catalog. Type catalogs can contain IES files. Once all types have been created and have their IES files pathed to the Photometric Web File parameter, simply export the type catalog from the family.

The resulting type catalog will then contain the IES data in a text format that's readable by Revit. It will appear in a parameter called "None", which is a hidden parameter within the Revit UI.

Example of a type catalog highlighting the "None" parameter that holds IES data for each family type.
Example of a type catalog with two family types. The highlighted parameter "None" holds the IES data. The two sections of foreign and special characters are the text representation of the IES file for each family type.

Once you have all IES data embedded in the catalog file, the Revit-readable text can then be moved into a separate Excel file. Using Excel's vlookup function, we can use that separate Excel file to quickly and accurately populate or update the IES file parameter any number of types.

IES data kept in a separate Excel worksheet and used as source for the VLookup function.
IES data can be kept in a separate worksheet and used as source for the VLookup function in the type catalog worksheet above. Imagine having this many types in the nested family!
IES data mapped to each family type using Excel's VLOOKUP function.
IES data mapped to each family type using Excel's VLOOKUP function.

Large catalogs — 50 types and up — with the IES data embedded will be significantly bigger in size than type catalogs with as many types and no IES data. Such catalogs will take a few seconds to display the types dialog when loading the Revit family into a project.

This shouldn't stop us, however. We can review the family and try to reduce the size of the catalog, either by splitting the family or reducing the overall number of types.

Conclusion

The standard method of caching IES files with built-in types may be perfectly acceptable for families where all types share the same or very few IES files. But for manufacturer families with a myriad of photometric web files for a single product line, saving the IES data into the type catalog brings big benefits. Distributed content is ready to be used and doesn't need any further work (pathing) by the end user. Updating families also becomes a lot less complicated. Changes only need to be made in the type catalog, which in turn makes it easier for manufacturers to maintain their content.