Describing the Environment Properties

This document provides you with the description of various properties and configurations of display and image attributes for 2D and 3D.

This page discusses:

We can define as many environments as needed for a server setup. Typically, these are ENOVIA X-BOM Engineering, ENOVIA Collaborative MultiCAD Management etc. An environment is basically a group of business types. The name of an environment is completely arbitrary.

For example:

3DLive.Environments = Engineering BOM Management, Designer Central (These will be listed as options in the Environment textbox of the Search interface)

There is one property for every environment that lists business types corresponding to this environment.

For example:

3DLive.Domains.Engineering_Central = type_Part,type_HardwarePart

3DLive.Domains.Designer_Central = type_CATProduct,type_CATPart

The above properties tell the system that the Engineering Central environment consists of two business types: Part and Hardware Part. Similarly, the X-CAD Design consists of CAT Product, CAT Part.

Note: The property value for each business type is actually the symbolic name of the type.

These types will be listed as options under the Object textbox when the specific environment is selected. For each type listed in the above property, the following sets of properties need to be clearly defined:

  • 3DLive.ExpandRelationshipPattern.<< environment >>.<< type >>
  • 3DLive.ExpandTypePattern.<< environment >>.<< type >>
  • 3DLive.ViewTable.<< environment >>.<< type >>
  • 3DLive.ImagePaths.<< environment >>.<< type >>
  • 3DLive.ImageFormats.<< environment >>.<< type >>
  • 3DLive.ThumbnailPaths.<< environment >>.<< type >>
  • 3DLive.ThumbnailFormats.<< environment >>.<< type >>

Expand Mechanism

This section explains the expand mechanism.

The first two properties in the above list influence how an expand is performed on that type. The first property (i.e. ExpandRelationshipPattern) defines the relationship pattern, whereas the second property (i.e. ExpandTypePattern) defines the type pattern used when performing expand operation on this type. For example: 3DLive.ExpandRelationshipPattern.Engineering_Central.type_Part = EBOM 3DLive.ExpandTypePattern.Engineering_Central.type_Part = *

The above properties tell the system that whenever any Part is expanded, consider ONLY EBOM relationships, and all the types (since ExpandTypePattern = *) for the expand operation.

If the value of this property is left blank, system will not perform expand operation on the objects of this type. Out of the box, CAD Drawing (and its subtypes) are configured this way.

3DLive.ExpandRelationshipPattern.Designer_Central.type_CADDrawing = Notice the naming convention for the property key uses the environment name with underscores substituted for spaces. Notice that the types are given using symbol names.

Display Attributes of an Object in X-CAD Design Connector

This section expains the attributes of an object displayed in X-CAD Design connector.

The third property defines (i.e. ViewTable) the configurable UI table to use for exposing attributes for the given type. Notice that the tables are given using symbol names. These are attributes that get displayed in the Search result interface as well as in Property dialog of the object.

Configuring the 3D Image Path for a Type

This section explains about configuring the 3D Image path for a type.

The fourth and fifth properties together define the navigation path, format to fetch the CGR file (3D image file) associated to the object of that type. Navigation path is basically, matrix path to reach the object that contains the CGR file that corresponds to the object at which we are looking. The value of this property (i.e. ImagePaths) can be a comma-separated string, in which each token is a navigation path to get the CGR file for the object type. System will search for CGR files starting from the first token, until it finds a CGR file till the last token. As soon as it finds a CGR file, it will ignore the rest of the navigation paths defined in this property. For example: 3DLive.ImagePaths.Engineering_Central.type_Part = $<to[relationship_ImageHolder].from.id>,\ $<from[relationship_PartSpecification].to.id>

The above property tells the system to get the CGR file for any object of the Part type by navigating the paths defined above. In other words, first try with the path "$<to[relationship_ImageHolder].from.id>. If it is not found, try with the path “$<from[relationship_PartSpecification].to.id>).

Note: For each navigation path defined in the above property (i.e. ImagePaths), there MUST be a corresponding format defined in the fifth property (i.e. ImageFormats).

The above two properties go together. System uses the path defined in the fourth property (i.e. ImagePaths) to reach the object. First system will split the value of this property into various distinct paths based on the comma separator. System will try to find an object for each of these tokens (each token is navigation path) until finds an object. Once an object is found for a path, then it uses the corresponding format to see if a file exists in it. If the file does not exist, system will continue its search for CGR file using the next navigation path defined in the ImagePaths property. If it finds one CGR file at any point during this operation, it will return the file, and stop looking further. If it does not find a CGR using any of the paths defined, the client will display a default image to the user.

Note: There is one-to-one mapping between the navigation path and formats (i.e. ImagePaths, ImageFormats). If the first property defines five navigation paths, there must be five formats defined in the second property. The system maps the first path to the first format, the second path to the second, etc.

Configuring the 2D Image Path for a Type

This section explains about configuring the 2D Image path for a type.

Sixth, seventh properties together define the navigation path, format to fetch the 2D file (thumbnail) associated to the object of that type. This can be a JPG or of PNG format. The mechanism to get this file using these properties is the same as for 3D files as explained in the section Configuring the 3D Image path for a type.

Configuring Variant Configuration Support

If you have installed the ENOVIA Variant Configuration product, you must add the object types supported by Variant Configuration to the X-BOM Engineering domains property in the emxSystem.properties file.

The supported object types are:

  • Product Configuration

  • Products

  • Hardware Product

  • Software Product

  • Service Product

  • Feature

For Variant Configuration support, the 3DLive.Domains.Engineering_Central property must contain the types supported by Variant Configuration. The emxSystem.properties file contains the following lines:

3DLive.Domains.Engineering_Central=type_Part,type_HardwarePart,type_SoftwarePart

#3DLive.Domains.Engineering_Central=type_Part,type_HardwarePart,type_SoftwarePart, type_ProductConfiguration,type_Products,type_HardwareProduct,type_ServiceProduct, type_SoftwardProduct,type_ConfigurableFeature

Out of the box, the first line is uncommented, and therefore is used to set the property. To configure the X-CAD Design connector to support the Variant Configuration types, simply:

  • comment out the first line by placing a # at the beginning of the line
  • uncomment the second line by removing the # from the beginning of the line

By commenting out the first line and uncommenting the second line, the second line is used to set the 3DLive.Domains.Engineering_Central property with the appropriate types for Variant Configuration.

Type Lookup by the System

This section the way the system carries out type lookup.

When you explore an object in the X-CAD Design connector, the system will try to get the 3D image that corresponds to the object using the ImagePath property as mentioned in the above section. However, if that property is not defined for that particular type, it will look for a similar property for its parent type until it finds one, all the way up the type hierarchy. For example, let us assume you are exploring the object Hardware Part HP1 A. To get the 3D image file, the system will look for the following property definition: 3DLive.ImagePaths.Engineering_Central.type_HardwarePart

If the above property is not defined in theemxSystem.property file, the system will get the parent type of Hardware Part and look for the same property definition for the parent type. In this case, Part is the parent type of Hardware Part so it will look for the following property: 3DLive.ImagePaths.Engineering_Central.type_Part. Once it finds a property defined in theemxSystem.property, it uses it for that type. This mechanism is the same for all properties related to a type i.e. ExpandRelationshipPattern, ExpandTypePattern, ViewTable, ImagePaths, ImageFormats, ThumbnailPaths, ThumbnailFormats.