4D sequence data source

4D sequence data source is a data source type which provides a sequence-based visualization for 3D objects in the model view. In essence, this works similarly to categorization-based visual styles, with time added in as a variable. Once configured, 4D sequences are found in the model view the same way as visual styles.

4D sequences are only available in eShare App.

Creating a 4D sequence data source

Create a 4D sequence data source to enable users to easily visualize progress and changes to objects in 3D view.

Prerequisites

  • The project contains a database adapter that can connect to the database that contains the sequence information. See Creating a database adapter if needed.

Do the following:

  1. Navigate to the project to edit, and then click Project Admin in the main menu. The project administration view opens.

  2. Click Adapters and Data Sources. The Adapters and Data Sources configuration view opens.

  3. On the Adapters list, click the database adapter to which to add the data source.

  4. In the adapter settings, click Add data source, select the data source type Database 4D Sequence Data Source, and then click Create data source.

  5. In the Data Source section, specify the following settings:

    • Name – Enter a name for the data source.

    • Description (optional) – Enter a description for the data source.

    • State – Specify whether the data source is disabled or enabled (default).

  6. In the Groups allowed to see the data section, select user groups that should be allowed to see the data that this data source provides.

    • If no groups are selected, only administrators will see the data.

    • Add user groups with Add.

    • Remove user groups with the remove button.

    • If the All Users group is selected, other group selections will be ignored.

  7. The Adapter Configuration section is read-only.

  8. Specify the Data Source Configuration settings:

    • Excluded object visibility state – This setting defines what should happen to the visibility of model objects in the 4D sequence which do not have an initial category.

      • Do not change (default) – The visibility of any model objects without an initial category will not be changed.

      • Show all objects – Every single model object without an initial category is made visible automatically before starting the animation.

      • Hide all objects – Every single model object without an initial category will be automatically hidden before starting the animation.

    • 4D step type – This setting defines what data type is used when determining the steps for the sequence.

      • Text – A string-based value from the database is used to determine the names of the steps, which need to be manually added and arranged in the configuration.

        If you select Text, see the following:

      • Time (default) – A datetime-based value from the database is used to generate the steps.

        If you select Time, specify the following:

    • Conflict resolution – This setting specifies the behavior (coloring) of 3D model objects, which return multiple categories in the queries.

      • First Category (default) – The object will have the color of the first matching category (ie. topmost in the configuration).

      • Last Category – The object will have the color of the last matching category (ie. undermost in the configuration).

    • Queries – In this section queries to fetch data from the database are defined. The configuration needs at least one query to be operational. Click Add query and define the tags and the database query to use:

      • In the Tags field, specify which tags in the model should match the query results. In the simplest case, the query returns values of a single tag.

        It is also possible to enter multiple tags as a comma-separated list, or use compound tags that combine the values of several tags.

        Do not use group tags in categorization. Instead, use the tag that the members of the group have. For example, use pli instead of [pli].

      • In the Query field, specify the SQL query to select the columns to be picked for the 4D sequence. Pick the columns in this order:

        • The value used for categorization

        • The time- or text-based value to determine which step the row belongs in

        • As many values as are needed for the Tags section.

        This is an SQL query that returns a number of rows, one row for each model entity for which a category is defined. The query should do a SELECT into the database and return the category as the first column, followed by a column for each tag that is needed to identify the model items.

    • Categories – Create the categories that should be available to users in the 3D model viewer. You can create a new category manually (click Add category) or generate categories by running the database query (click Refresh).

      The Case sensitivity setting specifies if the value column in the defined categories is expected to be case-sensitive when matching the values to the found values. Case sensitivity does not affect fields that use ranges or regexes (they are always case sensitive).

      The Show to user setting specifies what categories are displayed to the user in the visual style drop-down menus.

      • If set to Listed categories, the user will only see the categories that are defined in this view.

      • If set to All categories, the system will create a category for each value that is not defined in this view, and the user will see both manually configured and automatically generated categories. Because these dynamic categories are created on-the-fly and not saved, the color that is assigned to them in visual style might change if the values change.

      Note: The categories and member counts here are for ALL the steps in the 4D sequence. All the categories are not necessarily in the same steps, but they are all shown and defined here.

  9. Specify the settings of each category:

    1. Value – The internal category name. This should match a value that the database query returns. Note that it is also possible that the query returns empty/undefined values.

    2. Display Value – This is the name that the users see. If left empty, the Value field is shown to users instead.

      You can define a display name for categories for which the database query returns an empty value for Value field. By default their display name is [Empty], and also null values and values that only consist of white space are handled in the same way.

    3. Color – If Visual Style is enabled, use the Color tool to pick an appropriate highlight color for categories returned by the query. All categories that are generated by running the query are set to red color by default.

    4. Color Transparency – Set the color transparency of the color.

    5. Members – Displays the number of matching items in the query result.

    Example category configuration:

    Note: If the model contains objects that have no matching tags or objects that do not exist in the database, they will be listed as Uncategorized in the model viewer.

  10. You can drag the rows to specify the order in which the categories are to be listed in the model viewer, or click the delete button to delete a category that is not needed.

  11. After defined queries have been executed at least once by selecting Refresh or Query for Steps, the Found 4D Sequencing Data is shown. The table has three columns displaying the 4D-related data found from the database.

    • Found step – The name of the step found. These should be in the order of the animation (unless you change the configuration and do not execute the queries again). If the name is in cursive, the found step is NOT part of the 4D sequence.

    • Number of categories – Tells the number of different categories that have a change in objects during this step.

    • Number of objects – Tells the number of objects that change category during this step.

  12. Click Save.

Multiple tags in categorization data sources

The database that a categorization data source connects to might contain different types of objects that use a variety of tags to store values that can be seen as belonging to the same category. For example, you might want to create a query that finds all objects that have any kind of position id. In this case, you must define multiple tags for the query, and an object will be included in a category if it has any of those tags and the value of the tag matches the category name.

In the Tags field, you define multiple tags by entering each tag on separate line.

For example, if the query is to be matched against the four commonly used position id tags, namely Valve Position (vpo), Instrument Position (ipo), Equipment Position (.n5), and Structural Position (.no), the Tags definition would be:

vpo
ipo
.n5
.no

A query that looks for multiple tags basically functions in the same way as a query that looks for a single tag in that the system compares the query results to each tag separately.

Compound tags in categorization data sources

Some objects in a 3D model cannot be uniquely identified by a single tag, and a combination of tags must be used instead. You can define a compound tag in the Tags field of a categorization data source by entering the required tags as a comma-separated list.

For example, piping spools created with CADMATIC Plant Modeller can be identified by the combination of Isometric Drawing Number (Idn) and Spool Number (spn), and the Tags definition would be:

Idn, spn

A compound tag should only contain tags that are needed to identify the object. All values that the database query returns must match the tag combination, and adding unnecessary tags can have a negative impact on system performance.

You can even include multiple compound tags in a single Tags definition. Each subset must be entered on a separate row and consist of the same number of individual tags.

For example, if the first compound tag is Idn, spn, any additional compound tags must consist of two tags as well. If we add a second compound tag that is based on Pipeline (pli) and Spool Number (spn), the Tags definition would be:

Idn, spn
pli, spn

When using compound tags, the database query needs to refer to one column per included tag, instead of just a single column.

For example, if Isometric Drawing Number (Idn) and Spool Number (spn) are used to form a compound tag, the query could be something like this:

Tags: Idn, spn

Query: SELECT Status, ModificationTime, DrawingNumber, SpoolNumber FROM SpoolTable