3.5 Structuur en naamgeving — Naamgeving System Families Types
Wat doet deze regel?
Deze regel controleert of System Family Types correct zijn benoemd volgens de NLRS-naamgevingsregels.
De controle wordt uitgevoerd op System Family Types (FamilySymbols zonder parent) en verifieert of de naam is opgebouwd volgens de afgesproken structuur uit BIM Basis ILS §3.5 Structuur en naamgeving en de NLRS-naamgevingsconventies.
De naam van een System Family Type moet bestaan uit meerdere onderdelen die worden gescheiden door een underscore (_).
Wat de regel controleert
De regel controleert de structuur van de System Family Type naam en valideert de afzonderlijke naamdelen.
Concreet controleert de regel:
- of het eerste deel van de naam gelijk is aan NLRS
- of het tweede deel van de naam een geldige NL/SfB classificatiecode bevat
- of het derde deel van de naam overeenkomt met de afkorting van de Revit-categorie
Voor deze controles worden lookup tables gebruikt met:
- toegestane NL/SfB codes
- Revit categorie-afkortingen
Wanneer één van deze onderdelen niet voldoet, wordt het System Family Type als ongeldig gemarkeerd.
Scope van de controle
Deze regel wordt toegepast op:
- System Family Types (FamilySymbols)
- types van System Families
- elementen zonder parent family
- categorieën van het type Model
Loadable families vallen niet binnen de scope van deze controle.
Waarom deze regel bestaat
Een consistente naamstructuur voor System Family Types is belangrijk voor herkenbaarheid, classificatie en automatisering binnen BIM-modellen.
Door een vaste naamopbouw te gebruiken:
- blijven elementen consistent benoemd binnen projecten
- wordt classificatie eenvoudiger
- kunnen scripts en automatiseringen betrouwbaarder werken
- wordt gegevensuitwisseling tussen partijen verbeterd
De NLRS-naamgevingsregels zorgen ervoor dat System Family Types uniform en herkenbaar worden benoemd binnen Nederlandse BIM-projecten.
{
"Id": "319d8c12-58fb-4ea5-9795-c5000782659f",
"Filter": {
"Type": "queryFilter",
"Properties": [
{
"Name": "Query",
"Value": "$[type = \"FamilySymbol\" and parent=null].{\n \"id\" : id,\n \"name\" : name,\n \"assemblyCode\" : values.assemblyCode = null ? \"\" : $substring(values.assemblyCode, 0,2),\n \"type\" : type,\n \"categoryName\" : $exists(values.categoryName) ? values.categoryName : values.category.name,\n \"categoryType\" : $exists(values.categoryType) ? values.categoryType : values.category.type,\n}",
"Type": null
}
],
"SubFilters": []
},
"Validation": {
"Type": "validationCollection",
"Name": "Naamgeving System Families Types",
"ErrorMessage": "#### Issue\n\nDe naam **'{{name}}'** van het system family type voldoet niet aan de afgesproken naamgevingsstructuur.\n\n#### Oplossing\n\nPas de naam aan volgens de vastgestelde opbouw voor System Families Types.\n",
"Properties": [
{
"Name": "Operator",
"Value": {
"Type": "value",
"Properties": [
{
"Name": "value",
"Value": "and",
"Type": ""
}
]
}
}
],
"SubValidations": [
{
"Type": "validation",
"Name": "Family naam POS1",
"ErrorMessage": "#### Issue\n\nHet eerste deel van de naam **'{{name}}'** is **'{ActualValue}'** , maar dit is niet toegestaan.\n\n#### Oplossing\n\nBegin de naam met **NLRS** .\n \n#### Informatie\n\nVolgens de NLRS-naamgevingsregels moet de naam van een System Family Type starten met **NLRS** . \nZie ook BIM Basis ILS §3.5 Structuur en naamgeving.\n",
"Properties": [
{
"Name": "valueToValidate",
"Value": {
"Type": "partSelector",
"Properties": [
{
"Name": "query",
"Value": "$.name",
"Type": "string"
},
{
"Name": "partToCheck",
"Value": "1",
"Type": "string"
},
{
"Name": "separator",
"Value": "_",
"Type": "string"
}
]
}
},
{
"Name": "Validator",
"Value": {
"Type": "value",
"Properties": [
{
"Name": "value",
"Value": "string:Matches",
"Type": "string"
}
]
}
},
{
"Name": "expectedValue",
"Value": {
"Type": "staticValueSelector",
"Properties": [
{
"Name": "value",
"Value": "NLRS",
"Type": "string"
}
]
}
}
],
"SubValidations": []
},
{
"Type": "validation",
"Name": "Family naam POS2",
"ErrorMessage": "#### Issue\n\nHet tweede deel van de naam **'{{name}}'** bevat een ongeldige classificatiecode **'{ActualValue}'** .\n\n#### Oplossing\n\nGebruik een geldige NL/SfB-code als tweede deel van de naam.\n\n#### Informatie\n\nDit deel van de naam moet overeenkomen met een code uit **NL/SfB Tabel 1**, conform:\n- BIM Basis ILS §3.5 Structuur en naamgeving \n- NLRS-naamgevingsconventies\n",
"Properties": [
{
"Name": "valueToValidate",
"Value": {
"Type": "partSelector",
"Properties": [
{
"Name": "query",
"Value": "$.name",
"Type": "list"
},
{
"Name": "partToCheck",
"Value": "2",
"Type": "list"
},
{
"Name": "separator",
"Value": "_",
"Type": "list"
}
]
}
},
{
"Name": "Validator",
"Value": {
"Type": "value",
"Properties": [
{
"Name": "value",
"Value": "list:IsIn",
"Type": "list"
}
]
}
},
{
"Name": "expectedValue",
"Value": {
"Type": "lookupDataSelector",
"Properties": [
{
"Name": "distinct",
"Value": "",
"Type": "list"
},
{
"Name": "query",
"Value": "code",
"Type": "list"
},
{
"Name": "lookupTable",
"Value": "NL:SfB_Tabel_1",
"Type": "list"
}
]
}
}
],
"SubValidations": []
},
{
"Type": "validation",
"Name": "Family naam POS3",
"ErrorMessage": "#### Issue\n\nHet derde deel van de naam **'{{name}}' '{ActualValue}'** komt niet overeen met de Revit-categorie.\n\n#### Oplossing\n\nGebruik de juiste categorie-afkorting die hoort bij de Revit-categorie van dit element.\n\n#### Informatie\n\nDe categorie-afkorting is vastgelegd in de NLRS-naamgevingsregels en is afhankelijk van de Revit-categorie. \nZie BIM Basis ILS §3.5 Structuur en naamgeving.\n",
"Properties": [
{
"Name": "valueToValidate",
"Value": {
"Type": "partSelector",
"Properties": [
{
"Name": "query",
"Value": "$.name",
"Type": "string"
},
{
"Name": "partToCheck",
"Value": "3",
"Type": "string"
},
{
"Name": "separator",
"Value": "_",
"Type": "string"
}
]
}
},
{
"Name": "Validator",
"Value": {
"Type": "value",
"Properties": [
{
"Name": "value",
"Value": "string:IsEqualTo",
"Type": "string"
}
]
}
},
{
"Name": "expectedValue",
"Value": {
"Type": "lookupDataSelector",
"Properties": [
{
"Name": "distinct",
"Value": "",
"Type": "string"
},
{
"Name": "query",
"Value": "$[CategoryName= \"{{categoryName}}\"].CategoryAbbreviation",
"Type": "string"
},
{
"Name": "lookupTable",
"Value": "RevitCategoryInfo",
"Type": "string"
}
]
}
}
],
"SubValidations": []
}
]
},
"Details": {
"Name": "Naamgeving System Families Types",
"Impact": 4,
"Priority": 1,
"Tags": [
"3.5 Structuur en naamgeving",
"NLRS"
],
"Description": "## Wat doet deze regel?\n\nDeze regel controleert of **System Family Types correct zijn benoemd volgens de NLRS-naamgevingsregels**.\n\nDe controle wordt uitgevoerd op **System Family Types (FamilySymbols zonder parent)** en verifieert of de naam is opgebouwd volgens de afgesproken structuur uit **BIM Basis ILS §3.5 Structuur en naamgeving** en de **NLRS-naamgevingsconventies**.\n\nDe naam van een System Family Type moet bestaan uit meerdere onderdelen die worden gescheiden door een **underscore (_)**.\n\n---\n\n## Wat de regel controleert\n\nDe regel controleert de structuur van de **System Family Type naam** en valideert de afzonderlijke naamdelen.\n\nConcreet controleert de regel:\n\n- of het **eerste deel van de naam** gelijk is aan **NLRS**\n- of het **tweede deel van de naam** een geldige **NL/SfB classificatiecode** bevat\n- of het **derde deel van de naam** overeenkomt met de **afkorting van de Revit-categorie**\n\nVoor deze controles worden lookup tables gebruikt met:\n\n- toegestane **NL/SfB codes**\n- **Revit categorie-afkortingen**\n\nWanneer één van deze onderdelen niet voldoet, wordt het System Family Type als ongeldig gemarkeerd.\n\n---\n\n## Scope van de controle\n\nDeze regel wordt toegepast op:\n\n- **System Family Types (FamilySymbols)**\n- types van **System Families**\n- elementen zonder **parent family**\n- categorieën van het type **Model**\n\nLoadable families vallen **niet binnen de scope van deze controle**.\n\n---\n\n## Waarom deze regel bestaat\n\nEen consistente naamstructuur voor System Family Types is belangrijk voor **herkenbaarheid, classificatie en automatisering binnen BIM-modellen**.\n\nDoor een vaste naamopbouw te gebruiken:\n\n- blijven elementen **consistent benoemd binnen projecten**\n- wordt **classificatie eenvoudiger**\n- kunnen **scripts en automatiseringen betrouwbaarder werken**\n- wordt **gegevensuitwisseling tussen partijen verbeterd**\n\nDe NLRS-naamgevingsregels zorgen ervoor dat System Family Types **uniform en herkenbaar worden benoemd binnen Nederlandse BIM-projecten**.",
"HelpUrl": "https://help.daqs.io/nl/nlrs/FamilyNaamgeving/?nav=false",
"TimeToSolve": 20,
"AllDisciplines": true,
"Disciplines": []
},
"Metadata": []
}