Skip to content

4.1 Ruimten — Room number komt overeen met level

Wat doet deze regel?

Deze regel controleert of het Room Number van een Room overeenkomt met de bouwlaag waarop de Room zich bevindt.

De regel vergelijkt het eerste deel van het Room Number met het eerste deel van de Level-naam. Hiermee wordt gecontroleerd of de ruimte-nummering consistent aansluit op de bouwlaagindeling van het model.


Wat controleert deze regel

De regel analyseert alle elementen van het type Room en bepaalt:

  • het eerste deel van het Room Number (prefix vóór de punt)
  • het eerste deel van de Level-naam (prefix vóór de eerste spatie)

Vervolgens wordt gecontroleerd:

  • of deze twee waarden gelijk zijn

Een Room wordt gemarkeerd wanneer:

  • het Room Number niet overeenkomt met het Level waarop de Room ligt

Scope van de controle

Deze regel is van toepassing op:

  • alle elementen van het type Room

De regel vergelijkt uitsluitend:

  • de parameter Room Number
  • de Level-naam waarop de Room geplaatst is

Waarom deze regel bestaat

Het nummer van een ruimte bevat vaak een verwijzing naar de bouwlaag waarop de ruimte zich bevindt.

Wanneer deze structuur consequent wordt toegepast:

  • zijn ruimtes sneller herkenbaar per bouwlaag
  • blijven rapportages en exports consistent
  • worden fouten bij koppelingen met planning, kosten en beheer verminderd

Deze regel ondersteunt de richtlijnen uit BIM Basis ILS §4.1 – Ruimten, waarin wordt beschreven dat ruimten logisch en eenduidig moeten worden genummerd.


{
  "Id": "3af6cba6-c38a-481f-8b3b-c1cc531a36e6",
  "Filter": {
    "Type": "queryFilter",
    "Properties": [
      {
        "Name": "Query",
        "Value": "$[type = \"Room\"].(\n  $room := $exists(values.number) and values.number != null\n    ? values.number\n    : \"\";\n  $level := $exists(values.level) and values.level != null\n    ? values.level\n    : \"\";\n\n  $roomPrefix := $split($room, \".\")[0];\n  $levelPrefix := $split($level, \" \")[0];\n\n  {\n    \"id\": id,\n    \"type\": type,\n    \"name\": name,\n    \"roomPrefix\": $roomPrefix,\n    \"levelPrefix\": $levelPrefix,\n    \"levelName\": $level,\n    \"match\": $roomPrefix = $levelPrefix\n  }\n)\n",
        "Type": null
      }
    ],
    "SubFilters": []
  },
  "Validation": {
    "Type": "validation",
    "Name": "Room number komt overeen met level",
    "ErrorMessage": "#### Issue\n\nHet **Room Number** komt niet overeen met het bijbehorende **Level**.\n\nHet eerste deel van het Room Number is **{{roomPrefix}}**, terwijl het eerste deel van de Level-naam **{{levelPrefix}}** is.\n\n- Level naam : **{{levelName}}** \n- Room naam : **{{name}}** \n\n#### Oplossing\n\nPas het **Room Number** aan zodat het eerste deel overeenkomt met het Level waarop de Room ligt.\n\n**Voorbeeld**  \n- Level : `01 Begane grond`  \n- Correct Room Number : `01.XX`\n\n#### Informatie\n\nVolgens de **BIM Basis ILS – §4.1 Ruimten** moet de nummering van Rooms logisch aansluiten op de bouwlaagindeling.\n\nDeze afspraak zorgt voor:\n- eenduidige herkenning van ruimtes per bouwlaag  \n- consistente rapportages en exports  \n- minder fouten bij koppeling met planning en beheer\n",
    "Properties": [
      {
        "Name": "valueToValidate",
        "Value": {
          "Type": "querySelector",
          "Properties": [
            {
              "Name": "query",
              "Value": "match",
              "Type": "bool"
            }
          ]
        }
      },
      {
        "Name": "Validator",
        "Value": {
          "Type": "value",
          "Properties": [
            {
              "Name": "value",
              "Value": "bool:Is",
              "Type": "bool"
            }
          ]
        }
      },
      {
        "Name": "expectedValue",
        "Value": {
          "Type": "staticValueSelector",
          "Properties": [
            {
              "Name": "value",
              "Value": "true",
              "Type": "bool"
            }
          ]
        }
      }
    ],
    "SubValidations": []
  },
  "Details": {
    "Name": "Room number komt overeen met level",
    "Impact": 4,
    "Priority": 2,
    "Tags": [
      "4.1 Ruimten"
    ],
    "Description": "## Wat doet deze regel?\n\nDeze regel controleert of het **Room Number** van een Room overeenkomt met de bouwlaag waarop de Room zich bevindt.\n\nDe regel vergelijkt het **eerste deel van het Room Number** met het **eerste deel van de Level-naam**. Hiermee wordt gecontroleerd of de ruimte-nummering consistent aansluit op de bouwlaagindeling van het model.\n\n---\n\n## Wat controleert deze regel\n\nDe regel analyseert alle elementen van het type **Room** en bepaalt:\n\n- het eerste deel van het **Room Number** (prefix vóór de punt)\n- het eerste deel van de **Level-naam** (prefix vóór de eerste spatie)\n\nVervolgens wordt gecontroleerd:\n\n- of deze twee waarden **gelijk zijn**\n\nEen Room wordt gemarkeerd wanneer:\n\n- het Room Number **niet overeenkomt met het Level waarop de Room ligt**\n\n---\n\n## Scope van de controle\n\nDeze regel is van toepassing op:\n\n- alle elementen van het type **Room**\n\nDe regel vergelijkt uitsluitend:\n\n- de parameter **Room Number**\n- de **Level-naam** waarop de Room geplaatst is\n\n---\n\n## Waarom deze regel bestaat\n\nHet nummer van een ruimte bevat vaak een verwijzing naar de bouwlaag waarop de ruimte zich bevindt.\n\nWanneer deze structuur consequent wordt toegepast:\n\n- zijn ruimtes sneller herkenbaar per bouwlaag\n- blijven rapportages en exports consistent\n- worden fouten bij koppelingen met planning, kosten en beheer verminderd\n\nDeze regel ondersteunt de richtlijnen uit **BIM Basis ILS §4.1 – Ruimten**, waarin wordt beschreven dat ruimten logisch en eenduidig moeten worden genummerd.",
    "HelpUrl": "https://help.daqs.io/NL/BIMBasisILS/Rooms/?nav=false",
    "TimeToSolve": 5,
    "AllDisciplines": true,
    "Disciplines": []
  },
  "Metadata": []
}