# ModelSpec

class `cee.ug.``ModelSpec`()

  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;
      }

Accessors

- `displacementResultId`
- `fringesResultId`
- `modeShapeAnimationType`
- `modeShapeFrameCount`
- `modeShapeInterpolateScalars`
- `showComplementOfVisibleSets`
- `stateIdArray`
- `useTransformationResult`
- `vectorResultIdArray`
- `visibleSetIdArray`

Methods

- `getAsProperties`
- `getEffectiveFringesResultId`
- `getOverridePartFringesResultId`
- `removeAllOverridePartFringesResultIds`
- `setFromProperties`
- `setOverridePartFringesResultId`

## Accessors

`ModelSpec.``displacementResultId`()

  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.

  Return type: | number

`ModelSpec.``displacementResultId`(resultId)

  Arguments: | resultId (`number`) – None
  Return type: | void

`ModelSpec.``fringesResultId`()

  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.

  Return type: | number

`ModelSpec.``fringesResultId`(resultId)

  Arguments: | resultId (`number`) – None
  Return type: | void

`ModelSpec.``modeShapeAnimationType`()

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

  Return type: | ModeShapeAnimationType

`ModelSpec.``modeShapeAnimationType`(animType)

  Arguments: | animType (`ModeShapeAnimationType`) – None
  Return type: | void

`ModelSpec.``modeShapeFrameCount`()

  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 we recommend 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.

  Note: Although we support switching results in the middle of a mode shape animation, we recommend to setup the desired (scalar, vector, displacement) results first and then setting the `modeShapeFrameCount`.

  Return type: | number

`ModelSpec.``modeShapeFrameCount`(frameCount)

  Arguments: | frameCount (`number`) – None
  Return type: | void

`ModelSpec.``modeShapeInterpolateScalars`()

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

  Return type: | boolean

`ModelSpec.``modeShapeInterpolateScalars`(interpolate)

  Arguments: | interpolate (`boolean`) – None
  Return type: | void

`ModelSpec.``showComplementOfVisibleSets`()

  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.

  Return type: | boolean

`ModelSpec.``showComplementOfVisibleSets`(showComplement)

  Arguments: | showComplement (`boolean`) – None
  Return type: | void

`ModelSpec.``stateIdArray`()

  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.

  Return type: | unknown

`ModelSpec.``stateIdArray`(stateIdsArr)

  Arguments: | stateIdsArr (`unknown`) – None
  Return type: | void

`ModelSpec.``useTransformationResult`()

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

  Default is true.

  Return type: | boolean

`ModelSpec.``useTransformationResult`(useTransformationResult)

  Arguments: | useTransformationResult (`boolean`) – None
  Return type: | void

`ModelSpec.``vectorResultIdArray`()

  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.

  Return type: | unknown

`ModelSpec.``vectorResultIdArray`(resultIdArray)

  Arguments: | resultIdArray (`unknown`) – None
  Return type: | void

`ModelSpec.``visibleSetIdArray`()

  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.

  Return type: | unknown

`ModelSpec.``visibleSetIdArray`(setIdArray)

  Arguments: | setIdArray (`unknown`) – None
  Return type: | void

## Methods

### getAsProperties

`ModelSpec.``getAsProperties`()

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

  Return type: | ModelSpecProperties

### getEffectiveFringesResultId

`ModelSpec.``getEffectiveFringesResultId`(geometryIndex, partId)

  Arguments: | geometryIndex (`number`) – None partId (`number`) – None

  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.

  Return type: | number

### getOverridePartFringesResultId

`ModelSpec.``getOverridePartFringesResultId`(geometryIndex, partId)

  Arguments: | geometryIndex (`number`) – None partId (`number`) – None

  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.

  Return type: | number

### removeAllOverridePartFringesResultIds

`ModelSpec.``removeAllOverridePartFringesResultIds`()

  Remove any overridden scalar fringes result ids for any parts.

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

  Return type: | void

### setFromProperties

`ModelSpec.``setFromProperties`(props)

  Arguments: | props (`Partial`) – None

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

  Return type: | void

### setOverridePartFringesResultId

`ModelSpec.``setOverridePartFringesResultId`(geometryIndex, partId, fringesId)

  Arguments: | geometryIndex (`number`) – None partId (`number`) – None fringesId (`number`) – None

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

  This overrides any global fringes setting for the given part.

  Return type: | void

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Envision for Web or choose a sample question below to start a conversation:

What is HOOPS Envision for Web?
What are the latest release notes for HOOPS Envision for Web?
How do I start evaluating HOOPS Envision for Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...