ExecuteS3dFilter - Intergraph Smart 3D Web API - Customization & Programming - Hexagon PPM

Intergraph Smart 3D Web API Programmers Reference

Language
English (United States)
Product
Intergraph Smart 3D Web API
Subproduct
Smart 3D Web APIs
Search by Category
Customization & Programming
Smart 3D Version
12.1 (2019)

Executes an existing Smart 3D filter object and returns the resulting objects. The filter must exist in the Plant Filters or Catalog Filters folder in the Smart 3D database. The filter cannot be in My Filters. The URL to execute this action is similar to:

POST <ServiceRoot>/Sites('MySiteAlias')/Plants('MyPlant')/S3dFilters('{0000272E-0000-0000-0300-8F1F455B1706}')/Com.Ingr.Smart3d.V1.ExecuteS3dFilter

Where {0000272E-0000-0000-0300-8F1F455B1706} is the OID of the filter being executed. Smart 3D filters implement the Smart API Parametric Filters Protocol. Therefore, the body of this request must contain a JavaScript object that adheres to this protocol (empty "{}" if no parameters are required by filter). ODATA query options, aside from $filter, are supported on the ExecuteS3dFilter action; however, they go in the body of the POST action as declared by the protocol.

An example of parameters for executing a parametric filter that requires inputs for:

  • A value for the Approval Status property.

  • One or more Assembly parents.

  • One or more System parents.

  • One or more object types.

{

"queryExpression": "$filter=ApprovalStatus gt 0 and ApprovalStatus lt 8",

"objectHierarchies": [

{

"Name": "Assembly",

"ResourceIds": [

"Sites('Alias')/Plants('Plant')/AssemblyChildren('{oid}')"

]

},

{

"Name": "System",

"ResourceIds": [

"Sites('Alias')/Plants('Plant')/EquipmentSystems('{oid}')"

]

}

],

"objectTypes":[

"Com.Ingr.Smart3d.V1.BoltGroup",

"Com.Ingr.Smart3d.V1.EquipmentSystems"

]

}

The API uses a more efficient algorithm and your data is returned faster when ExecuteS3dFilter is invoked with a "$select=Id" queryExpression and no $expand or $orderby clauses.