Skip to content

4.8 Projectspecifiek — NLRS_C_weerstandsklasse

Deze regel controleert of de parameter NLRS_C_weerstandsklasse een geldige weerstandsklasse (RC1 t/m RC6) bevat.

De controle is van toepassing op bouwkundige elementen met Assembly Codes in de 21- en 22-reeks, waarbij geen Function-parameter is opgegeven.

Het correct vastleggen van de weerstandsklasse is noodzakelijk voor inbraakveiligheid, normtoetsing en betrouwbare gegevensuitwisseling conform NLRS en NEN 5096.


{
  "Id": "b5262621-d8f8-43f1-b174-8483c868a23b",
  "Filter": {
    "Type": "queryFilter",
    "Properties": [
      {
        "Name": "Query",
        "Value": "(\n  /* All relevant GUIDs in one place */\n  $paramGuids := {\n    \"NLRS_C_weerstandsklasse\": \"8f1f7e7c-a1c6-46ba-89bf-c28af15d5783\",\n  };\n\n  /* Build one lookup table with metadata per GUID (keys are strings!) */\n  $paramMetaByGuid := $merge(\n    $$[type = \"Parameter\" and values.guid in $paramGuids.*].{\n      $string(values.guid): {\n        \"paramExist\": true,\n        \"guid\": values.guid,\n        \"name\": values.name\n      }\n    }\n  );\n\n    $getSharedParamValue := function($object, $logicalName){\n    (\n      $guid := $lookup($paramGuids, $logicalName);\n      $sp   := $guid and $exists($object.values)\n                ? $lookup($object.values, \"p_\" & $guid)\n                : undefined;\n\n      $exists($sp.value)\n        ? $number($sp.value)\n        : null\n    )\n    };\n\n    /* AssemblyCode inclusion regex */\n    $assemblyCodeIncluded := /^2[12]\\.\\d\\d$/i;\n\n\n  /* Category Exclusion List OST names*/\n  $CategoryExclusion = [\"OST_DetailComponents\"];\n  \n  /* Category filters based upon FamilySymbols */\n    $symbols :=\n      $[\n        type = \"FamilySymbol\"\n        and values.category.type = \"Model\"\n        and $not(values.category.label in $CategoryExclusion)\n        and $string(values.assemblyCode) ~> $assemblyCodeIncluded\n        and (\n          $not($exists(values.function))\n          or values.function = null\n          or values.function = \"\"\n        )\n      ];\n\n  /* Index symbols by id */\n  $symIndex := $merge($symbols.{$string(id): $});\n\n  /* Main query over FamilyInstances */\n  $[type = \"FamilyInstance\" and $exists(parent)].(\n    $sym := $lookup($symIndex, $string(parent.id));\n    $sym ?\n    {\n      \"id\": id,\n      \"type\": type,\n      \"name\": name,\n      \"Category\": $sym.values.category.label,\n      \"assemblyCode\": $sym.values.assemblyCode,\n      \"NLRS_C_weerstandsklasse\": $getSharedParamValue($, \"NLRS_C_weerstandsklasse\"),\n    }\n    : ()\n  )\n)",
        "Type": null
      }
    ],
    "SubFilters": []
  },
  "Validation": {
    "Type": "validation",
    "Name": "NLRS_C_weerstandsklasse is een geldige waarde",
    "ErrorMessage": "#### Issue\n\nDe parameter **`NLRS_C_weerstandsklasse`** heeft een ongeldige waarde.\n\n- **Huidige waarde** : `{ActualValue}`\n- **Toegestane waarden** : `1`, `2`, `3`, `4`, `5`, `6`\n- **Categorie** : `{{Category}}`\n- **Assembly Code** : `{{assemblyCode}}`\n\nDeze waarde valt buiten de toegestane **weerstandsklassen (RC)** zoals vastgelegd in de Nederlandse normering.\n\n#### Oplossing\n\nCorrigeer de waarde van **`NLRS_C_weerstandsklasse`** :\n\n1. Open de eigenschappen van het element (Type)\n2. Vul één van de geldige weerstandsklassen in: **1 t/m 6**\n3. Gebruik uitsluitend numerieke waarden, zonder tekst of toevoegingen\n\n#### Uitleg\n\nDe parameter **`NLRS_C_weerstandsklasse`** beschrijft de mate van **inbraakwerendheid** van een bouwdeel\nvolgens de **weerstandsklasse-indeling (RC)** uit **NEN 5096** .\n\nHet consistent toepassen van deze klassen is essentieel voor:\n- veiligheidsanalyses\n- bestekken en contractspecificaties\n- correcte IFC-export en gegevensuitwisseling\n\nAfwijkende of ongeldige waarden leiden tot interpretatiefouten en onbetrouwbare toetsing.\n\n> Zie ook:  \n> - **NEN 5096**  \n> - Politie Keurmerk Veilig Wonen",
    "Properties": [
      {
        "Name": "valueToValidate",
        "Value": {
          "Type": "querySelector",
          "Properties": [
            {
              "Name": "query",
              "Value": "NLRS_C_weerstandsklasse",
              "Type": "list"
            }
          ]
        }
      },
      {
        "Name": "Validator",
        "Value": {
          "Type": "value",
          "Properties": [
            {
              "Name": "value",
              "Value": "list:IsIn",
              "Type": "list"
            }
          ]
        }
      },
      {
        "Name": "expectedValue",
        "Value": {
          "Type": "staticListValueSelector",
          "Properties": [
            {
              "Name": "list",
              "Value": "1,2,3,4,5,6",
              "Type": "list"
            }
          ]
        }
      }
    ],
    "SubValidations": []
  },
  "Details": {
    "Name": "NLRS_C_weerstandsklasse",
    "Impact": 4,
    "Priority": 3,
    "Tags": [
      "4.8 Projectspecifiek"
    ],
    "Description": "Deze regel controleert of de parameter `NLRS_C_weerstandsklasse`\neen geldige weerstandsklasse (RC1 t/m RC6) bevat.\n\nDe controle is van toepassing op bouwkundige elementen met Assembly Codes\nin de 21- en 22-reeks, waarbij geen `Function`-parameter is opgegeven.\n\nHet correct vastleggen van de weerstandsklasse is noodzakelijk voor\ninbraakveiligheid, normtoetsing en betrouwbare gegevensuitwisseling\nconform NLRS en NEN 5096.\n",
    "HelpUrl": "https://help.daqs.io/NL/NLRS/NLRS_C_weerstandsklasse/?nav=false",
    "TimeToSolve": 5,
    "AllDisciplines": true,
    "Disciplines": []
  },
  "Metadata": []
}