Mapping Material Reflectances by Revit Category

Perhaps one of the most time consuming aspects of preparing your Revit model for accurate lighting calculations is the process of mapping the “in-use” Revit materials to reasonable surface reflectances. Recall that ElumTools only has access to the Revit material’s “Graphics Shading Color” from which we can calculate a reflectance value. ElumTools does not see the reflectances set by MEP Space for Revit’s lighting estimation routine. If this sounds foreign, please see my previous post: “How Important are Surface Reflectances”.

Because the graphics color may not accurately represent the true real-world surface color, it is necessary to examine all of the Revit materials in use in the ElumTools Material Mapping dialog and “map” each of them to a suitable reflectance value. This process takes not only time, but careful thought.

With ElumTools 2015 (and >2014.7) we have introduced a way to save time by allowing reflectance to be assigned to a Revit “Category” instead of the individual materials within that category. For example: imagine all ceiling types within the “Ceilings” category. Now you can assign one value for reflectance to the Ceilings category and have all ceiling types assume that value. We call it a “Category Override” as it overrides all of the reflectance values calculated from graphics color, as well as those you have set manually for materials in that category.

To use this new feature:

    1. Open the ElumTools Materials Mapping dialog and click the radio button in the upper left corner to select “View Category Overrides”.
    2. ElumTools sorts categories and places “Common” categories at the top of the list. As a default this includes Ceilings, Walls, Floors and Glazing; the most popular places to standardize.
    3. To enable an override by category, simply check the box
    4. And verify the settings for surface type and reflectance (Advanced Settings can be applied as well but that is another conversation).

This makes it easy to standardize your reflectances for common surfaces, and you can enable and disable an override by just checking or unchecking the box. However, keep in mind that all surfaces that do not make sense to standardize, for example: those red walls in the Conference Rooms, will blow the whole deal. If you have even one member of the category that must be unique, you can’t use an override!

Nifty Tricks

You can filter the category list by typing in the category name area. For example: if you wanted all categories that started with “Flex…”, you would type “Flex” into the Category Name area as shown below and all categories beginning with Flex would be exposed.

category filterRemove the filter temporarily by unchecking the box in the lower left corner of the dialog. Click the X to end the filter completely. You can edit a filter by retyping in the category name area again, or use the Edit Filter button in the lower right hand corner to make your changes.

Another handy option is the ability to remove all geometry within a category from the calculations entirely. This can be done in other ways as well, but this method is extremely simple and can be done in seconds. First locate the categories to be ignored. You can do this with a filter or by scrolling the dialog through the category list. As an example, let’s remove all the furniture from the lighting calculations.

  1. Filter the list for “Furn”
  2. Check the category boxes to enable the overrides
  3. Set the Surface Type property as “Ignore”

Category ignore

Any calculations you now execute in ElumTools will have all furniture removed!

Category Overrides can save you tons of time if you are able to take advantage of them in terms of setting standardized reflectances. It is also important to understand that all other surfaces not covered by an override are still utilizing the “Map by Material” method. Make sure their reflectances make sense by shifting the dialog status back to “View Project Materials” in the upper right corner and validating each important material.

Watch our YouTube video on Category Overrides to see it happen and cement in the process!

How important are surface reflectances?

The obvious answer to this question is “it depends on the application,” and every lighting professional can expound on the topic at length. However, in the case of ElumTools in Revit, the answer takes on a slightly more critical edge, as it is very easy to make mistakes that can produce unexpected results.

Here is the problem: ElumTools derives all surface reflectances from the material map (ElumTools ribbon, Material Mapping). ElumTools does NOT use the Revit values in Electrical Settings for the Space (shown below).  This is a common misconception for beginning users.


When designing ElumTools, we wanted the ability to associate reflectance as closely as possible with the actual material color for more accurate computations. The Revit API provides an easy avenue and allows ElumTools to see a material’s “Graphics Color”. From this color, we can calculate reflectance as shown below, where R, G and B are the percent contributions of the red, green and blue pixels, respectively.


Unfortunately, this approach assumes that the Graphics Color of the material is true to its actual color. This may not be the case. Therefore, ElumTools provides the very import material mapping interface to allow changes. The obvious downside:  if the user does not carefully map the materials by inspecting the reflectances that have been calculated from the Revit material colors, the lighting calculations will not be as expected.

In the case of linked architectural models, this problem can be exaggerated. Many of the materials are set in the architect’s model and are often not easy to associate with Room or Space surfaces, as the linked model elements are not selectable in the host model. The linked model materials and their calculated reflectances are available from the drop down menu at the top of the Material Mapping dialog (shown below).


It is extremely important that you make sure that ALL material reflectances are what you want for lighting calculations, in all models, by setting the value for each relevant material as shown below. It is typical that you will have to change, at minimum, the ceiling tile, carpet and wall color.


Let’s look at a case where extra diligence is required. Imagine the Revit Graphics color for a material is white. Examine the material map in the next screen capture: this is exactly the case. ElumTools will internally not allow 100% reflectance, so it is set to 99%.

There is an easy way to sort the materials list in ElumTools to expose ALL of the highest reflectance materials. Sort the reflectance column by clicking on the top of the column. In the file shown there are several materials with 99% reflectance (white material). This is quite an interesting problem, as it allows light to continue bouncing around the environment almost infinitely. Only 1% of the light is absorbed on each bounce. It is also highly unlikely that the material’s reflectance is actually that high.


When computing the results for a model with such high reflectance surfaces, the calculation engine will grind away for much longer than normally experienced, as light continues to bounce from surface to surface. Eventually the process reaches convergence, but as you might guess, the light levels are much higher than anticipated!

Here are a couple of tips to improve the process:

  1. Take the time to assign accurate reflectances to the important materials (ceiling, walls, floor) and then SAVE the materials map to be used with any project. This works nicely if the materials in your architectural models tend to be the same or similar. The Save and Load buttons are in the lower left corner of the Material Mapping dialog.
  2. Alternatively, group selected materials and assign them a single reflectance. For example: Shift-select all materials and assign them a reflectance of 50% as shown below. Then locate your ceiling and floor materials and reassign them to 80% and 20%, or your preference.


The bottom line: if you set your materials correctly, your lighting calculations will be accurate and as expected!

This article was born from an actual user experience. As the ElumTools development team examined the models, we started thinking of ways to make the process easier. Currently we are investigating a way to have a “Simplified Materials Map” that would allow you to assign Ceiling, Walls, Floor and “Other” reflectances and ask the software to sort it out internally. Back in the 2012 API and original ElumTools design we didn’t think we had that ability, but it may now be possible. Stay tuned.