I have an air terminal tag that has 3 types in it, to control the display of, and length of, an underline. The Types are "Tag w/Out Underline", "Tag w/Short Underline", "Tag w/Long Underline". The Tag has 3 possible text items to it, representing the Connection size, the Airflow, and the Type.
Occasionally, for existing diffusers, or before schedules have been created, the type is just left blank and that is the way it should be, but sometimes the Type label displays a Question Mark instead of nothing if the Type Mark property is empty, and it only does it on the "w/Out Underline" type. if I place 2 tags on the same diffuser, one with an underline (long or short) and one without, the underline tag displays correctly and the other one shows a question mark.
How is this even possible, since it is the same Label element, referring to the same Type Mark property?
Anybody ever seen anything similar to this and have any ideas how to make Revit behave?
I have tried reloading the family, and even renaming the family in the project, and loading up the original family again, and nothing seems to fix it once it gets it in its head to show that ?.
Oh, and this particular project is in Revit MEP 2012 but I have seen this happen in 2013 projects as well. I have only worked on a couple of 2014 projects so far, so I can't say for certain whether or not it happens there too.
Solved! Go to Solution.
Don't see why not.
I just noticed that it does the same thing with the size parameter too, if it is left blank, but we would never intentionally leave that blank, so I never noticed before.
And again, it only does it on the "Tag w/Out Underline" type. the long and short underline types display nothing if the property is blank.
The size label is driven off the "Comments" property, because we use the "12/12" format to label duct size, but "12x12" to label diffusers.
And it should work (such as it is) with any air terminal family you have, so I didn't attach one.
3rd times a charm? (or, testing with google chrome)
Ahhh.. much better... and my macros work now too.
I believe that this is an intentional behavior designed to prevent the situation of having all of the components to the Tag invisible. As long as there is a line visible in your Family, the Labels are allowed to display blank, whereas, if the line is invisible there would be nothing visible within the Family, hence Revit forcing the question marks to display. Other Labels are not considered so even if the others are reporting info, it still forces the question mark.
If a work-around is necessary, the only thing I can immediately think of is to create a Subcategory with a white color, and then draw a tiny line on this Subcategory. It will essentially be invisible. Using <Invisible Lines> will not work.
If you combine the flow and type mark into a single label with a line break it will eliminate the question mark. Unfortunately, this also stops you from being able to click and quickly change either the flow or type mark (it brings up a multiline prompt instead, which isn't as quick)
I tried to attach the modified tag but I couldn't get it to work either...
I'll test the idea...
I already started to make a different tag that had all 3 parameters in one label, but it changes the position depending on how many lines there are in the result, which makes the size parameter go on top of the line if the Type Mark is empty.
Of course, I didn't sleep much last night, and at first I didn't think to change the vertical justification of the label to Top instead of Middle.
I'm not sure I mind the multiline edit box, particularly since this is a type parameter, so it will only be edited once per type, and the flow property is usually set by selecting the diffuser, not by selecting the tag. I'd rather have the multiline box than the question mark.
I get the idea now, but it still annoys me, since the flow label could never be empty, and therefore the tag could never disappear entirely.
of course, this reinforces one of the issues I've had for years with Revit Parameters and formulas, and if any of you have some information for me that I'm unaware of I'd love to hear it, but there have been any number of times I wanted to create a label that uses length parameter information and strings it together in a certain format as text... why Revit won't allow me to do that is beyond me.
As far as I know, you can't even concatenate text strings together in a formula, much less turn number or length data into strings.
For Example (again, only the most recent example that comes to mind) our label for a slot diffuser is the length in feet, a dash and the number of slots, so a 4 foot slot diffuser with 2 slots would be labeled "4-2", in the "size" label at the top of previously attached diffuser tag.
That is ultimately why we have used the "Comments" parameter for that tag, so that the same tag can be used for all of our different diffuser types, but it requires us to enter that information for every tagged diffuser, instead of being able to set up a parameter that would already contain the proper text string.
I just tried to set up a shared parameter with a formula, and was thwarted again by the "Inconsistent Units" message.
"of course, this reinforces one of the issues I've had for years with Revit Parameters and formulas, and if any of you have some information for me that I'm unaware of I'd love to hear it, but there have been any number of times I wanted to create a label that uses length parameter information and strings it together in a certain format as text... why Revit won't allow me to do that is beyond me..."
Revit has very limited formulaic power, and lacks several key functions (at least they are key in my opinion). Here are a few, and please excuse me for this response being partially a rant.
#1 - There is no CONCATENATE or similar function to combine multiple text strings. This has been exceedingly painful for me and has led to the development of ridiculous formulas as demonstrated in >this thread< (referring to the PDF attachment in the cited post).
#2 - One cannot convert data from one type to another. Pretty easy to understand, as per your example: trying to convert a Length to Text.
#3 - Text Parameters cannot be used in conditional formulas. This has been an issue that has been brought up several times by others in these and likely other forums.
It is possible to take a Length Parameter and dissect it into something that can be displayed with the proper formatting in a Label (but it won't work in a Schedule), but I don't think that's necessary in this case. Your Family has two Length Parameters that determine the diffuser's neck size ("Duct Width" and "Duct Height") so if those were Shared Parameters, you could include them in your Tag's Label and use the formatting button in the Label dialog to remove the units, and then add a "/" between the Parameters.
Also, in lieu of adjusting the Family to turn those two Parameters into Shared Parameters, you could just add the two Shared Parameters and apply the formulas "= Duct Width" and "= Duct Height" to them. These will still be editable by the users so as a little trick, you can "lock" these Parameters by expanding the formula to "= if(1=1, Duct Width, 0") ".