SlideShare a Scribd company logo
1 of 4
Download to read offline
CONTROLLING THE VISIBILITY IN ANY GEOM-
ETRY RELATED REVIT FAMILY
	 In my everyday practice, I often meet people who share the popular believe that Revit isn’t
a good software. They do complain that Revit, can’t do this, doesn’t allow to do that… Well, there
is still a huge gap to be covered and Revit is not ideal software but in most cases, each software
is as good as its operator. When the operator fails, the software fails as well.
	 With this article, I would like to debunk the “myth of visibility”. Let’s make a life example
but simplify the problem to be easily followed. Here is the issue.
	 You have three elements. Let me name them in a simple way: “First_element”, “Sec-
ond_element” and surprisingly “Third_element”. You can use ANY loadable family template
which is related to the geometry. I use standard Detail Item template but nothing stops us from
using Generic Models, Doors, or others. I use nested annotation family but one can use the ge-
ometry, nested details, etc. My intention was to keep this article as generic as possible.
	 As I mentioned I do have three separate annotation families. To keep it clear the first
annotation element (“First_element”) has a value of “1”, the second has a value of “2” and last
but not least the third has a value of “3”. Please save them somewhere and load them into your
Detail Item family.
	 Now, you want to assign a “Yes / No” parameter to each of the annotation to make it
visible or not. Sounds pretty easy? It’s not a complicated process, let me show how to do it. In a
“Family Types” window just add instance “Yes / No” parameter and group it under “Visibility”.
Don’t forget to put the name like: “First_element”, “Second_element” and “Third_element”.
	 Now assign the visibility for the element like this: for the annotation element with value “1”
assign “First_element”, for text annotation with value “2” assign “Second_element” and so on.
Now save your newly created family and load it into the project.
BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM
BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM
	 What an unpleasant surprise we have there… all three elements are visible! You can
easily fix it unchecking the visibility in a property window but when you uncheck all of them
everything disappears…
	 Hmm… that’s not what we call an intelligent solution. My intention was to have only one
element visible. If I accidently select more than one element visibility or all of them or none, I
expect Revit to warn me about that something went wrong.
	 Now it’s good time to introduce Boolean logic. On very basic, entry level simple “IF”
statement works like this:
IF something is TRUE, then do TRUE, otherwise, do FALSE.
In Revit World we use a convention to put it work:
If(something=true, true, false)
where “something” is a name of a variable. In Revit families, variable is known under the name
of the parameter. Nobody knows why, but in Revit when dealing with visibility parameters we
have to miss “If” at the begging. I have my own conspiracy theory for that :)
	 There are some additional Boolean statements you can use: “OR”, “AND” and “NOT”.
You can combine them into one more complex formula to achieve the result you want. This is our
next step to take. I’m a big fan of space program so let me quote Neil Armstrong: “That’s one
small step for man, one giant leap for mankind”.
BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM
	 Please open the “Family Types” window and create three new instance “Yes / No” pa-
rameters and group them under “Constraints”. Name them: “EL_01”, “EL_02” and “EL_03”.
	 Now this is the tricky part.
Please assign formula for “EL_O1”:
and(First_element, and(not(Second_element), not(Third_element)))
For parameter “EL_02” please assign:
and(Second_element, and(not(First_element), not(Third_element)))
And for the parameter “El_03” please assign:
and(Third_element, and(not(First_element), not(Second_element)))
	 WoW! But what the hell does it mean? Well, let me explain you on the first example.
and(First_element, and(not(Second_element), not(Third_element)))
This formula means:
Please make it TRUE when “First_element” is ticked but “Second_element” and “Third_
element” are not ticked. Make it TRUE means “thick the box” in this case make the ele-
ment visible.
	 Please take your time and analyse the formulas for “EL_02” and “EL_03”. After five min-
utes up to five hours later everything should be clear.
	 Now please make one more parameter. Name it “Error”. Sounds sinister, doesn’t it? It
should be instance “Yes / No” parameter, grouped under “Construction”. Now please assign
the formula for this parameter:
and(not(El_01), not(El_02), not(El_03))
It means:
When all of the parameters “EL_01”, “EL_02” and “EL_03” are FALSE please make ele-
ment visible with “Error” visibility assigned.
CONTROLLING THE VISIBILITY IN ANY GEOM-
ETRY RELATED REVIT FAMILY
Now please close the window and:
1. Select element with value “1” and assign “EL_01” visibility parameter
2. Select element with value “2” and assign “EL_02” visibility parameter
3. Select element with value “3” and assign “EL_03” visibility parameter
4. Create new text element with “Error” value and assign “Error” visibility parameter.
Please save the family, load into the project environment, override the one you have and test it.
Hopefully, it works well…
BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM

More Related Content

What's hot

The Collaborative Power of BIM
The Collaborative Power of BIMThe Collaborative Power of BIM
The Collaborative Power of BIMMarc Goldman
 
Krystal Sayers AutoCAD Portfolio
Krystal Sayers AutoCAD PortfolioKrystal Sayers AutoCAD Portfolio
Krystal Sayers AutoCAD PortfolioKsayers
 
BIM for Lifecycle Asset Management
BIM for Lifecycle Asset ManagementBIM for Lifecycle Asset Management
BIM for Lifecycle Asset ManagementEdwin Bartlett
 
20191126 modulair IFC
20191126 modulair IFC20191126 modulair IFC
20191126 modulair IFCLéon Berlo
 
BIM LOD (Level of Definition)
BIM LOD (Level of Definition) BIM LOD (Level of Definition)
BIM LOD (Level of Definition) Scott Berry
 
Construction Materials site visit report
Construction Materials site visit report Construction Materials site visit report
Construction Materials site visit report Batoul Alshamali
 
Structural engineer drawings
Structural engineer drawingsStructural engineer drawings
Structural engineer drawingsczlun
 
Bim and project management
Bim and project managementBim and project management
Bim and project managementOmar Selim
 
Digital construction information management
Digital construction information managementDigital construction information management
Digital construction information managementStephen Au
 
Revit presentation
Revit presentationRevit presentation
Revit presentationNeha Somani
 
Computer aided analysis_and_design_of_multi-storeyed_buildings
Computer aided analysis_and_design_of_multi-storeyed_buildingsComputer aided analysis_and_design_of_multi-storeyed_buildings
Computer aided analysis_and_design_of_multi-storeyed_buildingsV.m. Rajan
 
Yapı Bilgi Modellemesi (BİM) Saniye Öktem
Yapı Bilgi Modellemesi (BİM) Saniye ÖktemYapı Bilgi Modellemesi (BİM) Saniye Öktem
Yapı Bilgi Modellemesi (BİM) Saniye Öktemİnşaat Mühendisi TV
 
Labour Productivity for construction projects
Labour Productivity for construction projectsLabour Productivity for construction projects
Labour Productivity for construction projectsKapugantikapuganti Gupta
 
Revit Structure Training
Revit Structure TrainingRevit Structure Training
Revit Structure Trainingpinoy cadplus
 
Intro to BIM and Revit Structure
Intro to BIM and Revit StructureIntro to BIM and Revit Structure
Intro to BIM and Revit StructureMostafa El-Ashmawy
 

What's hot (20)

The Collaborative Power of BIM
The Collaborative Power of BIMThe Collaborative Power of BIM
The Collaborative Power of BIM
 
Krystal Sayers AutoCAD Portfolio
Krystal Sayers AutoCAD PortfolioKrystal Sayers AutoCAD Portfolio
Krystal Sayers AutoCAD Portfolio
 
BIM for Lifecycle Asset Management
BIM for Lifecycle Asset ManagementBIM for Lifecycle Asset Management
BIM for Lifecycle Asset Management
 
Bim overview
Bim overviewBim overview
Bim overview
 
20191126 modulair IFC
20191126 modulair IFC20191126 modulair IFC
20191126 modulair IFC
 
BIM LOD (Level of Definition)
BIM LOD (Level of Definition) BIM LOD (Level of Definition)
BIM LOD (Level of Definition)
 
Autocad command list
Autocad command listAutocad command list
Autocad command list
 
BIM Portfolio
BIM PortfolioBIM Portfolio
BIM Portfolio
 
Construction Materials site visit report
Construction Materials site visit report Construction Materials site visit report
Construction Materials site visit report
 
Structural engineer drawings
Structural engineer drawingsStructural engineer drawings
Structural engineer drawings
 
Bim and project management
Bim and project managementBim and project management
Bim and project management
 
Digital construction information management
Digital construction information managementDigital construction information management
Digital construction information management
 
Revit presentation
Revit presentationRevit presentation
Revit presentation
 
Computer aided analysis_and_design_of_multi-storeyed_buildings
Computer aided analysis_and_design_of_multi-storeyed_buildingsComputer aided analysis_and_design_of_multi-storeyed_buildings
Computer aided analysis_and_design_of_multi-storeyed_buildings
 
BIM for Project Managers
BIM for Project ManagersBIM for Project Managers
BIM for Project Managers
 
Yapı Bilgi Modellemesi (BİM) Saniye Öktem
Yapı Bilgi Modellemesi (BİM) Saniye ÖktemYapı Bilgi Modellemesi (BİM) Saniye Öktem
Yapı Bilgi Modellemesi (BİM) Saniye Öktem
 
Templat ISO 19650 OIR+EIR+BEP+ in Bahasa Malaysia
Templat ISO 19650   OIR+EIR+BEP+ in Bahasa MalaysiaTemplat ISO 19650   OIR+EIR+BEP+ in Bahasa Malaysia
Templat ISO 19650 OIR+EIR+BEP+ in Bahasa Malaysia
 
Labour Productivity for construction projects
Labour Productivity for construction projectsLabour Productivity for construction projects
Labour Productivity for construction projects
 
Revit Structure Training
Revit Structure TrainingRevit Structure Training
Revit Structure Training
 
Intro to BIM and Revit Structure
Intro to BIM and Revit StructureIntro to BIM and Revit Structure
Intro to BIM and Revit Structure
 

Similar to Controlling the visibility in a Revit family

A Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdfA Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdfTravisMcPeak1
 
There was a cat named Lamar.[[next]]Lamar wanted to get .docx
There was a cat named Lamar.[[next]]Lamar wanted to get .docxThere was a cat named Lamar.[[next]]Lamar wanted to get .docx
There was a cat named Lamar.[[next]]Lamar wanted to get .docxrandymartin91030
 
The Sieve of Eratosthenes - Part 1
The Sieve of Eratosthenes - Part 1The Sieve of Eratosthenes - Part 1
The Sieve of Eratosthenes - Part 1Philip Schwarz
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experimentslacyrhoades
 
The Sieve of Eratosthenes - Part 1 - with minor corrections
The Sieve of Eratosthenes - Part 1 - with minor correctionsThe Sieve of Eratosthenes - Part 1 - with minor corrections
The Sieve of Eratosthenes - Part 1 - with minor correctionsPhilip Schwarz
 
The Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingThe Unbearable Stupidity of Modeling
The Unbearable Stupidity of Modelingmerks
 
Planning JavaScript for Larger Teams - Draft & Handout version
Planning JavaScript for Larger Teams - Draft & Handout versionPlanning JavaScript for Larger Teams - Draft & Handout version
Planning JavaScript for Larger Teams - Draft & Handout versionChristian Heilmann
 
Build an App with JavaScript and jQuery - LA - July 18
Build an App with JavaScript and jQuery - LA - July 18Build an App with JavaScript and jQuery - LA - July 18
Build an App with JavaScript and jQuery - LA - July 18Thinkful
 
Cis407 a ilab 5 web application development devry university
Cis407 a ilab 5 web application development devry universityCis407 a ilab 5 web application development devry university
Cis407 a ilab 5 web application development devry universitylhkslkdh89009
 
Web app-la-jan-2
Web app-la-jan-2Web app-la-jan-2
Web app-la-jan-2Thinkful
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Aaron Lamphere
 
Getting Started with React-Nathan Smith
Getting Started with React-Nathan SmithGetting Started with React-Nathan Smith
Getting Started with React-Nathan SmithTandemSeven
 
Vpet sd-1.25.18
Vpet sd-1.25.18Vpet sd-1.25.18
Vpet sd-1.25.18Thinkful
 
Uses & Abuses of Mocks & Stubs
Uses & Abuses of Mocks & StubsUses & Abuses of Mocks & Stubs
Uses & Abuses of Mocks & StubsPatchSpace Ltd
 
The D language comes to help
The D language comes to helpThe D language comes to help
The D language comes to helpPVS-Studio
 
Housing prices project eeb
Housing prices project eebHousing prices project eeb
Housing prices project eebErik Bebernes
 
10 things you're doing wrong in Talend
10 things you're doing wrong in Talend10 things you're doing wrong in Talend
10 things you're doing wrong in TalendMatthew Schroeder
 

Similar to Controlling the visibility in a Revit family (20)

Deck 6-456 (1)
Deck 6-456 (1)Deck 6-456 (1)
Deck 6-456 (1)
 
A Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdfA Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdf
 
There was a cat named Lamar.[[next]]Lamar wanted to get .docx
There was a cat named Lamar.[[next]]Lamar wanted to get .docxThere was a cat named Lamar.[[next]]Lamar wanted to get .docx
There was a cat named Lamar.[[next]]Lamar wanted to get .docx
 
Gaps in the algorithm
Gaps in the algorithmGaps in the algorithm
Gaps in the algorithm
 
The Sieve of Eratosthenes - Part 1
The Sieve of Eratosthenes - Part 1The Sieve of Eratosthenes - Part 1
The Sieve of Eratosthenes - Part 1
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experiments
 
The Sieve of Eratosthenes - Part 1 - with minor corrections
The Sieve of Eratosthenes - Part 1 - with minor correctionsThe Sieve of Eratosthenes - Part 1 - with minor corrections
The Sieve of Eratosthenes - Part 1 - with minor corrections
 
The Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingThe Unbearable Stupidity of Modeling
The Unbearable Stupidity of Modeling
 
Planning JavaScript for Larger Teams - Draft & Handout version
Planning JavaScript for Larger Teams - Draft & Handout versionPlanning JavaScript for Larger Teams - Draft & Handout version
Planning JavaScript for Larger Teams - Draft & Handout version
 
Build an App with JavaScript and jQuery - LA - July 18
Build an App with JavaScript and jQuery - LA - July 18Build an App with JavaScript and jQuery - LA - July 18
Build an App with JavaScript and jQuery - LA - July 18
 
Cis407 a ilab 5 web application development devry university
Cis407 a ilab 5 web application development devry universityCis407 a ilab 5 web application development devry university
Cis407 a ilab 5 web application development devry university
 
Grounded Pointers
Grounded PointersGrounded Pointers
Grounded Pointers
 
Web app-la-jan-2
Web app-la-jan-2Web app-la-jan-2
Web app-la-jan-2
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery
 
Getting Started with React-Nathan Smith
Getting Started with React-Nathan SmithGetting Started with React-Nathan Smith
Getting Started with React-Nathan Smith
 
Vpet sd-1.25.18
Vpet sd-1.25.18Vpet sd-1.25.18
Vpet sd-1.25.18
 
Uses & Abuses of Mocks & Stubs
Uses & Abuses of Mocks & StubsUses & Abuses of Mocks & Stubs
Uses & Abuses of Mocks & Stubs
 
The D language comes to help
The D language comes to helpThe D language comes to help
The D language comes to help
 
Housing prices project eeb
Housing prices project eebHousing prices project eeb
Housing prices project eeb
 
10 things you're doing wrong in Talend
10 things you're doing wrong in Talend10 things you're doing wrong in Talend
10 things you're doing wrong in Talend
 

More from Wojciech Klepacki

More from Wojciech Klepacki (12)

Create a camera view by room
Create a camera view by roomCreate a camera view by room
Create a camera view by room
 
Create room separations lines for the structure columns
Create room separations lines for the structure columnsCreate room separations lines for the structure columns
Create room separations lines for the structure columns
 
Create finished floors by room outlines
Create finished floors by room outlinesCreate finished floors by room outlines
Create finished floors by room outlines
 
Donut chart in Revit with Dynamo
Donut chart in Revit with DynamoDonut chart in Revit with Dynamo
Donut chart in Revit with Dynamo
 
Format any sequence of numbers
Format any sequence of numbersFormat any sequence of numbers
Format any sequence of numbers
 
Bialystok
BialystokBialystok
Bialystok
 
Sopot
SopotSopot
Sopot
 
Detal rynny
Detal rynnyDetal rynny
Detal rynny
 
BRAWO_portfolio
BRAWO_portfolioBRAWO_portfolio
BRAWO_portfolio
 
ZDZ_portfolio
ZDZ_portfolioZDZ_portfolio
ZDZ_portfolio
 
MROZA_portfolio
MROZA_portfolioMROZA_portfolio
MROZA_portfolio
 
DAMIR_portfolio
DAMIR_portfolioDAMIR_portfolio
DAMIR_portfolio
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConNatan Silnitsky
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jNeo4j
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Flutter Agency
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Chirag Panchal
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 

Recently uploaded (20)

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 

Controlling the visibility in a Revit family

  • 1. CONTROLLING THE VISIBILITY IN ANY GEOM- ETRY RELATED REVIT FAMILY In my everyday practice, I often meet people who share the popular believe that Revit isn’t a good software. They do complain that Revit, can’t do this, doesn’t allow to do that… Well, there is still a huge gap to be covered and Revit is not ideal software but in most cases, each software is as good as its operator. When the operator fails, the software fails as well. With this article, I would like to debunk the “myth of visibility”. Let’s make a life example but simplify the problem to be easily followed. Here is the issue. You have three elements. Let me name them in a simple way: “First_element”, “Sec- ond_element” and surprisingly “Third_element”. You can use ANY loadable family template which is related to the geometry. I use standard Detail Item template but nothing stops us from using Generic Models, Doors, or others. I use nested annotation family but one can use the ge- ometry, nested details, etc. My intention was to keep this article as generic as possible. As I mentioned I do have three separate annotation families. To keep it clear the first annotation element (“First_element”) has a value of “1”, the second has a value of “2” and last but not least the third has a value of “3”. Please save them somewhere and load them into your Detail Item family. Now, you want to assign a “Yes / No” parameter to each of the annotation to make it visible or not. Sounds pretty easy? It’s not a complicated process, let me show how to do it. In a “Family Types” window just add instance “Yes / No” parameter and group it under “Visibility”. Don’t forget to put the name like: “First_element”, “Second_element” and “Third_element”. Now assign the visibility for the element like this: for the annotation element with value “1” assign “First_element”, for text annotation with value “2” assign “Second_element” and so on. Now save your newly created family and load it into the project. BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM
  • 2. BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM What an unpleasant surprise we have there… all three elements are visible! You can easily fix it unchecking the visibility in a property window but when you uncheck all of them everything disappears… Hmm… that’s not what we call an intelligent solution. My intention was to have only one element visible. If I accidently select more than one element visibility or all of them or none, I expect Revit to warn me about that something went wrong. Now it’s good time to introduce Boolean logic. On very basic, entry level simple “IF” statement works like this: IF something is TRUE, then do TRUE, otherwise, do FALSE. In Revit World we use a convention to put it work: If(something=true, true, false) where “something” is a name of a variable. In Revit families, variable is known under the name of the parameter. Nobody knows why, but in Revit when dealing with visibility parameters we have to miss “If” at the begging. I have my own conspiracy theory for that :) There are some additional Boolean statements you can use: “OR”, “AND” and “NOT”. You can combine them into one more complex formula to achieve the result you want. This is our next step to take. I’m a big fan of space program so let me quote Neil Armstrong: “That’s one small step for man, one giant leap for mankind”.
  • 3. BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM Please open the “Family Types” window and create three new instance “Yes / No” pa- rameters and group them under “Constraints”. Name them: “EL_01”, “EL_02” and “EL_03”. Now this is the tricky part. Please assign formula for “EL_O1”: and(First_element, and(not(Second_element), not(Third_element))) For parameter “EL_02” please assign: and(Second_element, and(not(First_element), not(Third_element))) And for the parameter “El_03” please assign: and(Third_element, and(not(First_element), not(Second_element))) WoW! But what the hell does it mean? Well, let me explain you on the first example. and(First_element, and(not(Second_element), not(Third_element))) This formula means: Please make it TRUE when “First_element” is ticked but “Second_element” and “Third_ element” are not ticked. Make it TRUE means “thick the box” in this case make the ele- ment visible. Please take your time and analyse the formulas for “EL_02” and “EL_03”. After five min- utes up to five hours later everything should be clear. Now please make one more parameter. Name it “Error”. Sounds sinister, doesn’t it? It should be instance “Yes / No” parameter, grouped under “Construction”. Now please assign the formula for this parameter: and(not(El_01), not(El_02), not(El_03)) It means: When all of the parameters “EL_01”, “EL_02” and “EL_03” are FALSE please make ele- ment visible with “Error” visibility assigned.
  • 4. CONTROLLING THE VISIBILITY IN ANY GEOM- ETRY RELATED REVIT FAMILY Now please close the window and: 1. Select element with value “1” and assign “EL_01” visibility parameter 2. Select element with value “2” and assign “EL_02” visibility parameter 3. Select element with value “3” and assign “EL_03” visibility parameter 4. Create new text element with “Error” value and assign “Error” visibility parameter. Please save the family, load into the project environment, override the one you have and test it. Hopefully, it works well… BIMSMALLTALKSBYWOJCIECHKLEPACKIWKLEPA@GMAIL.COM