Skip to content

3.6 Classificatiesystematiek — Assembly Codering is volgens NL-SfB 2021

NL/SfB 2021 – Assembly Code

Deze regel controleert of Family Types (FamilySymbols) correct zijn geclassificeerd met een Assembly Code volgens NL/SfB 2021.

De controle verifieert:

  1. Of de parameter Assembly Code een geldige waarde bevat uit de NL/SfB 2021 classificatielijst.
  2. Of de parameter Assembly Code Description een geldige omschrijving bevat uit dezelfde lijst.
  3. Of de Assembly Code en Assembly Code Description bij elkaar horen.

Deze classificatie is onderdeel van BIM Basis ILS §3.6 Classificatiesystematiek.

Controle op classificatie

De regel wordt toegepast op Family Types (FamilySymbols) van modelcategorieën.

De volgende controles worden uitgevoerd:

1. Assembly Code bestaat in NL/SfB

De waarde van Assembly Code moet voorkomen in de lookup tabel: NL:SfB_Tabel_1

Wanneer de code niet voorkomt in deze tabel, wordt deze als ongeldig beschouwd.

2. Assembly Description bestaat in NL/SfB

De waarde van Assembly Code Description moet ook voorkomen in dezelfde lookup tabel. Hiermee wordt gecontroleerd of de beschrijving afkomstig is uit de officiële NL/SfB classificatie.

3. Code en omschrijving horen bij elkaar

De combinatie van:

  • Assembly Code
  • Assembly Code Description

moet exact overeenkomen met de combinatie uit de NL/SfB 2021 tabel. Hiermee wordt voorkomen dat bijvoorbeeld:

  • Assembly Code: 21.21
  • Assembly Description: Binnenwand

wordt gecombineerd met een beschrijving die bij een andere code hoort.

Waarom deze regel bestaat

De NL/SfB classificatie wordt gebruikt om bouwelementen op een consistente manier te structureren.

Correcte classificatie maakt het mogelijk om:

  • modellen consistent te structureren
  • elementen eenduidig te classificeren
  • hoeveelheden en analyses per bouwdeel te maken
  • informatie betrouwbaar uit te wisselen tussen systemen
  • rapportages en automatisering toe te passen

Wanneer classificatie ontbreekt of onjuist is, kunnen modellen moeilijker worden gebruikt voor informatie-uitwisseling, analyse en beheer.

Wat te doen bij afwijkingen

Wanneer een element niet voldoet aan deze regel:

  1. Controleer of de parameter Assembly Code is ingevuld.
  2. Selecteer een geldige code uit de NL/SfB classificatielijst.
  3. Controleer of de parameter Assembly Code Description automatisch wordt gevuld.
  4. Indien de omschrijving niet automatisch wordt ingevuld:
  5. controleer of de juiste Assembly Code tabel is gekoppeld in Revit.

Revit configuratie

De NL/SfB classificatietabel kan worden ingesteld via: Manage → Additional Settings → Assembly Code Wanneer de juiste tabel is gekoppeld, wordt de Assembly Code Description automatisch gevuld op basis van de gekozen code.

Scope van de controle

Deze regel controleert:

  • Family Types (FamilySymbols)
  • alleen Model categorieën
  • met uitzondering van Duct Systems en Piping Systems

Referentie

BIM Basis ILS
§3.6 Classificatiesystematiek

https://www.digigo.nu/ilsen-en-richtlijnen/bim-basis-ils/


{
  "Id": "195e773f-0267-4045-8315-9a7bff4103da",
  "Filter": {
    "Type": "queryFilter",
    "Properties": [
      {
        "Name": "Query",
        "Value": "(\n    $familyTypes := $[\n        (type='FamilySymbol' and values.category.type = \"Model\") and \n        ((values.categoryName != \"Duct Systems\" and values.categoryName != \"Piping Systems\") or (values.category.label != \"OST_DuctSystem\" and values.category.label != \"OST_PipingSystem\"))];\n   \n    $familyTypes.{\n        \"id\" : id,\n        \"type\" : type,\n        \"name\" : name,\n        \"assemblyCode\" : values.assemblyCode,\n        \"assemblyDescription\": values.assemblyDescription\n    }\n)",
        "Type": null
      }
    ],
    "SubFilters": []
  },
  "Validation": {
    "Type": "validationCollection",
    "Name": "AssemblyCode komt uit lijst NL/SfB 2021",
    "ErrorMessage": "1. Check of de AssemblyCode en Omschrijving zijn ingevuld en komen uit de lijst met toegestane waarden. \n2. De AssemblyCode en Omschrijving horen bijelkaar.",
    "Properties": [
      {
        "Name": "Operator",
        "Value": {
          "Type": "value",
          "Properties": [
            {
              "Name": "value",
              "Value": "and",
              "Type": ""
            }
          ]
        }
      }
    ],
    "SubValidations": [
      {
        "Type": "validation",
        "Name": "Assembly Code komt uit lijst",
        "ErrorMessage": "#### Issue\n\nDe parameter waarde voor **'Assembly Code'** moet zijn ingevuld met een waarde uit uit 'Lookup table': NL:SfB_Tabel_1\n\nDe huidge waarde is: **'{ActualValue}'** \n\n* Assembly Code = **'{{assemblyCode}}'** \n* Assembly Description = **'{{assemblyDescription}}'** \n\n#### Oplossing\n\nVul de Assembly code in en kijk voor de mogelijkheden in de help.",
        "Properties": [
          {
            "Name": "valueToValidate",
            "Value": {
              "Type": "querySelector",
              "Properties": [
                {
                  "Name": "query",
                  "Value": "assemblyCode",
                  "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": "Assembly Description komt uit lijst",
        "ErrorMessage": "#### Issue\n\nDe parameter **'Assembly Code Description'** moet zijn ingevuld met een waarde uit uit 'Lookup table': NL:SfB_Tabel_1\n\nDe huidge waarde is: **'{ActualValue}'**\n\n* Assembly Code = **'{{assemblyCode}}'** \n* Assembly Description = **'{{assemblyDescription}}'** \n\n#### Oplossing\n\nControleer of je het juiste Assembly Code bestand hebt gekoppeld.\nGa naar: Tabblad Manage --> Additional Settings --> Assembly Code\n\nAls de koppeling naar het juiste bestand wijst dan zou door het invullen van de Assembly Code parameter de juiste tekst moeten worden ingevuld in de Asembly Code Description parameter.",
        "Properties": [
          {
            "Name": "valueToValidate",
            "Value": {
              "Type": "querySelector",
              "Properties": [
                {
                  "Name": "query",
                  "Value": "assemblyDescription",
                  "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": "description",
                  "Type": "list"
                },
                {
                  "Name": "lookupTable",
                  "Value": "NL:SfB_Tabel_1",
                  "Type": "list"
                }
              ]
            }
          }
        ],
        "SubValidations": []
      },
      {
        "Type": "validation",
        "Name": "Assembly Code en Assembly Description horen bij elkaar",
        "ErrorMessage": "#### Issue\n\nDe waarde van de parameter **'Assembly Code Description'** moet horen bij de **'Assembly Code'** uit 'Lookup table': NL:SfB_Tabel_1\n\n* De huidge waarde is: **'{ActualValue}'**\n* De verwachte waarde op basis van de Assembly Code is: **'{ExpectedValue}'** \n* Assembly Code = **'{{assemblyCode}}'** \n* Assembly Description = **'{{assemblyDescription}}'** \n\n#### Oplossing\n\nVul de Assembly code in en kijk voor de mogelijkheden in de help.",
        "Properties": [
          {
            "Name": "valueToValidate",
            "Value": {
              "Type": "querySelector",
              "Properties": [
                {
                  "Name": "query",
                  "Value": "assemblyDescription",
                  "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": "$[code = '{{assemblyCode}}'].description",
                  "Type": "string"
                },
                {
                  "Name": "lookupTable",
                  "Value": "NL:SfB_Tabel_1",
                  "Type": "string"
                }
              ]
            }
          }
        ],
        "SubValidations": []
      }
    ]
  },
  "Details": {
    "Name": "Assembly Codering is volgens NL-SfB 2021",
    "Impact": 4,
    "Priority": 1,
    "Tags": [
      "3.6 Classificatiesystematiek"
    ],
    "Description": "# NL/SfB 2021 – Assembly Code\n\nDeze regel controleert of **Family Types (FamilySymbols)** correct zijn geclassificeerd met een **Assembly Code volgens NL/SfB 2021**.\n\nDe controle verifieert:\n\n1. Of de parameter **Assembly Code** een geldige waarde bevat uit de **NL/SfB 2021 classificatielijst**.\n2. Of de parameter **Assembly Code Description** een geldige omschrijving bevat uit dezelfde lijst.\n3. Of de **Assembly Code** en **Assembly Code Description** bij elkaar horen.\n\nDeze classificatie is onderdeel van **BIM Basis ILS §3.6 Classificatiesystematiek**.\n\n## Controle op classificatie\n\nDe regel wordt toegepast op **Family Types (FamilySymbols)** van **modelcategorieën**.\n\nDe volgende controles worden uitgevoerd:\n\n### 1. Assembly Code bestaat in NL/SfB\n\nDe waarde van **Assembly Code** moet voorkomen in de lookup tabel: NL:SfB_Tabel_1\n\nWanneer de code niet voorkomt in deze tabel, wordt deze als **ongeldig** beschouwd.\n\n### 2. Assembly Description bestaat in NL/SfB\n\nDe waarde van **Assembly Code Description** moet ook voorkomen in dezelfde lookup tabel.\nHiermee wordt gecontroleerd of de beschrijving afkomstig is uit de **officiële NL/SfB classificatie**.\n\n\n### 3. Code en omschrijving horen bij elkaar\n\nDe combinatie van:\n\n- Assembly Code\n- Assembly Code Description\n\nmoet exact overeenkomen met de combinatie uit de **NL/SfB 2021 tabel**.\nHiermee wordt voorkomen dat bijvoorbeeld:\n\n- Assembly Code: 21.21\n- Assembly Description: Binnenwand\n\nwordt gecombineerd met een beschrijving die bij een andere code hoort.\n\n## Waarom deze regel bestaat\n\nDe **NL/SfB classificatie** wordt gebruikt om bouwelementen op een consistente manier te structureren.\n\nCorrecte classificatie maakt het mogelijk om:\n\n- modellen **consistent te structureren**\n- elementen **eenduidig te classificeren**\n- **hoeveelheden en analyses** per bouwdeel te maken\n- informatie **betrouwbaar uit te wisselen** tussen systemen\n- **rapportages en automatisering** toe te passen\n\nWanneer classificatie ontbreekt of onjuist is, kunnen modellen moeilijker worden gebruikt voor **informatie-uitwisseling, analyse en beheer**.\n\n\n\n## Wat te doen bij afwijkingen\n\nWanneer een element niet voldoet aan deze regel:\n\n1. Controleer of de parameter **Assembly Code** is ingevuld.\n2. Selecteer een geldige code uit de **NL/SfB classificatielijst**.\n3. Controleer of de parameter **Assembly Code Description** automatisch wordt gevuld.\n4. Indien de omschrijving niet automatisch wordt ingevuld:\n   - controleer of de juiste **Assembly Code tabel** is gekoppeld in Revit.\n\n## Revit configuratie\n\nDe NL/SfB classificatietabel kan worden ingesteld via: Manage → Additional Settings → Assembly Code\nWanneer de juiste tabel is gekoppeld, wordt de **Assembly Code Description automatisch gevuld** op basis van de gekozen code.\n\n## Scope van de controle\n\nDeze regel controleert:\n\n- **Family Types (FamilySymbols)**\n- alleen **Model categorieën**\n- met uitzondering van **Duct Systems** en **Piping Systems**\n\n## Referentie\n\nBIM Basis ILS  \n§3.6 Classificatiesystematiek  \n\nhttps://www.digigo.nu/ilsen-en-richtlijnen/bim-basis-ils/\n",
    "HelpUrl": "https://help.daqs.io/NL/NLsfb/nlsfb/?nav=false",
    "TimeToSolve": 10,
    "AllDisciplines": true,
    "Disciplines": []
  },
  "Metadata": [
    {
      "Label": "AssemblyCode",
      "Selector": {
        "Type": "querySelector",
        "Properties": [
          {
            "Name": "query",
            "Value": "values.assemblyCode",
            "Type": null
          }
        ]
      }
    }
  ]
}