Property definitions - HxGN SDx - Update 56 - Reference

HxGN SDx Schema Overview

Language
English
Product
HxGN SDx
Search by Category
Reference
SmartPlant Foundation / SDx Version
10

All property definitions for an object are exposed through its interface definitions and never directly by the object. The property definitions that apply to a particular interface definition are defined by the Exposes relationship between objects of type InterfaceDef and objects of type PropertyDef in the schema. A particular property definition for a given class definition is typically exposed by one, and only one, interface definition.

  • We recommend to limit the number of property definitions to 250 on an interface definition.

  • Use the IsRequired flag on the Exposes relationship to specify if the property is mandatory when an object instantiates the interface definition.

For example, the IObject interface definition exposes several property definitions including:

  • UID - Unique identifier for the object. This identifier is only required to be unique within the schema.

  • Name - Name of the object

  • Description - Description of the object

All objects in the schema have these properties because all class definitions realize the IObject interface definition.

Property types

Property types define the set of possible values for a property definition. The scoped by relationship definition specifies the property type that defines acceptable values, or scopes, a particular property definition. Every property definition is scoped by one and only one property type. All properties of that property definition must be of that property type.

SHARED Tip Use the IsRequired flag on the Scoped by relationship to specify if having a value is mandatory for a property.

Each property type is actually a class definition in the meta schema that realizes IPropertyType, which allows it to be a scoping property type for property definitions.

Basic varieties of property types in the schema include the following:

  • Boolean - Specifies that the property can have only one of two values: True or False.

  • DateTime - Specifies that the property is a date and time (yyyy/MM/dd-HH:mm:ss:fff).

  • Double - Specifies that the property is a double-precision floating point number.

  • EnumListLevelType - Specifies that the property definition is a special property type that is used to describe all enumerations at a given level in an enumeration hierarchy.

  • EnumListType - Specifies that property values are defined by an enumerated list. For more information about enumerated list types, see Enumerated lists.

  • Int - Specifies that property values for this property are integers.

  • JSON - Specifies that property values for this property are JSON data types.

  • String - Specifies that values for the property can contain alphanumeric strings with some punctuation, such as periods (.), underbars (_), question marks (?), and so on.

    Commas are automatically replaced with semicolons when entered in properties of type string.

  • UoMListType - Specifies that values for the property can be a numeric value (double) combined with a unit of measure from the appropriate unit of measure list, along with some optional criteria. For more information about unit of measure list types, see Units of measurement.

  • YMD - Specifies that the property value is a date (year, month, day).