Re-examining Revit Based Plumbing Fixture Calculations - Part I
It may be reasonable to think that Revit could automate the calculation of plumbing fixtures from a given schedule of areas and occupancy loads. Well, think twice. A comprehensive calculation of fixtures in Revit that automates the required number of all types of fixtures (Water Closets, Lavatories, Urinals, Drinking Fountains, Showers, Service Sink, Unisex fixtures) still remains a somewhat elusive exercise. The underlying problem is that the Schedules are meant to quantify the parameter values of Revit project families, and are not really suitable to be used as worksheet for things that are not in the model. This hasn't stopped us from searching for a way to push Revit to that point, or getting close to a parametric solution.
For someone starting to build this type of calculation in Revit, I will review the advantages and limitations of the different approaches used.
Before you start building your calculations, keep a few things in mind. First, make sure to keep the units for each calculated value consistent. I recommend building all the parameters of the 'Number' type and override the field format to 'Fixed' with a 2 decimal rounding increment. This will make the schedule values readable and clean.
Second, consider recapturing the load data from the Revit occupancy calculations. These calculations are typically based on Revit Area Plans instead of Rooms because Area plans are more suitable to define the boundary limits of both Gross and Net areas as required by code factors. (See Fig. 2.) To maintain consistency of the of the occupancy load, duplicate the schedule of the building load calculation and use those calculated values to get started with your plumbing fixture calculation.
The third consideration is regarding the rounding of values in mixed occupancies. Most codes are silent or generally vague about the rounding rules for aggregated data. In the absence of a clear cut direction, code specialist agree that the best approach is round to the upper integer the
aggregated totals of every occupancy instead of the partial subtotals. Rounding up both the occupancy and fixture load in partial subtotals would increase the total count somewhere between 2%-5%, depending of the building size, increasing unnecessarily the building cost. The rounding, they agree, should occur after summing the fractional fixture counts for each occupancy group, keeping the total fixture count as low as permissible. Since Revit cannot round schedule grand totals, the task remains an outstanding feature request. Workarounds require manually rounding up the total and transcribing the result in a dummy key schedule, a process that would be repeated at every program change.
Current Solutions Different solutions have been proposed to tackle the minimum plumbing calculation requirements. Regardless of the method, the actual difficulties become evident when applying different rules for mixed occupancy loads.
- Single Schedule: While it is possible to conceive of a single schedule for all of the plumbing calculations, this would be inaccurate and extremely complex to achieve. Since the formulas of calculated values apply to every instance, there is no choice but to build each assembly requirement as a separate schedule column, creating a lot of redundant calculations. For example, each calculation of the Assembly, Business, and Mercantile occupancies will require a separate calculated value for every fixture type. Excluding the values belonging to other occupancies is hard to do using Conditional Formulas. One cannot mix the text-formatted values of the Occupancies (ie B, or M) with any Numerical formulas, unless you assign a numerical value for each group. And even if the conditional formulas end up working, the totals of fixtures per type will be dispersed, turning the effort somewhat futile.
- Multiple Schedules by Occupancy Group: Because each occupancy utilizes different plumbing factors and/or load formulas, it may be more reasonable to build a single schedule for every occupancy. Formulas used in calculated values will respond to each occupancy requirement, and the major advantage is that all calculations get updated if the area boundaries change. Still, there will be no way to build a parametric summary of fixture totals. One workaround is to manually add the data into a Summary schedule key. The other alternate is to export each of the schedules as a .TXT file that are opened in Excel and pasted into a single worksheet to calculate totals. The data would require exporting to the schedules at every plan update, and the total need to be manually transposed into a summary schedule.
- Excel Calculations: This solution takes all the fixture calculations outside of the Revit environment. Excel certainly provides a wider flexibility to create the fixture count by occupancy group and a summary table. Areas and fixed counts would need to be exported or manually transcribed into an Excel Spreadsheet. The twofold problem is that there is not a way to push the totals back into Revit out of the box, and secondly any change in the area calculation would need to be manually transcribed every time the plan changes. Ideate BIMLink, a Revit add-on that can push and pull Revit data between Excel and Revit, can certainly facilitate the process of re-importing the data into an existing area schedule or key schedule.
An Excel based script available for free is the Plumbing Fixture calculator posted by Ara Sargsyan. The calculator uses a built-in script in Excel and complies with 2012 IBC & IPC.
- Annotation Family: This is a very elegant solution posted in AUGI forums by user cberteaux371801. Instead of using schedule with calculation values, the plumbing fixture calculations are shifted away from the project and managed as formulas embedded in family instance parameters. The benefit is a visually consistent schedule-like table for every occupancy groups. The user would load in the project an annotation symbol family for each of the occupancies in the building, and the calculation will run based on the occupancy load for the group. This method is almost perfect except that it will not read the occupancy load automatically. Any change in the occupancy loads would need to be transcribed at every change of the program and a summary table with the aggregated totals would still be required.
- API / Scripts?: Can some experimentation with API or Dynamo Scripting provide a better solution? With scripting, it is conceivable to develop a way to extract the occupancy totals and plug them as values into an Annotation Family. In a forthcoming post, I will explore in greater detail the potential of this approach.
Bottom Line: There is not a perfect automated solution yet that provides a parametric calculation of plumbing fixtures, nor a single solution that is universal. While it is possible to push the calculation into schedules and families, every solution requires some level of manual transcription. If you decide to build your calculation using Families or Schedules in Revit, the code requirement would need to be translated into formulas compatible with Revit. In Part II of this blog post, I will discuss in greater detail the typical formulas used to construct these calculations.
What is a Named User license?
A Named User license is assigned to one specific person rather than shared across a network. For a step-by-step walkthrough, see the Graitec Licensing Help Center - Named User.
Are Ideate Suites replacing Ideate Software Bundles?
Yes. Going forward, Ideate Suites replace Ideate Software Bundles.
What's the difference between the Ideate Software Bundle and the Ideate Suite?
Both include the same five tools: IdeateApps, Ideate BIMLink, Ideate Explorer, Ideate Sticky and Ideate StyleManager.
- Bundle: Each tool is licensed separately, so different people can work in different tools at once. For example, with one Bundle, five people could each use a different tool at the same time.
- Suite: One license covers all five tools for one person at a time. That person can move freely between every tool. While they're using the Suite, it isn't available to anyone else on that license until they finish.
A Named User Suite is assigned to one specific person. A single Network Cloud Floating Suite can be shared across your team, one person at a time.
Will my team need more licenses?
If several people on your team use different Ideate tools at the same time, you may need more than one Suite license. Contact us and we'll review your team's usage and help you choose the right setup.
Can I still buy an Ideate Software Bundle?
No. Bundles are no longer available for purchase. New purchases are offered as follows:
- Ideate Suite: Named User or Network Cloud Floating
- Enterprise Suite: Network Cloud Floating
- Active Host: Network Cloud Floating
- Automation: Network Cloud Floating
- Individual products: Named User or Network Cloud Floating (IdeateApps, Ideate BIMLink, Ideate Explorer, Ideate Sticky, and Ideate StyleManager)
Can I still buy IdeateApps, BIMLink, Explorer, Sticky, or StyleManager individually?
Yes. Individual products are available as Named User or Cloud Floating licenses until the new product lineup launches with the next major release, expected mid-2027.
Will floating (network) licenses still be available?
Yes. FlexLM remains available for organizations with security requirements, such as environments without internet access. FlexLM is not available through the online store, so please contact your account manager to purchase.
My organization has strict security requirements or no internet access. Can I still get a FlexLM license?
Yes. FlexLM remains available for organizations with security requirements, such as environments without internet access. FlexLM is not available through the online store, so please contact your account manager to purchase.
I'm an existing customer. What happens to my current license/s?
Your existing Ideate Software subscription is moving to our new licensing system at no cost. Your license quantities and expiration dates stay the same.
- Standalone licenses become Named User licenses. Set up your Named Users in the Graitec Advantage Portal.
- Cloud Floating (network) licenses become Network Cloud Floating Suite licenses. Deploy the latest release as you have in the past, using the new license code in your migration email.
- Each Ideate Software Bundle becomes an Ideate Suite.
To keep using Ideate, update to the latest release and activate your new license by March 31, 2027. Older Ideate licenses will stop working in Q2 2027.
Using Ideate with Revit 2022 or earlier? Contact ideatesupport@graitec.com to review your options. For account questions, contact sales@ideatesoftware.com.
I have a Bundle today. What will I receive when I move to the new licensing?
Conversions are one for one. Each Ideate Software Bundle becomes one Ideate Suite, and each network Bundle becomes one Network Cloud Floating Suite. Your license quantities and expiration dates stay the same.
Where do I manage my licenses?
In the Graitec Advantage Portal. Based on customer requests, starting with the latest Ideate release, license management and license usage information are handled in Graitec Advantage, outside of Revit. We recommend bookmarking the portal.
- Named User licenses: Assign licenses to people on your team in Graitec Advantage.
- Cloud Floating Suite licenses: Deploy the latest release with your new license code as you have in the past, then manage licenses in Graitec Advantage.
Watch the Graitec Advantage walkthrough
Can I transfer a Named User license to another person?
Yes. There's no limit on the total number of transfers, but each license can be transferred up to two times within a 30-day period.
How are licenses issued?
Each product on your order is issued as its own license once your order is processed. To try a product before buying, contact us to request an evaluation license.
I want to try the Graitec AI Assistant now, but I don’t have my new license code yet. What should I do?
Existing customers: We’re delivering new license codes to existing subscribers on a rolling basis over the next few weeks. If you need access sooner, contact your Graitec sales representative.
New customers: The Graitec AI Assistant isn’t available in the Ideate trial. Contact your Graitec sales representative to request an evaluation license or purchase a 6-month subscription.


