nVIZ Perceived Quality Plugin


Autodesk VRED provides two paths for maintaining plugins. Please identify the directory where you want to keep the nVIZ Perceived Quality Plugin. The paths are displayed in the VRED terminal window after launching VRED:

Download and execute the nVIZ Perceived Quality Plugin installer. After the installer has completed, you need to copy the two following files to your VRED plugins directory:

  • C:\Program Files\nVIZ\PerceivedQuality\nVIZ Perceived Quality.py
  • C:\Program Files\nVIZ\PerceivedQuality\nVIZ Perceived Quality.ui

License File and Config File

The plugin supports the import of gap/flush nominal values or configurations, part transformations or rotations and arbitrary combinations. The definition of which data to read from the Excel file and the interpretation of the gap/flush nomenclature are defined in the config file. nVIZ will provide you with a custom Excel file parser and with a config file to meet the specific PQ process in your organization. Please contact nVIZ to receive your license file and config file.

The license and config files need to be copied to the directory:

  • C:\Program Files\nVIZ\PerceivedQuality\

After installation, the nVIZ Perceived Quality Plugin can be launched from the context menu like any other VRED module – right mouse click on the Main Tool Bar or on the Quick Access Bar:

Perceived Quality Project

All the settings defined in a Perceived Quality review can be saved to a project file and reloaded from there. The file format is *.pqb

  • Open Project: Opens an existing PQ project. Windows Explorer will be launched when clicking the button.
  • Save Project: Saves all the PQ Plugin settings to a binary project file.
  • Export Project: Exports all the PQ Plugin settings to a XML file.

Perceived Quality Review Setup

Step 1: Measure Sections Data Import

The starting point for a Perceived Quality review is the import of the measure sections data stored in an Excel file. Typically this Excel file is generated from CAD and 3DCS data.

  • Read Measures File: The function will launch the Windows Explorer, allow you to select the Excel file and then start an external process to extract the measure sections data from the Excel file according to the config file.

The results of the measure sections import is written to a log file in the same directory as the imported Excel file:

  • C:\…\…\pq_<Time Stamp><Excel File Name>.log

After successful data import, the gaps/flushes are listed in the first list field.

Step 2: Assigning Part Names and Caching Panels

Next, you need to make sure that all part names are found in the VRED Scene Graph. When this is the case, the plugin will cache the vertices of all involved panels to be available for morphing.

  • Cache Panels: This function will parse the VRED Scene Graph for all the part names. Every gap/flush with two valid part names found will be high-lighted in green. If one or two part names are not found, the gap/flush will be high-lighted in red.

As long as you have red lines, the plugin cannot create the panel cache, i.e., you cannot continue. You then have two options to rectify this:

Option 1: Remove all gaps/flushes with missing or invalid part names:

  • Sweep All Measures: This function will remove all the red gaps/flushes from the list. After you have swept the list, click “Cache Panels” again. Then all lines should be green and the panel cache should be created … see below

Option 2: Manually assign the parts with missing or invalid names :

  • Select a red line
  • For any part with “invalidPath”, select the correct part in the VRED Render Window or in the VRED Scene Graph and then click the “>” button to reference the correct node to the part.
  • Repeat the two steps until all lines are high-lighted in green. Then click “Cache Panels” again.

If all parts are found in the VRED Scene Graph, i.e., all lines green, the plugin will create a cache with all panel vertices for morphing. This process will take some time. The progress is shown in the three progress bars at the bottom of the plugin.

If the process succeeds, you will see a success message in the VRED terminal window:

Step 3: Verifying Measure Section Data

  • Filter Measures by ID and Description: Sets a string filter on the measure section ID and description to find a specific gap/flush.
  • Highlight Parts: Highlights the parts related to the selected gap/flush.
  • Show Measure Points: Shows a red-green-blue triad for every selected measure point.
  • Show Direction Vector: Shows an arrow to indicate the direction of the measure point, i.e., the morphing of the gap value will deform the panel in this direction.
  • Show Morph Zone: Shows a red sphere to indicate the morphing zone, i.e., all vertices within the sphere will be subject to the morphing operation. Vertices outside of the spheres will not be morphed.

Creating gap and flush variants

Gap and flush variants, e.g.: min tolerance, max tolerance etc. are either imported from an Excel sheet or created in the plugin.

  • Add Sections Variant: This function will create a single variant or multiple variants of the selected gap/flush and add the variant(s) to the second list field. The variant(s) to be created are defined by the selection on the combo box next to the button.
  • All Predefined Variants: This option (at the bottom of the list in the combo box) will create all variants check marked on the options tab – see below:

Morphing a gap or flush

Target = predefined gap or flush variant

If you have created gap or flush variants from the list of predefined variants or have imported variants from an Excel sheet, you can directly morph these variants for high-end visualization.

  • Morph Selected: This function will morph the selected gap/flush (first list field) to the selected variant (second list field)
  • Unmorph All: This function will undo all panel deformations.

The target values for all measure sections along the selected gap/flush variant are listed in the third list field.

Target = custom gap or flush variant

To create a custom gap or flush variant, first add a sections variant with the nominal values. Then select one or multiple sections from the third list field, use the following spin boxes or sliders to define the target values and finally click the “Morph Selected” button.

  • Value at Measure Section: Defines the target gap value at the selected measure section.
  • Morph Radius: Defines the influence sphere for the morphing operation. All vertices within the influence sphere will be translated, vertices outside will not be affected.
  • Affect Part 1 / Part 2: Defines the ratio of the morphing target value to be applied to part 1 versus part 2 of the gap/flush. [100,0] will apply the complete deformation to part 1 and part 2 will remain undeformed. [50,50] will equally deform part 1 and part 2.

Part Transformations

Gap and flush are subject to panel deformations and panel transformations. Part translations and rotations can be imported from Excel files or defined in the plugin. In the Excel file, the translations can be specified in local coordinate systems and the rotations can be specified by rotation angle and local axis. The Excel parser will convert the values to the VRED 4×4 world transform matrix. The definition in the plugin requires the values of the VRED 4×4 world-transform matrix.

  • Add Part Transform: Creates a part transformation variant for the selected part.
  • Delete Part Transform: Deletes the selected part transform variant.
  • Morph Selected: Applies the selected part transform to the panel.
  • Unmorph All: Resets all the part transformations to their original values.


Assemblies are a combination of multiple gaps/flushes and multiple transformations. The assemblies definitions can be imported from an Excel sheet or defined in the plugin. To define an assembly in the plugin:

  • select a gap/flush from the first assemblies list field.
  • select the gap/flush variant from the combo box.
  • select the part 1 and part 2 transform variants from the combo boxes.
  • repeat the above three steps for each gap/flush to be part of the assembly.click “Add Assembly” – the assembly will be created and added to the second assemblies list fields. The assemblies listed in the second assemblies list field show one column per imported gap/flush with the defined variant of each gap/flush and part transforms in the brackets: [gap/flush variant, part 1 transform variant, part 2 transform variant].
  • use the Filter check boxes to reduce the list.
  • Measure Sections Variant: All measures sections variants previously defined on the “Measure Sections Variants” tab will be available in this combo box. Select a measures sections variant here.
  • Part 1 Transformation: All part 1 transformations previously defined on the “Part Transformations” tab will be available in this combo box. Select a part 1 transformation variant here.
  • Part 2 Transformation: All part 2 transformations previously defined on the “Part Transformations” tab will be available in this combo box. Select a part 2 transformation variant here.
  • Add Assembly: Creates an assembly of all gaps and flushes with the variants of gap/flush and part 1/2 transforms currently specified in the first assemblies list field. The created assembly will be added to the second assemblies list field, with one column per gap/flush showing the variant of [gap/flush, part 1 transform, part 2 transform]
  • Update Assembly: This function will update the selected assembly to the current selection (in assemblies list field 1) of all gap/flush variants, part 1 transform variants and part 2 transform variants.
  • Delete Assembly: Will delete the selected assembly.
  • Morph Selected: Will morph all gaps, flushes and part transforms to the selected assembly.
  • Unmorph All: Will undo all part deformations and part transformations and reset all panels to their original state.