Specification of what to show in the 3D viewer.

The ModelSpec controls what to show in the 3D Viewer. You specify which state(s)/time step(s) to show and which results to show. You can also specify a mode-shape animation.

The ModelDirectory contains the list of available results and states that can be set in the ModelSpec When calling changing state or result properties in this class it is checked against the ModelDirectory and an exception is thrown if any of the ids are invalid.

Example: Show the last state with a scalar result as filled contours.

// Get the model and the model directory from the RemoteModel
var modelDir = myModel.modelDirectory;
var modelSpec = myModel.modelSpec;

// Show the last state in the analysis
modelSpec.stateIdArray = [modelDir.stateInfoArray[modelDir.stateInfoArray.length - 1].id];

// Show the first scalar as filled contours (if any)
if (modelDir.scalarResultArray.length > 0) {
    modelSpec.fringesResultId = modelDir.scalarResultArray[0].id;


The id of the displacement result to use. A displacement result is a per node result that displaces the nodes in the model in every time step without redefining the elements.

Use the DisplacementSettings object to control the scaling of the displacements.

Set to -1 to show no displacements in the model.

The id of the scalar result to show as textured fringes (filled contours) on the model. Use the ScalarSettings object to control how the scalar will be shown (range, color scheme, number of levels)

Set to -1 (default) to show no scalars on the model.

Note: The scalar fringes result Id can be overridden per part with the setOverridePartFringesResultId() method.

The type of mode shape animation to create: Quarter, Half or Full (default).

The number of frames to use for a mode shape animation.

A mode shape animation is an animation where the displacements of each node is interpolated between the undisplaced and the displaced positions. To setup a mode shape animation you need to have a displacement result specified in displacementResultId and exactly one state specified in stateIdArray

Set to 0 (default) to not use mode shape animation.

Specifies if the scalars should be interpolated during a mode-shape animation or not.

Specifies that the complement of the current visible sets will be shown.

If this option is enabled, only the elements that are NOT present in any of the visible sets will be shown.

The Ids of the states to show. An animation will be created if there is more than one item in the array.

At least one state id must be specified in order to show the model.

Whether the rigid body transformation result should be used (if present).

Default is true.

The array of vector result ids to show as vector arrows on the model surface. Use the VectorSettings object to control how the vectors will be shown (color, scaling, filtering, clamping)

Set to [] (default) to show no vectors on the model. [-1] is interpreted as [] for convenience.

If the array is not empty, the given set ids will be used to define which elements are visible. The union of the elements in the specified visible sets will be considered visible.

You can show the complement of the visible set by setting the showComplementOfVisibleSets property to true.

Set to [] (default) to disable set filtering on the model. [-1] is interpreted as [] for convenience.



Gets the settings for this model spec as a Plain Old JavaScript Object (POJO).

Return type

getEffectiveFringesResultId, partId)

Returns the id of the scalar result shown on the given part. Will return fringesResultId if no override result was specified for the given part.

  • geometryIndex (number) –

  • partId (number) –

Return type


Use the ConstantRemoteModel.getResultInfo method to get information about the result.

getOverridePartFringesResultId, partId)

Returns the result id that is specified to override any global setting on the given part. If no override is provided, it will return -1.

  • geometryIndex (number) –

  • partId (number) –

Return type



Remove any overridden scalar fringes result ids for any parts.

Return type


All parts will after this follow the global setting ([[ModelSpec.fringesResultId]])


Applies the settings in the given properties object to this model spec.

  • props (Partial[]) –

Return type


setOverridePartFringesResultId, partId, fringesId)

Specify to show the given scalar result on the given part as scalar fringes.

  • geometryIndex (number) –

  • partId (number) –

  • fringesId (number) –

Return type


This overrides any global fringes setting for the given part.