Shared Parameters
Get Shared Parameter Name
$getSharedParamName := function($sharedParamId){
$$[type="Parameter" and id = $sharedParamId].name
};
Get Shared Parameter GUID
$getSharedParamGuid := function($sharedParamId){
$$[type="Parameter" and id = $sharedParamId].values.guid
};
Family Symbols and Instance
Deze regels verzameld alle Family Symbols en de eerste Instance van Families waarvan de naam begint met NLRS.
(
$getSharedParamName := function($sharedParamId){
$$[type="Parameter" and id = $sharedParamId].name
};
$getSharedParamGuid := function($sharedParamId){
$$[type="Parameter" and id = $sharedParamId].values.guid
};
$getFamilyName := function($ParentId){
$$[type="Family" and id = $ParentId].name
};
$getInstanceSP := function($parentId) {
$filter(
$[type = "FamilyInstance" and parent.id = $parentId][0].**[ref = "Parameter"],
function($p) {
$count($match($getSharedParamName($p.id), /^(eV|eE)/)) = 0
}
).{
"name": $getSharedParamName($.id),
"value": value,
"guid": $getSharedParamGuid($.id),
}
};
/*Only model family ids whose name start with NLRS */
$families := $[type = "Family" and values.isEditable = true and values.familyCategory.type = "Model" and $match(name, /^NLRS/)].id;
$allfamilysymbols := $[type = "FamilySymbol" and parent.id in $families].{
"id": id,
"type": type,
"name": name,
"familyname": $getFamilyName(parent.id),
"sp": $append($filter(**[ref = "Parameter"], function($p) {
$count($match($getSharedParamName($p.id), /^(eV|eE)/)) = 0
}).{
"name": $getSharedParamName($.id),
"value": value,
"guid": $getSharedParamGuid($.id),
},
$getInstanceSP(id))
}[$exists(sp)][];
)
Family Symbols and Instance except parameter with eV
```jsonata ( $getSharedParamName := function($sharedParamId){ $$[type="Parameter" and id = $sharedParamId].name }; $getSharedParamGuid := function($sharedParamId){ $$[type="Parameter" and id = $sharedParamId].values.guid };
$getInstanceSP := function($parentId) { $filter( $[type = "FamilyInstance" and parent.id = $parentId][0].**[ref = "Parameter"], function($p) { $count($match($getSharedParamName($p.id), /^(eV|eE)/)) = 0 } ).{ "name": $getSharedParamName($.id), "value": value, "guid": $getSharedParamGuid($.id), } };
$allfamilysymbols := $[type = "FamilySymbol"].{
"id": id,
"type": type,
"name": name,
"sp": $append($filter(**[ref = "Parameter"], function($p) {
$count($match($getSharedParamName($p.id), /^(eV|eE)/)) = 0
}).{
"name": $getSharedParamName($.id),
"value": value,
"guid": $getSharedParamGuid($.id),
},
$getInstanceSP(id))
}[$exists(sp)][];
)