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)][];

)