How to automate your Key Plans with PropertyWizard

New in PropertyWizard 1-5-0, you can control parameters on Title Blocks. This means you can automate your Key Plans to have the highlights match your sheets automatically:

Sheet parameter controlling the key plan highlight

In this example, my building is divided into three zones. Each of my plan sheets shows one of the zones, and I want to highlight the relevant zone in the key plan. I’m using ISO 19650 sheet numbers (updated to the 2021 UK National Annex), so the sheet number contains the spatial zone reference. But without PropertyWizard there’s no way to automatically update the key plan highlights when I set the sheet’s zone. And having two sources of truth (a setting on the sheet and a separate setting on the title block/key plan) is a recipe for having some sheets showing the wrong highlight.

With PropertyWizard 1-5-0, you can connect a parameter on the title block to a parameter on the sheet, so the key plan will automatically update when you set the sheet parameter.

How do you make this happen? In this post, I’ll show you step-by-step how to set-up your title block and key plan, then how to use RevitLookup to find the right parameter to use, and finally how to write a PropertyWizard formula to connect the two parameters.

  1. Set up your title block and key plan
  2. Use Revit Lookup to find the parameter
  3. Set up your PropertyWizard formula

Set up your title block and key plan

I’m starting with a standard Architectural project template and using the standard Title Block. You will have your own template and title block. If you have any problems adapting this step-by-step to your own situation, please leave a comment below and I’ll help you work through it.

I’m assuming that you have a single parameter on the sheet that holds your zone value. You may have your zone value embedded in the middle of a parameter value. If so, you’ll need to use PropertyWizard’s text-manipulation functions to extract the zone value. If you’d like to see how to do that, leave a comment below and I’ll explain in a separate post.

For this example, I’ve created a shared parameter called Zone and added it to my drawing number label in the title block family. Then I’ve added the same shared parameter to the Sheets category in the project so I can set each sheet’s zone.

Drawing number label

For the key plan, I’ve made a quick Generic Annotation Family. This includes the building outline, a north point, and the red zone outlines:

Image showing a key plan with red outline 'highlights' for the different zones.
Key plan

I’ve set up visibility parameters for each of the zone outlines, and a parameter called ‘ZoneKey’ to control them. Here are the simple formulas that drive the visibility parameters from the ZoneKey:

Image of the key plan's Family Types dialog, showing the visibility parameters that control the highlights
Visibility parameters for the key plan highlights

You’ll notice that my ZoneKey parameter is an Integer parameter, not a Text parameter. That’s because you can’t use text parameters in native Revit formulas (you can in PropertyWizard of course). So you can’t just use the text value from the sheet’s Zone parameter – you have to translate it into an integer so that you can actually use it in these formulas to drive the visibility parameters. In this case, I’m using ZoneKey value 1 for Zone A, 2 for Zone B, and 3 for Zone C.

This is a fairly simple example of course – you may want to switch all the highlights on for ‘all zones’, and off for ‘not applicable’, or have section line highlights as well as plan highlights, for example. The great thing about PropertyWizard is that you have complete flexibility to achieve the exact effects you need.

Now, after loading the key plan into the titleblock I’ve used ‘Associate Family Parameter’ to create a parameter on the Title Block that will drive the Key Plan’s ZoneKey:

Image showing the ZoneKey parameter nested into the title block using Associate Family Parameter
Nesting the ZoneKey parameter into the title block

So, that’s my set-up. There are other ways of setting-up key plans in Revit, but I think this is a pretty common pattern. And now I can use PropertyWizard to drive the Title Block’s ZoneKey parameter from the Sheet’s Zone parameter.

But how do you access the Sheet parameter from the Title Block? Let’s have a look at Revit Lookup…

Revit Lookup – how to access the Sheet parameters from the Title Block?

Revit Lookup lets you explore the Revit database, and in particular it lets you examine Revit element properties. You can refer to my previous posts on Revit Lookup: How to Install (recently updated) and Getting Started.

In a PropertyWizard formula, you can access the current element’s properties, and also the properties of ‘nested’ elements. We need to get a property from the Sheet, but how do you reference the Sheet from the Title Block?

First, we need a test title block that we can examine, so I’ve made a new sheet with my new title block. Then I select the title block and choose Revit Lookup’s ‘Snoop Current Selection’, which opens a window showing the title block’s properties:

Revit Lookup window showing a Title Block with the OwnerViewId property highlighted
Revit Lookup window showing a title block with the OwnerViewId property highlighted

The key here is the OwnerViewId property. You can see it points to my Sheet, so I can use OwnerViewId to access the sheet’s parameters from PropertyWizard.

The reason OwnerViewId points to the sheet is that title blocks are view-specific – they’re a special kind of tag. And all view-specific elements have an OwnerViewId property that points to the parent view.

If I click on the OwnerViewId property, Revit Lookup will open a window that shows the sheet:

Revit Lookup showing the sheet's Parameters property
Revit Lookup showing the sheet’s Parameters property

And then I can click on the Parameters property on the sheet to see the list of sheet parameters, including the Zone parameter that I need to control from PropertyWizard:

Revit Lookup showing the sheet parameters

So in PropertyWizard, to access the sheet’s Zone parameter from the title block I can use the expression ‘OwnerViewId.Zone’.

PropertyWizard – what is the formula?

So now we’re ready to set up the PropertyWizard formula. We need to set the Title Block’s ZoneKey parameter based on the value of the OwnerViewId.Zone parameter, like this:

The PropertyWizard formula

In more detail:

I’ve chosen Title Blocks in the Category drop-down so the formula will apply to title blocks.

Under Target Property, I’ve typed in ‘ZoneKey’, the name of the title block parameter that controls my key plan.

In the Formula box, I’ve typed the formula. Referring back to my ZoneKey, I needed to set ZoneKey to 1 for Zone A, to 2 for Zone B, and to 3 for Zone C.

To do this three-way split, I’m using an if() function with another if() nested inside it. The outer if() tests whether the zone is “A”. If it is, the result is 1. If not, we move to the inner if(), which tests whether the zone is “B”. If it is, the result is 2, and if not the result is 3.

If your zone set-up is more complex, you need to will build up a more complex formula – but the principles remain the same. And if you need help setting-up your formulas, please leave a comment below – I am always happy to help.

And that is how to set up a PropertyWizard formula to control the zone highlights on your key plans. Once set up, the key plan will remain synchronised with the sheet’s Zone parameter, meaning that you never have to update it manually – and you never issue a drawing with an incorrect key plan.