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

Intergraph Smart 3D Web API Programmers Reference

Language
English
Product
Intergraph Smart 3D Web API
Subproduct
Smart 3D Web APIs
Search by Category
Customization & Programming
Smart 3D Version
12 (2018)

The Entities in the Smart 3D Web API EDM, and their organization, are based on the nodes in the Smart 3D Business Object Classification (BOC) with the non-leaf nodes acting as abstract Entities. Not all BOC nodes are represented as Entities. Some major reasons for exclusion:

  • Reference3D classes are not included.

  • Engineering Framework Design Basis classes are not included.

  • Classes that are defined in the UserDefinedPackage (UDP) are not included.

  • BOC nodes that represent only classes whose InToolSchema attribute is set to false are not included. Note that BOC nodes under Drawings, ShipDrawings Business Services, and PermissionGroup BOC are included even through the ToolSchema attribute is set to false.

  • Some BOC nodes represent classes that are also represented by another BOC node. In this case, only one of the nodes is included.

Some of the BOC node names have changed in the name of the corresponding Entity. For example:

  • Names that ended in "s" have been changed. This change is required as each Entity in the EDM has a corresponding Entity Set whose name is the Entity name with the addition of a "s" at the end.

  • Some names have changed to increase readability, such as removing abbreviations.

  • The EntityType “Representation” represents a 2D version of the 3D modelling object in a given Deliverable.

Note all BOC based Entities derive from the S3DItem base class, which is defined as:

<EntityType Name="S3dItem" BaseType="Com.Ingr.Core.V1.DynamicEdmEntityObject" Abstract="true" OpenType="true">

<Property Name="ClassName" Type="Edm.String" />

<Property Name="DateCreated" Type="Edm.DateTimeOffset" />

<Property Name="DateLastModified" Type="Edm.DateTimeOffset" />

<Property Name="UserCreated" Type="Edm.String" />

<Property Name="UserLastModified" Type="Edm.String" />

<Property Name="ApprovalStatus" Type="Edm.Int64" />

<Property Name="ApprovalReason" Type="Edm.Int64" />

<NavigationProperty Name="Plant" Type="Com.Ingr.Smart3d.V1.Plant" Nullable="false" ContainsTarget="true" />

<NavigationProperty Name="Notes" Type="Collection(Com.Ingr.Smart3d.V1.GeneralNote)" ContainsTarget="true" />

<NavigationProperty Name="HyperLinks" Type="Collection(Com.Ingr.Smart3d.V1.HyperLink)" ContainsTarget="true" />

<NavigationProperty Name="ControlPoints" Type="Collection(Com.Ingr.Smart3d.V1.ControlPoint)" ContainsTarget="true" />

<NavigationProperty Name="ToDoRecords" Type="Collection(Com.Ingr.Smart3d.V1.ToDoRecord)" ContainsTarget="true" />

<NavigationProperty Name="PermissionGroup" Type="Com.Ingr.Smart3d.V1.PermissionGroup" Nullable="false" ContainsTarget="true" />

</EntityType>

To determine the name of the Web API entity, the WebAPIClassMapping.xls spreadsheet that maps the Web API entity names to the name of Smart 3D class and the name of the corresponding 3DAPI class.

The S3dItem Entity base type is DynamicEdmEntityObject that has two properties: Id and ConcurrencyToken. Id contains the UID as described in Unique Identifier (UID). ConcurrencyToken is a generated property that is used to determine if the current object is up-to-date when performing Patch operations to update an object.

<EntityType Name="DynamicEdmEntityObject" Abstract="true" OpenType="true">

<Key>

<PropertyRef Name="Id" />

</Key>

<Property Name="Id" Type="Edm.String" Nullable="false" />

<Property Name="ConcurrencyToken" Type="Edm.String" />

</EntityType>