Skip to content

Gatekeeper Rules: complexemodelcontroles bouwen door Ruleste combineren

04 solibri developer blue

Ben je al aardig onderweg met het bouwen van Rulesets in Solibri Office? En nu toe aan een verdiepingsslag in het toepassen van Rules? Met het gebruik van 'Gatekeeper' Rules maak je jouw Rulesets nóg slimmer. 

Met een Gatekeeper Rule kun je een set componenten op meerdere aspecten controleren door Rules in serie te schakelen. Normaalgesproken stuur je met de filters aan welke componenten een Rule controleert. Bij een Gatekeeper bepalen de uitkomsten van een bovenliggende Rule ('Parent Rule') welke componenten door een onderliggende Rule ('Sub Rule') worden gecontroleerd. Dit maakt complexe vormen van modelcontroles mogelijk. 

Bijvoorbeeld: 

Een controle die eerst vaststelt of componenten voldoen aan bepaalde voorwaarden voordat dezelfde componenten worden gecontroleerd op andere aspecten. 

Of: 

Een controle die sommige controles wél, en sommige controles niet, uitvoert afhankelijk van condities in het (coördinatie)model 

Je kunt elke Rule in principe inzetten als Parent of Sub Rule. In de praktijk zijn de Rules waarmee je randvoorwaarden instelt (bijv. SOL/9, SOL/203 of SOL/230 ) het meest voor de hand liggend om als Parent Rules in te zetten. 

Gatekeepers configureer je in de Workspace van de Ruleset Manager. Plak, of sleep, een Rule bovenop een andere Rule om een Gatekeeper te creeëren. 

Je ziet in de info View bij de Parent Rule nu 4 extra opties verschijnen. Deze Sub Rule Options bepalen hoe de Sub Rule aangestuurd moet worden: 

 

 

1. Check all model components, if passed 

Met deze Gatekeeper instelling bouw je Rulesets die alleen worden uitgevoerd wanneer aan een specifieke conditie wordt voldaan. 

 

Bijvoorbeeld: Controleer of een model afkomstig is van een bepaalde discipline, voer daarna enkel de Rulesets uit die van toepassing zijn op die discipline.  

Het gedrag van de gatekeeper is als volgt: 

Worden er géén Issues gevonden door de Parent Rule? Dan wordt de Sub Rule uitgevoerd als een normale Rule met alle componenten in het 

(coördinatie)model. De Sub Rule filtert enkel op de componenten die in de filters van de Sub Rule zelf staan. Worden er wel Issues geconstateerd door de Parent Rule? Dan wordt de Sub Rule niet uitgevoerd.

 

2. Check all model components, if issues 

Deze instelling werkt hetzelfde als 'Check all model components, if passed' maar dan omgedraaid: 

Worden er Issues gevonden door de Parent Rule? Dan wordt de Sub Rule uitgevoerd als een normale Rule met alle componenten in het 

(coördinatie)model. In de Sub Rule wordt enkel gefilterd op de componenten die in de filters van de Sub Rule zelf staan. Worden er géén Issues 

geconstateerd door de Parent Rule? Dan wordt de Sub Rule niet uitgevoerd.

 

3. Check only failed components 

Met deze instelling werkt de Parent Rule als een extra filter op de Sub Rule. Daarmee kun je een Ruleset bouwen die componenten uitfiltert die aan specifieke voorwaarden voldoen. 

Bijvoorbeeld: controleer of een ruimte de eigenschap 'verblijfsruimte' heeft en controleer vervolgens of in deze ruimte een rookmelder aanwezig is. 

Het gedrag van de Gatekeeper is als volgt: 

Alle componenten die niet voldoen aan de voorwaarden ('failed components') worden doorgestuurd naar de Sub Rule. 

 

4. Check only passed components 

Deze instelling werkt hetzelfde als 'Check only failed components' maar dan omgedraaid:

 

Alleen componenten die voldoen aan de voorwaarden ('passed components') worden doorgestuurd naar de Sub Rule. 

Alleen componenten die voldoen aan de voorwaarden ('passed components') worden doorgestuurd naar de Sub Rule. 

Handig om te weten:

Als je een Gatekeeper gebruikt zie je in de Results View alleen de resultaten van de Sub Rule; de resultaten van de Parent Rule worden niet getoond. Om toch snel inzicht te krijgen in welke componenten overgaan van de Parent Rule naar de Sub Rule(s) kun je gebruik maken van de Checked Components View. Hierin zie je precies welke componenten worden doorgestuurd, én tegengehouden, door de Parent Rule. Dat is met name handig wanneer je een Sub Rule met 'Passed Components' voedt. 

Let op bij Rules die over meer dan één filter beschikken. Zoals SOL/1 (General Intersection Rule). Wanneer je een Rule met meerdere filters als Sub Rule toepast wordt alleen het eerste filter gevuld met de resultaten van de Parent Rule. Het tweede filter moet altijd specifiek ingevuld worden en gaat altijd uit van alle componenten in het (coördinatie)model 

Afhankelijk van welke Gatekeeper instelling je kiest kan het handig zijn als Gatekeeper regels verdwijnen wanneer de Parent Rules geen resultaten genereren. Bijvoorbeeld wanneer je een complete Ruleset alleen wilt uitvoeren wanneer aan bepaalde conditie wordt voldaan. Dit gedrag pas je aan in het instellingen menu (File > Settings> Checking). Met de optie 'Hide Gatekeeper Rules After Checking' ingeschakeld worden Gatekeeper Rules onzichtbaar gemaakt in de Checking View wanneer de Parent Rule geen resultaten voortbrengt. 

Bart Bol Customer Success Manager Solibri Benelux

Related articles

Latest insights

Tool and strategies modern teams need to help their companies grow.
View all
View all