Now that PropertyWizard is available for Beta testing, I’d better start showing how to use it.
My first PropertyWizard video showed BS1192 sheet numbering. So why not start there?
In the UK, drawing sheet numbers are specified in BS 1192. Each number consists of several fields concatenated together with hyphens. Very often, it’s useful to have both the individual fields as Revit properties, and also the concatenated full number in its own property.
Keeping the two synchronized is a trouble. You could do it manually, but checking all the sheets is not a fun task. You could use Dynamo, but you have to be sure to run the Dynamo before every drawing issue. What if there was a way to keep the full drawing number synchronized with the individual fields?
Enter PropertyWizard! This is exactly the kind of task it was designed to do: Use a formula to keep a property up-to-date using the values of some other properties.
How to do it
Each PropertyWizard formula needs three things: A category, a target property and the formula text itself.
In this case, the Category will be Sheets.
The Target Property will be your BS 1192 full number property. In my project, my property’s called ‘BS1192Number’.
And the formula will be something like this:
ProjectInfo.Project + "-" + ProjectInfo.Originator + "-" + Zone + "-" + Level + "-" + Type + "-" + Role + "-" + Number
Here is the completed formula in the PropertyWizard Formula Window:
In more detail
Let’s unpick that a little.
Each PropertyWizard formula applies to elements of one Revit Category. That’s the Category you choose using the drop down at the top of the window. In this case, the Sheets category.
The TargetProperty is the property that PropertyWizard will set using your formula (on the elements of the selected category). In this case, I’ve made a Shared Parameter named ‘BS1192Number’, so I just type that name into the Target Property box.
And finally, that Formula. It’s fairly long, but really it’s just concatenating the values of the individual properties together, using a hyphen as the separator.
The string (text) concatenation operator is the plus sign ‘+’, and the string literal, the hyphen, is just typed in double quotes, “-“.
You access the values of the individual properties by typing the property name, just as you would in a Family formula. The last five properties are just Shared Parameters that I’ve made on Sheets, and so I’ve just typed their names: ‘Zone’, etc.
The first two properties are a bit different, because I’ve assumed that the Project Number and the Originator code will be Shared Parameters on Project Information, not on individual sheets.
There’s a shortcut method for accessing properties of Project Information: just type ‘ProjectInfo’, followed by a fullstop/period, followed by the name of the Property. That tells PropertyWizard to get the named property from the Project Information element in Revit, rather than from the current Sheet.
And that’s all there is to it. Once you have that formula in your Revit project, your full drawing number property will stay updated to match the settings of the individual field properties, on all your sheets.
Any questions, please get in touch or leave a comment below.
Looks like this could be useful for MEP calculations, do you have a full list of the syntax and operators?
Hi Nick,
Yes, there is a full list in the Help file that you can download from the ‘Welcome to PropertyWizard Beta’ page.
The Beta version doesn’t handle all Revit MEP units / data types yet, but if you let me know which units you need to work with, I will extend the code to make that happen.
Pingback: BS1192 / ISO19650 Numbering – David Wood Design