4.3 Dragend / niet dragend — NLRS_C_dragend == false
Niet-dragende bouwdelen (NLRS_C_dragend = false)
Deze regel controleert of expliciet niet-dragende bouwdelen correct zijn gemarkeerd met de shared parameter NLRS_C_dragend = false .
Selectielogica
Een element valt onder deze regel wanneer:
- De Assembly Code ondubbelzinnig een niet-constructieve functie aanduidt
(bijvoorbeeld afwerkingen of niet-dragende invullingen)
- De Revit-parameter structuralUsage = 'Other'
- Het element een Model category betreft
Normatieve uitgangspunten
Binnen de BIM Basis ILS is de Assembly Code leidend voor de classificatie dragend / niet-dragend .
De Revit-parameter structuralUsage wordt uitsluitend gebruikt als ondersteunende informatie en is niet normatief .
Wanneer de Assembly Code een niet-dragende functie beschrijft,
moet NLRS_C_dragend expliciet op false staan .
Waarom deze check?
Het expliciet vastleggen van niet-dragende elementen voorkomt:
- foutieve constructieve analyses
- verkeerde IFC-classificatie
- onjuiste hoeveelheden en rapportages
- interpretatieverschillen tussen disciplines
BIM Basis ILS – §4.3 Dragend / niet-dragend
https://www.digigo.nu/ilsen-en-richtlijnen/bim-basis-ils/
{
"Id": "58c9ce59-0cf6-4fe8-b267-a588da08164d",
"Filter": {
"Type": "queryFilter",
"Properties": [
{
"Name": "Query",
"Value": "(\n /* All relevant GUIDs in one place */\n $paramGuids := {\n \"NLRS_C_dragend\": \"35b4cefa-e13c-4a27-a91e-f7410a56cf70\",\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 $getSharedParam := function($object, $logicalName){\n (\n $guid := $lookup($paramGuids, $logicalName);\n $meta := $guid ? $lookup($paramMetaByGuid, $string($guid)) : undefined;\n $sp := $guid and $exists($object.values)\n ? $lookup($object.values, \"p_\" & $guid)\n : undefined;\n\n {\n \"exists\": $exists($sp),\n \"hasValue\": $exists($sp) ? $boolean($sp.hasValue) : false,\n \"value\": ($exists($sp) and $sp.hasValue) ? $sp.value : null,\n \"valueAsString\":\n ($exists($sp) and $sp.hasValue) ? $sp.valueAsString : null,\n \"guid\": $meta ? $meta.guid : $guid,\n \"name\": $meta ? $meta.name : $logicalName\n }\n )\n };\n\n\n /* AssemblyCode inclusion (full match) */\n $assemblyCodeIncluded := /^(11\\.1[03]|13\\.1[12]|22\\.14)$/i;\n\n /* Category Exclusion List OST names*/\n $CategoryExclusion = [\"OST_DetailComponents\"];\n \n /* Category filters based upon FamilySymbols */\n $symbols := $[type = \"FamilySymbol\" and values.category.type = \"Model\" and $not(values.category.label in $CategoryExclusion) and $string(values.assemblyCode) ~> $assemblyCodeIncluded];\n\n\n /* Index symbols by id */\n $symIndex := $merge($symbols.{$string(id): $});\n\n /* Main query over FamilyInstances */\n $[\n type = \"FamilyInstance\"\n and values.structuralUsage = \"Other\"\n and $exists(parent)\n ].(\n $sym := $lookup($symIndex, $string(parent.id));\n $sym ?\n {\n \"id\": id,\n \"type\": type,\n \"name\": name,\n\n \"assemblyCode\": $sym.values.assemblyCode,\n \"structuralUsage\": values.structuralUsage,\n\n \"NLRS_C_dragend\": $getSharedParam($, \"NLRS_C_dragend\"),\n\n }\n : ()\n )\n)",
"Type": null
}
],
"SubFilters": []
},
"Validation": {
"Type": "validation",
"Name": "NLRS_C_dragend false",
"ErrorMessage": "#### Issue\n\nOp basis van de **Assembly Code** wordt dit element beschouwd als **niet-dragend** .\nDaarom moet de waarde van **NLRS_C_dragend** expliciet op `false` staan.\n\n- **Assembly Code** : `{{assemblyCode}}`\n- **Verwachte waarde** : `{ExpectedValue}`\n- **Huidige waarde** : `{ActualValue}`\n\n#### Oplossing\n\n1. Controleer de **Assembly Code** deze duidt op een niet-constructief bouwdeel\n2. Open de **Type- of Instance-eigenschappen**\n3. Zet **NLRS_C_dragend** expliciet op `false`\n\n#### Uitleg\n\nDe Revit-parameter **structuralUsage** is niet normatief binnen de **BIM Basis ILS** .\n\nWanneer een Assembly Code expliciet een **niet-dragende functie** aanduidt, is **NLRS_C_dragend = false** vereist, ongeacht de interne Revit-interpretatie.\n\nDit voorkomt:\n- foutieve constructieve analyses\n- verkeerde IFC-classificatie\n- interpretatieverschillen tussen disciplines\n\n> BIM Basis ILS – §4.3 Dragend / niet-dragend \n> https://www.digigo.nu/ilsen-en-richtlijnen/bim-basis-ils/\n",
"Properties": [
{
"Name": "valueToValidate",
"Value": {
"Type": "querySelector",
"Properties": [
{
"Name": "query",
"Value": "NLRS_C_dragend.value",
"Type": "string"
}
]
}
},
{
"Name": "Validator",
"Value": {
"Type": "value",
"Properties": [
{
"Name": "value",
"Value": "string:IsEqualTo",
"Type": "string"
}
]
}
},
{
"Name": "expectedValue",
"Value": {
"Type": "staticValueSelector",
"Properties": [
{
"Name": "value",
"Value": "false",
"Type": "string"
}
]
}
}
],
"SubValidations": []
},
"Details": {
"Name": "NLRS_C_dragend == false",
"Impact": 4,
"Priority": 3,
"Tags": [
"4.3 Dragend / niet dragend"
],
"Description": "### Niet-dragende bouwdelen (NLRS_C_dragend = false)\n\nDeze regel controleert of **expliciet niet-dragende bouwdelen** correct zijn gemarkeerd met de shared parameter **NLRS_C_dragend = false** .\n\n#### Selectielogica\nEen element valt onder deze regel wanneer:\n\n- De **Assembly Code** ondubbelzinnig een **niet-constructieve functie** aanduidt \n (bijvoorbeeld afwerkingen of niet-dragende invullingen)\n- De Revit-parameter **structuralUsage = 'Other'**\n- Het element een **Model category** betreft\n\n#### Normatieve uitgangspunten\nBinnen de **BIM Basis ILS** is de **Assembly Code leidend**\nvoor de classificatie *dragend / niet-dragend* .\n\nDe Revit-parameter **structuralUsage** wordt uitsluitend gebruikt\nals ondersteunende informatie en is **niet normatief** .\n\nWanneer de Assembly Code een niet-dragende functie beschrijft,\nmoet **NLRS_C_dragend expliciet op `false` staan** .\n\n#### Waarom deze check?\nHet expliciet vastleggen van niet-dragende elementen voorkomt:\n\n- foutieve constructieve analyses\n- verkeerde IFC-classificatie\n- onjuiste hoeveelheden en rapportages\n- interpretatieverschillen tussen disciplines\n\n> BIM Basis ILS – §4.3 Dragend / niet-dragend \n> https://www.digigo.nu/ilsen-en-richtlijnen/bim-basis-ils/\n",
"HelpUrl": "https://help.daqs.io/NL/NLRS/NLRS_C_dragend/NLRS_C_dragend_verplicht/?nav=false",
"TimeToSolve": 10,
"AllDisciplines": true,
"Disciplines": []
},
"Metadata": [
{
"Label": "AssemblyCode",
"Selector": {
"Type": "querySelector",
"Properties": [
{
"Name": "query",
"Value": "values.assemblyCode",
"Type": null
}
]
}
}
]
}