If you’ve ever created a “yes/no” parameter and placed it in a Revit Schedule or Note Block then you’ll know that Revit displays the state of the Yes or No is plain text on your printed sheet.
In the example below, I’ve opened the Basic Sample Project that ships with Revit here in Australia as it has a Note Block in it already that is a good starting point for this exercise. This is what we get on the printed sheet:
That might be fine in a lot of circumstances but what if you wanted something that was a little more bespoke or dynamic looking? Or rather than having the text, what if we had some graphic symbol to denote what “yes” or “no” meant to the person looking at the Schedule.
The trick is to use a Formula in the Schedule that looks at the value of the Parameter that is yes/no and then displays another bit of text to represent each state. You can elect to have 2 other bits of text or symbols, one for “Yes” and the other for “No”. You can also use a trick to leave the “No” as a blank which we’ll look at as an option.
Here’s an example of what I mean:
Before we do this we need to do a bit of groundwork.
In order to get this to work, we will need a create some “yes/no” Parameters in Revit if they aren’t already present in some form in the Schedule or in the items we are scheduling. This can be done in either the Project environment or in the Component Families, whatever suits your purpose. If you are using Parameters in Component Families then in order to show them in a Schedule, they need to be created using Shared Parameters which are ones that are derived from a “Shared Parameter file”.
You can also simply create the Parameters inside the Schedule or Note Block too. This means that the values will be of a check-list where the user selects yes or no and the values only have effect in the Schedule and don’t get pushed into any Families. This might be an effective approach in a drawing register where the user ticks to indicate that drawing has been issued.
Lets look at a case where the yes/no Parameter has been made inside a Note Block and then look at another example of doing something similar in a Schedule.
Generating the Schedule yes/no Parameters.
Inside the “How do I” Note Block in this Project, we can see a Parameter called “Content Reviewed”. This exists only in the Note Block as a check-list item. if you are using the example file, please note that this Parameter has been renamed “Reviewed?” in the heading in the Schedule on the Sheet.
If we look at the way it was created we see that the process was to click on the little “New Parameter” symbol in the middle of the dialogue:
Then inside the Parameter Properties dialogue, we can create a Family Parameter.
Type into the Name box and then pick “Yes/No”. Make sure you pick “Instance”. Pick “Construction” in the Group Parameter Under section. As below:
Click OK and you will now have a new Field in your list of Scheduled Fields. This will be the value that the user will alter to reflect whether something has been checked / issued (or whatever).
Now we need to create a Formula that tests the value of the the “Test Yes_No Parameter”.
Inside the Note Block Properties, click on the formula symbol – the little “fx” symbol in the middle of the dialogue:
Now in the Calculated Value dialogue, type in
Name = Issued
Leave as “formula”.
Discipline, leave as “Common”.
Type = Text
Now next to the Formula Window, click on the small box with the 3 dots and pick the Test Yes_No Parameter Field, then click OK
In order to use a Parameter in a Formula, we need to make sure the spelling and case in correct. By using this method we can save time typing out Formula.
Now in the Formula field, type the following in (or copy and paste the following text in if you want)- if((Test Yes_No Parameter), “✔”, “✖”)
So to break this down, we are testing the Yes or No status of the Test Yes_No Parameter Parameter. If the answer is Yes, then display “✔” and if the answer is no, display “✖”. Conditional Parameters are always worked out in the order of Yes, then No.
A few things to note, we needed to put the name of the Parameter into brackets to satisfy Revit – it’s a bit of a long explanation but it has to do with Units. The other thing you’ll note is that test inside the “” is the bit that will be displayed. Lastly, the symbols you can use here are any text based ones. You could grab them from Microsoft Word or any other source though you might want to make sure they display and print OK.
In this case we’ve elected to use a symbol to show if the test returns a Yes or No result. If we had wanted to display only Yes for example then we would write the Formula as “if((Test Yes_No Parameter), “✔”, “”)- i.e. with nothing between the “” – as we’ll see later.
So we now end up with this:
But we’re not quite there because we still have the Test Yes_No Parameter column showing on the sheets. So we can go back into to edit the Note Block and then under the Formatting Tab, pick the Test Yes_No Parameter and then tick the “Hidden Field” box.
Let’s look at the same process but inside a the Planting Schedule.
Let’s make a new Parameter called “Deliver to Site”, Yes/No, Instance, Group under General, as below:
Now we will name a new Formula that tests the Yes/No value of the Deliver to Site Parameter and either reports a thumbs-up if it is to be delivered, and nothing if it is not.
Click on the Formula Symbol and then name it “Deliver On Site” and then under Formula, type or copy and paste the following – if((Deliver to Site), “👍”, “”)
It will look like this:
Again, make the Deliver to Site Parameter a hidden one.
And on the Sheet, it will look like this:
Items with a “No” display nothing in the last column.
One more thing. If we have hidden the Parameter that is being tested, there is no way to directly control it from within the Schedule. In the case of this Schedule, we might make a copy of the Schedule, give its name a prefix like”working Schedule” and then unhide the Parameter that is controlling the display of the Symbol.
In the case Yes/No Parameters that are contained within the Families that are in the Schedule then we can manipulate the values in the Families or in the Schedule if required. You can do this with the built in Parameters in items and with System Families too.
I hope this has acted as a taster for some what you can do to make your Schedules and Note Blocks clearer and more visually compelling. Please try this out on any Schedules that you have that have Yes/No Parameters in them. Have some fun and make your Schedules a bit more interesting to look at 🙂