Publish - Intergraph Smart 3D - Administration - Hexagon PPM

SmartPlant Enterprise SmartPlant Adapter for Smart 3D

Language
English
Product
Intergraph Smart 3D
Search by Category
Administration & Configuration
Smart 3D Version
12 (2018)

Smart 3D data is transformed to SmartPlant objects as follows:

  1. The update step: Publishable objects are created from Smart 3D objects and are stored in a data file. A graphics view file is also created. These files can be stored back to the Smart 3D database. Optionally, the xml and graphic files can be saved to a disk.

  2. The publish step: The data xml file and graphic file generated during the update step are sent to the SmartPlant Foundation server. The XML data is validated. The document that is currently being published to SmartPlant Foundation is compared with the previous version of the same document. The tool adapter is probed for the existence of all objects and relationships missing from the current document. Delete instructions are generated for all missing objects and relationships in the currently publishing data container.

Published data in SmartPlant Foundation can be viewed either in SmartPlant Markup Plus or in SmartPlant Review.

Publish Processing in Details

See the following for details of the publish processes.

Generating Objects List

  1. The Drawings component does a query using a specified filter. This query produces a list of objects.

  2. Expansion processing is done in a separate process to determine if all objects necessary for the update are in the list. This process involves checking relationship settings. A relationship setting can be one of the following:

    • RELATION_AND_OBJECT

    • RELATION_ONLY

    • Nothing

Generating XML Data

XML data is generated in a separate process using the updated object list. The container can be flushed during this process to keep the executable from running out of address space. Smart 3D commits will also be done during this time for the same reason. The process to generate XML has two options:

Place the document object in the container. If there are no objects in the list from step 2 above, this process is complete.

If objects appear in the updated list from step 2 above, do the following:

  • Sort each object into its class

  • Cache each object

Complete the following for each object:

  1. Determine class mapping. A MapClassDef must be mapped in the tool schema file for it to be processed.

    1. Search for a matching MapClassDef class.

    2. Once a MapClassDef is found, a check is made for a MapClassToClass mapping relation pointing to a ClassDef class.

    3. Once a mapping has been found, the ProcessClassCriteria property is checked to determine if there is a callback. The callback has three options.

      1. Change the mapping to specify a different ClassDef.

      2. Specify that the ClassDef is not to be published.

      3. Do nothing.

    4. Cache information about interface and property mapping to be used later.

  2. Process relations for each of the Smart 3D object instances.

    1. If the relation is SP3DCorrelationToDesignBasis on the Smart 3D object, create a SameAs relation and go to the next relation.

      1. Determine the SameAs relation by using the Sharing relation.

      2. If a callback is defined in the ProcessClassCriteria property, it is called to determine the SameAs relation.

    2. Search for a matching MapRelDef.

    3. Once a MapRelDef is found, a check is made for a MapRelDefToRelDef mapping relation pointing to a RelDef class.

    4. Once a mapping has been found, the ProcessRelCriteria property is checked to determine if there is a callback. The callback has five options.

      1. Change the origin ClassDef.

      2. Change the destination ClassDef.

      3. Change the RelDef.

      4. Specify that the relation is not to be published.

      5. Do nothing.

    5. If the RELATION_AND_OBJECT value is set on the relation, a check is made for the destination object. If it is not mapped in the tool schema, the relation is not publishable.

    6. At this point a check is made on the ProcessRelCriteria property for a SameAs callback. This callback determines if the relation should be converted to a SameAs relation.

      If the callback returns true, then a SameAs relation is created and the SameAs relation is determined as described above; otherwise, the relation is created as given.

  3. Process properties for each of the Smart 3D object instances.

    1. Create an instance of the ClassDef in the output container. For example, P3DEquipment.

    2. For each MapClassDef, follow the MapClassRealizesMapClass relation to determine which interfaces are realized by the MapClass.

    3. For each MapClass, follow the MapClassMapProperties relation to determine which properties are to be published. A special case is for I3DRange. This mapping is hard-coded, and there is not a mapping for it in the tool schema.

    4. For each MapPropertyDef in a MapPropertyToProperty relation, find the PropertyDef and the InterfaceDef that exposes it.

      If the InterfaceDef found is not realized by the ClassDef, then check the SelectClassCriteria property for information on what additional ClassDef objects to check. If a ClassDef and InterfaceDef object is given, use it for the property. If nothing is given, do not publish the property.

    5. Check the ProcessPropertyCriteria property to determine if there is a callback. The callback has four options.

      1. Change the value of the property.

      2. Specify that the property is not to be published.

      3. Do nothing.

      4. If the property is not mapped, it may be a type of property that is not mappable at this time. For example, the IJDPosition and IJDVector objects do not expose the individual properties so they cannot be mapped to x, y, and z (or i, j, and k). This callback processes them and produces the x, y, and z properties for the properties. If this callback produces output, then no more processing is done for the property.

        Smart 3D does not support .NET unmapped property callbacks.

    6. Create an instance of the InterfaceDef if it does not exist.

    7. Create an instance of the PropertyDef, and store the property using the property scoping.

  4. Process MapEdgeDef objects to specify additional property mappings. Once the property has been found it is processed as previously described. The SelectEdgeCriteria property is used to match a Smart 3D relation path with a MapEdgeDef path.

Generating Graphic View Data

Graphic view data is generated in a separate process.

  1. For each drawable object, get the graphics for each of the aspects specified.

    1. Nozzles are not drawable, but to query nozzles in SmartPlant Review or SmartPlant Foundation, they must be separate entities. Therefore, the software checks for nozzles in our object list. If one is found, then it forces it to be drawable so that it can be process separately and added to the output list.

    2. Apply style rules to each object.

    3. Add object to output list.

  2. Create the graphics view file. This file can have two formats.

    • ZVF format, which is a compressed streaming format. This file is published to SmartPlant Foundation along with the XML data file.

    • VUE format, which is one large file. This file goes directly to SmartPlant Review.