Revit Architecture Forum
Welcome to Autodesk’s Revit Architecture Forums. Share your knowledge, ask questions, and explore popular Revit Architecture topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Parameter Formula Conditional Statements

7 REPLIES 7
Reply
Message 1 of 8
PBakhsheshi_CD
1952 Views, 7 Replies

Parameter Formula Conditional Statements

I am trying to use a two parameters to filter my Drawing index. Which the condition is if Either one of them are marked with text, then they show up. Unfortunately the Filter under schedule only works based on AND condition not OR.


I tried to use a calculated parameter using IF formula to combine the two parameter in a new column, (If Parameter1 OR Parameter2 is marked with "x" then, Parameter3 = "x")  but conditioanal text is not allowed either.

 

Any suggestions or help on this is much appreciated.

 

 

 

PS.I have done a bit research about the problem with conditional statement using text, so I won't be surprised if this has not been fixed since the invention of Revit.

7 REPLIES 7
Message 2 of 8

Dear,

 

Try to make the text parameter is yes/no parameter,

 

Example:

 

Text1:yes/no

A=if(Text1,125,20)

 

Kindly if this solved your issue, mark as solution to help others.


You found a post helpful? Then feel free to give likes to these posts!
Your question got successfully answered? Then just click on the 'Mark as solution' button.




src="https://autodesk.widen.net/content/fbz0l2onhe/png/autodesk-expert-elite-forum-signature-logo.png" >
Mahmoud Zeidan
BIM Manager/Mechanical Engineer
Message 3 of 8

To expand on @Mahmoud.Ziedan's response:

 

If you make Parameter1 and Parameter2 Yes/No type Project Parameters that apply to Sheets, you can then add a calculated value column to your Sheet List schedule, text type, with the following formula:

if(Parameter1, "X", if(Parameter2, "X", ""))

This will put an "X" in that column if Parameter1 is set to Yes, Parameter2 is set to Yes or both are set to Yes.  (I assumed that you did not want an exclusive OR.)  The image below shows the formula in action.  You would probably want to hide the Parameter1 and Parameter2 columns.

SheetList_CalculatedValue.png


David Koch
AutoCAD Architecture and Revit User
Blog | LinkedIn
EESignature

Message 4 of 8

@David_W_Koch @Mahmoud.Ziedan Thank you both.

 

After experimenting a bit more I realized there is no luck with text type parameters. It's unfortunate that this is possible in "conditional format" formulas but  not in the rest of the schedule.

 

Sadly it is too late for this project to remove the text parameters and introduce new Yes/No ones.

 

Unless there is a way to modify the existing parameter types. Do you know if that is possible?

Message 5 of 8

Once you create a parameter with a given type, you cannot change the type later (just the group under which it appears and the object type(s) to which it applies).  Even if you could, I would expect that you would lose all of the associated data, which would be the same as starting over with a new parameter.  Revit does not allow text in the conditional statements, so you cannot use something like

if(Parameter1 = "X", "X", if(Parameter2 = "X", "X", ""))

 


David Koch
AutoCAD Architecture and Revit User
Blog | LinkedIn
EESignature

Message 6 of 8

One last thought - Is the reason you are trying to combine two text parameters into one because someone started entering the "X" data in one parameter, and someone else did so in a different parameter?  A Dynamo graph could be created that would read the data from both, then create a merged list using "OR" logic and then push the results back into one, the other or both parameters (or even a third parameter).  You could then do your schedule based on that.


David Koch
AutoCAD Architecture and Revit User
Blog | LinkedIn
EESignature

Message 7 of 8
David_W_Koch
in reply to: David_W_Koch

Given that two text-type Sheet Parameters called Parameter1 and Parameter2 exist in a project, and either "X" or "" (empty string) has been entered as data to appear in a single column in a Sheet List Schedule, but some has been entered in Parameter1 and some in Parameter2, this Dynamo graph examines the contents of Parameter1 and Parameter2 for each Sheet, and sets the value of a third Parameter, Parameter3, such that it contains "X" if at least one of Parameter1 or Parameter2 have a value of "X" and sets Parameter3 to "" if both Parameter1 and Parameter2 are set to "".

 

The graph, as written, only tests Parameter1 for a value of "X".  If found, that is passed through to Parameter3.  If not found, then the value of Parameter2 is passed through.  If a value other than "X" or "" is entered in Parameter2, that value gets passed through to Parameter3.  If there could be data other than "X" or "" in Parameter1 or Parameter2, both could be tested for "X", with "" being passed through if the value is not "X", and then those two lists could be used as the feed for the final test.

Merge Text Parameter Test 01.png

The attached file was done in Dynamo 0.9.2.


David Koch
AutoCAD Architecture and Revit User
Blog | LinkedIn
EESignature

Message 8 of 8
David_W_Koch
in reply to: David_W_Koch

An improved version, which also tests the Parameter2 value and ignores any values other than "X", so that the final value that gets passed to Parameter3 is only either "X" (Parameter1, Parameter2 or both were "X") or "" (empty string; neither Parameter1 nor Parameter2 were "X").

Merge Text Parameter Test 02.png


David Koch
AutoCAD Architecture and Revit User
Blog | LinkedIn
EESignature

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report


Autodesk Design & Make Report