Request

Response

    Autodesk.Viewing

    Viewer3D

    new Viewer3D(container, config)

    Base class for all viewer implementations. It contains everything that is needed to connect to the Autodesk Platform Services and display 2D and 3D models. It also includes basic navigation support, context menu and extension APIs.

    Parameters

    Expand all
    container*
    HTMLElement
    The viewer container.
    config*
    ViewerConfig
    The initial settings object.
    startOnInitialize
    boolean
    Set this to false if you want to defer the run to a later time by calling run() explicitly.
    theme
    string
    Set this to ‘light-theme’ if you want to use the light ui theme. Themes can be changed during execution by calling setTheme() and passing the theme’s name.
    localStoragePrefix
    string
    The local storage prefix for viewer.
    profileSettingssettings object to override the default viewer settings: Autodesk.Viewing.ProfileSettings.Default.
    useFileProfile
    boolean
    if set to true one of the registered file profiles will be used to set the profile. Otherwise, the viewer uses the default profile.
    * Required

    Properties

    ViewerCount
    Need to keep track of viewers in document so we know when it is safe to call clearPropertyWorkerCache()
    kDefaultCanvasConfig
    Default values passed into #setCanvasClickBehavior specifying how the viewer canvas will react to user input as well as other 3d-canvas related options.
    scene
    The extra scene that gets rendered after the background and before any models are rendered. See Viewer3DExtraScene
    sceneAfter
    The extra scene that gets rendered after all models are rendered. See Viewer3DExtraScene

    Methods

    loadExtension(extensionId, options)

    Loads the extension with the given id and options.

    Parameters

    extensionId*
    string
    The string id of the extension.
    options*
    Object
    An optional dictionary of options.
    * Required

    Returns

    typedescription
    Promise
    • Resolves with the extension requested.

    getExtension(extensionId, callback)

    Returns the loaded extension.

    Parameters

    extensionId*
    string
    The string id of the extension.
    callback
    function
    That receives an extension instance as argument.
    * Required

    Returns

    typedescription
    Object
    • Extension.

    getExtensionAsync(extensionId)

    Returns a promise with the loaded extension.

    Parameters

    extensionId*
    string
    The string id of the extension.
    * Required

    Returns

    typedescription
    Promise
    • Resolves with the loaded extension.

    unloadExtension(extensionId)

    Unloads the extension with the given id.

    Parameters

    extensionId*
    string
    The string id of the extension.
    * Required

    Returns

    typedescription
    boolean
    • True if the extension was successfully unloaded.

    loadExtensionLocal(extensionId, options)

    Loads the extension with the given id and options. For internal use only.

    Parameters

    extensionId*
    string
    The string id of the extension.
    options*
    Object
    An optional dictionary of options.
    * Required

    Returns

    typedescription
    Promise
    • Resolves with the extension requested.

    forEachExtension(callback)

    Iterate over each extension that has been successfully loaded and invokes a callback function for them.

    Parameters

    callback*
    function
    That receives an extension instance as argument.
    * Required

    Examples

    forEachExtension(function(ext){
        console.log(ext.id);
     })
    

    start(url, options, onSuccessCallback, onErrorCallback, initOptions)

    Initializes the viewer and loads any extensions specified in the constructor’s config parameter. If the optional parameters are specified, the start() function will use an optimized initialization sequence that results in faster model load. The parameters are the same as the ones for Viewer3D.loadModel and you do not need to call loadModel subsequently if the model is loaded via the call to start().

    Parameters

    url
    string
    Optional URN or filepath to load on start.
    options
    object
    Optional path to shared property database.
    onSuccessCallback
    Autodesk.Viewing.Viewer3D~onLoadModelSuccess
    Method that gets called when initial loading is done and streaming starts.
    onErrorCallback
    Autodesk.Viewing.Viewer3D~onLoadModelFailure
    Method that gets called when initial loading ends with an error.
    initOptions
    object
    Optional: Options forwarded to viewer.initialize()

    Returns

    typedescription
    number 0 if the viewer has started, an error code (same as that returned by initialize()) otherwise.

    setUp(config)

    Loading extensions and initializing canvas interactions. Invoked automatically by Autodesk.Viewing.Viewer3D#start method.

    Parameters

    Expand all
    config
    object
    configuration values
    extensions
    Array.<string>
    List of extension ids to load with the model.
    canvasConfig
    object
    Overrides for click/tap events on the 3D canvas. Refer to #setCanvasClickBehavior for details.

    tearDown(isUnloadModelsWanted)

    Unloads extensions and the loaded models. Invoked automatically by Autodesk.Viewing.Viewer3D#finish method.

    Parameters

    isUnloadModelsWanted
    boolean
    Whether to unload models at the end. Default is true.

    _onAggregatedSelectionChanged()

    When selection has changed set the pivot point to be in the middle, if Autodesk.Viewing.Private.Prefs3D.SELECTION_SETS_PIVOT is true

    run()

    Triggers the Viewer’s render loop. Invoked automatically by Autodesk.Viewing.Viewer3D#start method. Refer to ViewerConfig.startOnInitialize to change start’s method behavior.

    localize()

    Localize the viewer. This method can be overwritten so that the subclasses can localize any additional elements. Invoked internally during initialization.

    uninitialize()

    Removes all created DOM elements, performs GL uninitialization that is needed and removes event listeners.

    finish()

    Unloads any loaded extensions and then uninitializes the viewer.

    loadModel(url, options, onSuccessCallback, onErrorCallback)

    Loads a model into the viewer. Can be used sequentially to load multiple 3D models into the same scene.

    Parameters

    Expand all
    url*
    string
    The url to the model.
    options
    object
    Dictionary of options.
    fileLoaderThe file loader to use for this url. Required for unsupported file types.
    keepCurrentModels
    boolean
    Flag indicating whether viewer should keep or unload all other models.
    loadOptions
    object
    May contain params that are specific for certain loaders/filetypes.
    sharedPropertyDbPath
    string
    Optional path to shared property database.
    ids
    string
    A list of object IDs to load.
    loadAsHidden
    boolean
    By default, a new model is instantly shown and triggers viewer refreshes during loading. Setting this option avoids that. The model can then be shown later by calling showModel().
    modelNameOverride
    string
    Allows host application to override model name used in UI.
    placementTransform
    LmvMatrix4
    Applied to the model during loading.
    applyScaling
    string, Object
    Unit-Scaling that is applied to the model on load, e.g. { from: ‘ft’, to: ‘m’ }. If ‘from’ is not set, it is determined from model metadata (if provided). If only ‘to’ is set, you can just assign a string directly, e.g. applyScaling = ‘m’ is the same as applyScaling = { to: ‘m’ }.
    applyPlacementInModelUnits
    boolean
    Only relevant if options.placementTransform and options.applyScaling are both used at once. In this way, it controls the order in which placement and scaling happen: - False: Placement happens in viewer world-units. That is, applyScaling is done first, then the custom placementMatrix is applied. (Default behavior) - True: Placement happens in model units. That is, custom placementMatrix is applied first, then the unit scaling.
    onSuccessCallback
    Autodesk.Viewing.Viewer3D~onLoadModelSuccess
    A method that gets called when model’s metadata loading is done and geometry streaming starts.
    onErrorCallback
    Autodesk.Viewing.Viewer3D~onLoadModelFailure
    A method that gets called when loading fails.
    * Required

    isLoadDone(include)

    Check whether models are completely loaded This method checks all models in the model queue and load requests that haven’t loaded the root model yet. A model is completely loaded when the root model is loaded, all of the geometry is loaded, the property database, if present is loaded and no textures are being loaded.

    Parameters

    Expand all
    include
    Object
    Optional object to set the scope of the wait
    geometry
    Boolean
    Set to false to exclude the geometry loading from consideration. Because textures are loaded with geometry, include.textures must also be set to false to prevent geometry from being considered. Defaults to true.
    propDb
    Boolean
    Set to false to exclude the property data base loading from consideration. Defaults to true.
    textures
    Boolean
    Set to false to exclude the texture loading from consideration. Defaults to true.
    hidden
    Boolean
    Set to true to include hidden models for consideration. Defaults to false.
    onlyModels
    Model, Array.<Model>
    Limits the check to the model or models in this property. Note that checking for textures loaded cannot be limited to models.

    Returns

    typedescription
    Boolean True if all models are completely loaded, otherwise false

    waitForLoadDone(include)

    Wait for models to be completely loaded This method checks all models in the model queue and load requests that haven’t loaded the root model yet. A model is completely loaded when the root model is loaded, all of the geometry is loaded, the property database, if there is one, is loaded and no textures are being loaded. If this method is called before the viewer is started, then it will wait until the viewer starts and at least one model start loading to check for the load completing

    Parameters

    Expand all
    include
    Object
    Optional object to set the scope of the wait
    geometry
    Boolean
    Set to false to exclude the geometry loading from consideration. Because textures are loaded with geometry, include.textures must also be set to false to prevent waiting for geometry to load. Defaults to true.
    propDb
    Boolean
    Set to false to exclude the property data base loading from consideration. Defaults to true.
    textures
    Boolean
    Set to false to exclude the texture loading from consideration. Defaults to true.
    hidden
    Boolean
    Set to true to include hidden models for consideration. Defaults to false.
    onlyModels
    Model, Array.<Model>
    Limits the wait to the model or models in this property. Note that waiting for textures loaded cannot be limited to models.

    Returns

    typedescription
    Promise resolves when all models are loaded. This promise can be rejected by a LOADER_LOAD_ERROR_EVENT event.

    unloadModel(model)

    Unloads the specified model. Reference Autodesk.Viewing.Viewer3D#hideModel to hide the model.

    Parameters

    model*The model to unload.
    * Required

    loadDocumentNode(avDocument, manifestNode, options)

    Parameters

    avDocument*The Document instance, which owns the model being loaded
    manifestNode*The specific manifest node to load (within the Document)
    options
    ViewerConfig
    Options to pass to Autodesk.Viewing.Viewer3D#loadModel. Will be initialized internally if not specified. The options object will be augmented by automatically determined load parameters.
    * Required

    Returns

    typedescription
    Promise
    • Resolves with an object representing the model.

    unloadDocumentNode(manifestNode)

    Unloads a model previously loaded by loadDocumentNode().

    Reference Autodesk.Viewing.Viewer3D#loadDocumentNode

    Parameters

    manifestNode*The specific manifest node to unload (within the Document)
    * Required

    Returns

    typedescription
    boolean
    • true on success

    getDimensions()

    Returns the dimensions of the WebGL canvas.

    Returns

    typedescription
    object Client rectangle bounds object { width:Number, height: Number }

    resize()

    Resizes the viewer. Required when wrapping div changes dimensions due to CSS changes.

    getHotkeyManager()

    Returns

    typedescription
    Autodesk.Viewing.HotkeyManager The hotkey manager.

    getCamera()

    Gets the camera so it can be modified by the client.

    Returns

    typedescription
    THREE.Camera The active camera.

    getState(filter)

    Gets the view state as a plain object. A viewer state contains data for the viewport, selection and isolation.

    Reference Autodesk.Viewing.Viewer3D#restoreState

    Parameters

    filter
    object
    Specifies which viewer values to get.

    Returns

    typedescription
    object Viewer state.

    restoreState(viewerState, filter, immediate)

    Restores the viewer state from a given object.

    Reference Autodesk.Viewing.Viewer3D#getState

    Parameters

    viewerState*
    Object
    filter
    Object
    Similar in structure to viewerState used to filter out values that should not be restored.
    immediate
    boolean
    Whether the new view is applied with (true) or without transition (false).
    * Required

    Returns

    typedescription
    boolean True if restore operation was successful.

    setView(viewNode, options)

    Loads a view specified in the Manifest JSON. For 3D models it will use the camera values. For 2D models it will use the viewBox values.

    Notice that in order that the view will be properly set according to the model’s transformation, the model has to be loaded first.

    Parameters

    Expand all
    viewNode*bubble node representing the view
    options
    Object
    skipTransition
    boolean
    true to apply instanstly instead of lerping.
    useExactCamera
    boolean
    whether any up vector adjustment is to be done (to keep head up view)
    skipViewpointExtra
    boolean
    true to skip using extra viewpoint information
    * Required

    Returns

    typedescription
    boolean true, if the view is applied.

    setViewFromArray(params)

    Sets the view from an array of parameters.

    To get the view array of the current camera use: getViewArrayFromCamera. To get the camera object from the view array use getCameraFromViewArray.

    Parameters

    params*
    Array.<Number>
    View parameters: [position-x, position-y, position-z, target-x, target-y, target-z, up-x, up-y, up-z, aspect, fov (radians), orthoScale, isPerspective (0=perspective, 1=ortho)]
    * Required

    getCameraFromViewArray(params, model)

    Returns an object representing a Camera from an unintuitive array of number. Note: To use this function in multi-model scenarios, you must pass the model parameter.

    To get the view array of the current camera use: getViewArrayFromCamera.

    Parameters

    params*
    Array.<Number>
    Array with 13 elements describing different aspects of a camera.
    modelCamera is transformed in the same way as the model. Default is this.model (only sufficient for single-view scenarios).
    * Required

    Returns

    typedescription
    Object, null
    • Camera object, or null if argument is invalid or missing.

    getViewArrayFromCamera()

    Returns an Array of values that could be inserted back into a manifest to represent a view. To get the camera object from the view array use getCameraFromViewArray.

    Returns

    typedescription
    Array.<Number>
    • Array with 13 elements describing different aspects of the current camera.

    setViewFromViewBox(viewbox, name, skipTransition)

    Sets the view from an array representing a view box.

    Not applicable to 3D.

    Parameters

    viewbox*
    Array.<Number>
    View parameters: [min-x, min-y, max-x, max-y]
    name
    string
    Optional named view name to also set the layer visibility state associated with this view.
    skipTransition
    boolean
    true to apply instanstly instead of lerping.
    * Required

    activateLayerState(stateName)

    Changes the active layer state. Layers is a feature usually available on 2D models and some 3D models.

    Reference Autodesk.Viewing.Viewer3D#getLayerStates

    Parameters

    stateName*
    string
    Name of the layer state to activate.
    * Required

    getLayerStates()

    Returns information for each layer state: name, description, active. Activate a state through Autodesk.Viewing.Viewer3D#activateLayerState.

    Returns

    typedescription
    Array.<Object>, null
    • Array of layer states. If layers don’t exist or are hidden, this methods returns null.

    setViewFromFile(model)

    Sets the view using the default view in the source file.

    Parameters

    modelThe model, defaults to the loaded model.

    getProperties(dbid, onSuccessCallback, onErrorCallback)

    Gets the properties for an ID.

    Parameters

    dbid*
    number
    The database identifier.
    onSuccessCallbackCallback for when the properties are fetched.
    onErrorCallbackCallback for when the properties are not found or another error occurs.
    * Required

    getObjectTree(onSuccessCallback, onErrorCallback)

    Gets the viewer model object tree. Once the tree is received it will invoke the specified callback function.

    You can use the model object tree to get information about items in the model. The tree is made up of nodes, which correspond to model components such as assemblies or parts.

    Parameters

    onSuccessCallbackSuccess callback invoked once the object tree is available.
    onErrorCallbackError callback invoked when the object tree is not found available.

    setCanvasClickBehavior(config)

    Sets the click behavior on the canvas to follow config. This is used to change the behavior of events such as selection or Center-of-Interest changed.

    Parameters

    config*
    object
    Parameter object that meets the above layout.
    * Required

    Examples

     {
         "click": {
             "onObject": [ACTIONS],
             "offObject": [ACTIONS]
         },
         "clickCtrl": {
             "onObject": [ACTIONS],
             "offObject": [ACTIONS]
         },
         "clickShift": {
             ...
         },
         "clickCtrlShift": {
             ...
         },
         "disableSpinner": BOOLEAN
         "disableMouseWheel": BOOLEAN,
         "disableTwoFingerSwipe": BOOLEAN
    }
    
    Show More

    Actions can be any of the following: “selectOnly”, “selectToggle”, “deselectAll”, “isolate”, “showAll”, “setCOI”, “focus”, “hide”


    search(text, onSuccessCallback, onErrorCallback, attributeNames, options)

    Searches the elements for the given text. When the search is complete, the callback onResultsReturned(idArray) is invoked.

    Parameters

    Expand all
    text*
    string
    The search term (not case sensitive).
    onSuccessCallback*Invoked when the search results are ready.
    onErrorCallback*Invoke when an error occured during search.
    attributeNames
    Array.<string>
    Restricts search to specific attribute names.
    options
    Object
    Search options.
    searchHidden
    boolean
    Set to true to also search hidden properties
    includeInherited
    boolean
    Set to true to include nodes that inherit the property
    * Required

    getHiddenNodes(model)

    Returns an array of the IDs of the currently hidden nodes. When isolation is in place, there are no hidden nodes returned because all nodes that are not isolated are considered hidden.

    Parameters

    modelModel object, if passed in the hidden nodes of the model are returned

    Returns

    typedescription
    Array.<number> Array of nodes that are currently hidden, when no isolation is in place.

    getIsolatedNodes(model)

    Returns an array of the IDs of the currently isolated nodes.

    Not yet implemented for 2D.

    Parameters

    modelModel object, if passed in the isolated nodes of the model are returned

    Returns

    typedescription
    Array.<number> Array of nodes that are currently isolated.

    isolate(node, model)

    Isolates one of many sub-elements. You can pass in a node or an array of nodes to isolate. Pass in null to reset isolation.

    Parameters

    node*
    Array.<number>, number
    A node ID or array of node IDs from the model tree BaseViewer#getObjectTree.
    modelthe model that contains the node id. Defaults to the first loaded model.
    * Required

    setBackgroundColor(red, green, blue, red2, green2, blue2)

    Sets the background colors, which will be used to create a gradient. Values are in the range [0..255]

    Parameters

    red*
    number
    green*
    number
    blue*
    number
    red2*
    number
    green2*
    number
    blue2*
    number
    * Required

    setBackgroundOpacity(opacity)

    Sets the background opacity.

    Parameters

    opacity*
    number
    Value is in the range [0.0..1.0]
    * Required

    toggleSelect(dbid, model, selectionType)

    Toggles the selection for a given dbid. If it was unselected, it is selected. If it was selected, it is unselected.

    Currently three ways of node selection are supported:

    • Autodesk.Viewing.SelectionType.MIXED

      • Leaf nodes are selected using the overlayed selection type, and inner nodes are selected using regular selection type.
    • Autodesk.Viewing.SelectionType.REGULAR

      • Nodes are tinted with the selection color.
    • Autodesk.Viewing.SelectionType.OVERLAYED

      • Nodes are tinted with the selection color and shown on top of the not selected geometry.

    Not yet implemented for 2D.

    Parameters

    dbid*
    number
    modelthe model that contains the dbId. Uses the initial model loaded by default.
    selectionType*
    number
    a member of Autodesk.Viewing.SelectionMode.
    * Required

    select(dbids, model, selectionType)

    Selects the array of ids. You can also pass in a single id instead of an array.

    Currently three ways of node selection are supported:

    • Autodesk.Viewing.SelectionType.MIXED

      • Leaf nodes are selected using the overlayed selection type, and inner nodes are selected using regular selection type.
    • Autodesk.Viewing.SelectionType.REGULAR

      • Nodes are tinted with the selection color.
    • Autodesk.Viewing.SelectionType.OVERLAYED

      • Nodes are tinted with the selection color and shown on top of the not selected geometry.

    Parameters

    dbids*
    Array.<number>, number
    element or array of elements to select.
    modelthe model instance containing the ids.
    selectionType
    number
    a member of Autodesk.Viewing.SelectionType.
    * Required

    clearSelection()

    Clears the selection. See select()

    getSelectionVisibility()

    Returns information about the visibility of the current selection.

    Returns

    typedescription
    object {hasVisible:boolean, hasHidden:boolean}

    getSelectionCount()

    Returns the number of nodes (dbIds) in the current selection.

    Returns

    typedescription
    number
    • number of selected nodes

    setSelectionMode(mode)

    Sets selection granularity mode. Supported values are:

    • Autodesk.Viewing.SelectionMode.LEAF_OBJECT: Always select the leaf objects in the hierarchy.
    • Autodesk.Viewing.SelectionMode.FIRST_OBJECT: For a given node, selects the first non-composite (layer, collection, model) on the path from the root to the given node, and all children.
    • Autodesk.Viewing.SelectionMode.LAST_OBJECT: For a given node, selects the nearest ancestor composite node and all children. Selects the input node itself in case there is no composite node in the path to the root node.

    Parameters

    mode*
    number
    The selection mode.
    * Required

    getSelection()

    Returns the current selection.

    Returns

    typedescription
    Array.<number> Array of the nodes (dbIds) of the currently selected nodes.

    lockSelection(dbIds, lock, model)

    Locks the selection of specific nodes (dbIds) in a given model. The nodes will be unselected if the lock is set to true and the nodes are already selected. The locked nodes will not be selectable.

    Parameters

    dbIds*
    Number, Array.<Number>
    dbIds to lock
    lock*
    Boolean
    true to lock, false otherwise
    modelThe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    unlockSelection(dbIds, model)

    This function will unlock the specified nodes (dbIds) for a specific model. If the nodes parameter is omitted then the specified model’s locked nodes will be unlocked. If the model parameter is omitted then the specified nodes will be unlocked for the viewer.model. If both parameters are omitted then all of the models in the viewer will release their locked nodes.

    Parameters

    dbIds
    Array.<Number>
    dbIds to unlock
    modelThe model associated to the nodes parameters

    isSelectionLocked(dbId, model)

    Checks whether selection is locked for a node

    Parameters

    dbId*
    number
    the object’s identifier.
    modelthe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    Returns

    typedescription
    boolean True is the visibility is locked

    getAggregateSelection(callback)

    Returns the selected items from all loaded models.

    Parameters

    callback
    function
    Optional callback to receive enumerated pairs of model and dbId for each selected object. If no callback is given, an array of objects is returned.

    Returns

    typedescription
    Array.<object> An array of objects with a model and selectionSet properties for each model that has selected items in the scene.

    setAggregateSelection(selection, fireEvent)

    Selects ids from different models. Choose this api instead of select() when selecting across many models

    Parameters

    selection*
    Array.<SelectionDef>
    Array of selection objects defining what to select
    fireEvent
    Boolean
    Whether an event is fired at the end
    * Required

    getAggregateIsolation()

    Returns the isolated items from all loaded models.

    Returns

    typedescription
    Array.<{model: Autodesk.Viewing.Model, ids: Array.<number>}> An array of objects with a model and the isolated ids in that model.

    setAggregateIsolation(isolation)

    Isolate ids from different models. Choose this api instead of isolate() when isolating across many models. It will hide all other models.

    Parameters

    isolation*
    Array.<{model: Autodesk.Viewing.Model, ids: (Array.<number>|number)}>
    An array of objects with a model and the ids to isolate in that model
    * Required

    getAggregateHiddenNodes()

    Returns the hidden nodes for all loaded models.

    Returns

    typedescription
    Array.<{model: Autodesk.Viewing.Model, ids: Array.<number>}> An array of objects with a model and the hidden ids in that model.

    hide(node, model)

    Ensures the passed in nodes (dbIds) are hidden.

    Parameters

    node*
    Array.<number>, number
    An array of nodes (dbids) or just a single node.
    modelThe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    show(node, model)

    Ensures the passed in nodes (dbIds) are shown.

    Parameters

    node*
    Array.<number>, number
    An array of nodes (dbids) or just a single node.
    modelThe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    showAll()

    Ensures everything is visible. Clears all node isolation (3D) and turns on all layers (2D).

    hideAll()

    Ensures all objects are hidden. Clears all nodes.

    toggleVisibility(dbId, model)

    Toggles the visibility of the given node (dbId).

    Not yet implemented for 2D.

    Parameters

    dbId*
    number
    the object’s identifier.
    modelthe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    areAllVisible()

    Returns true if every node (dbId) is visible.

    Returns

    typedescription
    boolean
    • True if every node is visible, false otherwise.

    isNodeVisible(nodeId, model)

    Returns true if the specified node is visible. The model argument is required only when in multi-model scenarios.

    Parameters

    nodeId*
    number
    Geometry node to check if visible.
    modelThe model that contains the specified nodeId.
    * Required

    Returns

    typedescription
    boolean

    show(dbId, locked, model)

    Ensures the passed in nodes (dbIds) are shown.

    Parameters

    dbId*
    Array.<number>, number
    array of nodes or a single node
    locked*
    boolean
    Set to true to lock the nodes visible. Set to false to allow the nodes to be hidden.
    modelThe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    toggleLockVisible(dbId, model)

    Toggles the visibility lock of the given node (dbId).

    Not yet implemented for 2D.

    Parameters

    dbId*
    number
    the object’s identifier.
    modelthe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    isVisibleLocked(dbId, model)

    Checks whether visibility is locked for a node (dbId).

    Not yet implemented for 2D.

    Parameters

    dbId*
    number
    the object’s identifier.
    modelthe model that contains the dbId. By default uses the initial model loaded into the scene.
    * Required

    Returns

    typedescription
    boolean True is the visibility is locked

    explode(scale, options)

    Explodes the model from the center of gravity.

    Not applicable to 2D.

    Parameters

    Expand all
    scale*
    number
    A value from 0.0-1.0 to indicate how much to explode.
    options*
    Object
    Additional setting for STRATEGY_HIERARCHY.
    magnitude*
    Number
    Controls the spread of explode.
    depthDampening*
    Number
    Controls the reduction of the explode effect with depth of the object in the hierarchy.
    * Required

    getExplodeScale()

    Returns the explode scale.

    Not applicable to 2D.

    Returns

    typedescription
    number
    • A value from 0.0-1.0 indicating how exploded the model is.

    getExplodeOptions()

    Returns the explode options.

    Not applicable to 2D.

    Returns

    typedescription
    object {magnitude:Number, depthDampening:Number}

    lockExplode(dbids, lock, model)

    Lock node (dbid) so that it doesn’t explode

    Not applicable to 2D.

    Parameters

    dbids*
    Array.<number>, number
    The dbids to lock or unlock
    lock*
    boolean
    Set to true to prevent dbids from exploding. Set to false to allow dbids to explode.
    modelThe model containing the dbids. Defaults to this.model
    * Required

    Returns

    typedescription
    boolean True if any dbids were changed.

    isExplodeLocked(dbid, model)

    Check whether a dbid is locked so it doesn’t explode.

    Not applicable to 2D.

    Parameters

    dbid*
    number
    The dbid to check
    modelThe model containing the dbids. Defaults to this.model
    * Required

    Returns

    typedescription
    boolean True if dbid is locked to prevent explode

    toggleLockExplode(dbid, model)

    Toggle dbid lock so it doesn’t explode

    Not applicable to 2D.

    Parameters

    dbid*
    number
    The dbid to lock or unlock
    modelThe model containing the dbids. Defaults to this.model
    * Required

    Returns

    typedescription
    boolean True if any dbids were changed.

    setQualityLevel(useSAO, useFXAA)

    Enables or disables the high quality rendering settings.

    Not applicable to 2D.

    Parameters

    useSAO*
    boolean
    True or false to enable screen space ambient occlusion.
    useFXAA*
    boolean
    True or false to enable fast approximate anti-aliasing.
    * Required

    setGhosting(value)

    Toggles ghosting during search and isolate.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    Indicates whether ghosting is on or off.
    * Required

    setGroundShadow(value)

    Toggles ground shadow.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    Indicates whether shadow is on or off.
    * Required

    setGroundReflection(value)

    Toggles ground reflection.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    Indicates whether reflection is on or off.
    * Required

    setEnvMapBackground(value)

    Toggles environment map for background.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    Indicates whether environment map for background is on or off.
    * Required

    setFirstPersonToolPopup(value)

    Toggles first person tool popup.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    Indicates whether first person tool popup is showed or not.
    * Required

    getFirstPersonToolPopup()

    Returns the state of First Person Walk tool popup.

    Not applicable to 2D.

    Returns

    typedescription
    boolean true if the First Person Walk tool popup appears, false if the First Person Walk tool popup does not appear.

    setBimWalkToolPopup(value)

    Toggles the bimwalk tool popup.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    Indicates whether first person tool popup is showed or not.
    * Required

    getBimWalkToolPopup()

    Returns the state of First Person Walk tool popup

    Not applicable to 2D.

    Returns

    typedescription
    boolean true if the First Person Walk tool popup appears, false if the First Person Walk tool popup does not appear.

    setProgressiveRendering(value)

    Toggles whether progressive rendering is used. Warning: turning progressive rendering off will have serious performance implications.

    Parameters

    value*
    boolean
    whether it is on or off
    * Required

    setGrayscale(value)

    Overrides line colors in 2D models to render in shades of gray. Applies only to 2D models.

    Parameters

    value*
    boolean
    whether it is on or off
    * Required

    setSwapBlackAndWhite(value)

    AutoCAD drawings are commonly displayed with white lines on a black background. Setting reverse swaps (just) these two colors.

    Parameters

    value*
    boolean
    whether it is on or off
    * Required

    setOptimizeNavigation(value)

    Toggles whether the navigation should be optimized for performance. If set to true, anti-aliasing and ambient shadows will be off while navigating.

    Not applicable to 2D.

    Parameters

    value*
    boolean
    whether it is on or off
    * Required

    setNavigationLock(value)

    Locks or unlocks navigation controls.

    When navigation is locked, certain operations (for example, orbit, pan, or fit-to-view) are disabled.

    Reference Autodesk.Viewing.Viewer3D#setNavigationLockSettings

    Parameters

    value*
    boolean
    True if the navigation should be locked.
    * Required

    Returns

    typedescription
    boolean The previous state of the lock (this may be used to restore the lock to it’s previous state).

    getNavigationLock()

    Gets the current state of the navigation lock.

    Returns

    typedescription
    boolean True if the navigation controls are currently locked.

    setNavigationLockSettings(settings)

    Updates the configuration of the navigation lock, i.e., which actions are available when navigation is locked.

    The configurable actions are ‘orbit’, ‘pan’, ‘zoom’, ‘roll’, ‘fov’, ‘walk’, or ‘gotoview’. By default, none of the actions are enabled when the navigation is locked.

    Reference Autodesk.Viewing.Viewer3D#setNavigationLock

    Parameters

    settings*
    object
    Map of : pairs specifying whether the given action is enabled even when the navigation is locked.
    * Required

    getNavigationLockSettings()

    Gets the current configuration of the navigation lock.

    Returns

    typedescription
    object Map of : pairs specifying whether the given action is enabled even when the navigation is locked.

    setActiveNavigationTool(toolName)

    Swaps the current navigation tool for the tool with the provided name. Will trigger NAVIGATION_MODE_CHANGED event if the mode actually changes.

    Reference getActiveNavigationTool()

    Parameters

    toolName
    string
    The name of the tool to activate. By default it will switch to the default tool.

    Returns

    typedescription
    boolean
    • True if the tool was set successfully. False otherwise.

    getActiveNavigationTool()

    Returns the name of the active navigation tool.

    Reference setActiveNavigationTool()

    Returns

    typedescription
    string
    • The tool’s name.

    setDefaultNavigationTool(toolName)

    Sets the default navigation tool. This tool will always sit beneath the navigation tool on the tool stack.

    Parameters

    toolName*
    string
    The name of the new default navigation tool.
    * Required

    getDefaultNavigationToolName()

    Returns the default navigation tool

    Returns

    typedescription
    Object
    • The default navigation tool.

    getFOV()

    Gets the current camera vertical field of view.

    Returns

    typedescription
    number
    • the field of view in degrees.

    setFOV(degrees)

    Sets the current cameras vertical field of view.

    Parameters

    degrees*
    number
    Field of view in degrees.
    * Required

    getFocalLength()

    Gets the current camera focal length.

    Returns

    typedescription
    number
    • the focal length in millimetres.

    setFocalLength(mm)

    Sets the current cameras focal length.

    Parameters

    mm*
    number
    Focal length in millimetres
    * Required

    hideLines(hide)

    Hides all lines in the scene.

    Parameters

    hide*
    boolean
    * Required

    hidePoints(hide)

    Hides all points in the scene.

    Parameters

    hide*
    boolean
    * Required

    setDisplayEdges(show)

    Turns edge topology display on/off (where available).

    Parameters

    show*
    boolean
    true to turn edge topology display on, false to turn edge topology display off.
    * Required

    applyCamera(camera, fit)

    Parameters

    camera*
    THREE.Camera
    the camera to apply.
    fit
    boolean
    Do a fit to view after transition.
    * Required

    fitToView(objectIds, model, immediate)

    Fits camera to objects by ID. It fits the entire model if no ID is provided. Operation will fit to the model’s bounding box when its object tree is not available.

    Parameters

    objectIds
    Array.<number>, null
    array of Ids to fit into the view. Avoid passing this value to fit the entire model.
    modelThe model containing the objectIds. If falsey, the viewer’s current model will be used.
    immediate
    boolean
    true to avoid the default transition.

    setClickConfig(what, where, newAction)

    Modifies a click action configuration entry.

    Parameters

    what*
    string
    which click config to modify (one of “click”, “clickAlt”, “clickCtrl”, “clickShift”, “clickCtrlShift”).
    where*
    string
    hit location selector (one of “onObject”, “offObject”).
    newAction*
    Array.<string>
    action list (containing any of “setCOI”, “selectOnly”, “selectToggle”, “deselectAll”, “deselectAll”, “isolate”, “showAll”, “hide”, “focus”).
    * Required

    Returns

    typedescription
    boolean False if specified entry is not found, otherwise true.

    getClickConfig(what, where)

    Fetch a click action configuration entry.

    Parameters

    what*
    string
    which click config to fetch (one of “click”, “clickAlt”, “clickCtrl”, “clickShift”, “clickCtrlShift”).
    where*
    string
    hit location selector (one of “onObject”, “offObject”).
    * Required

    Returns

    typedescription
    array action list for the given entry or null if not found.

    setClickToSetCOI(state, updatePrefs)

    Modify the default click behaviour for the viewer.

    Parameters

    state*
    boolean
    If true the default is to set the center of interest. If false the default is single select.
    updatePrefs
    boolean
    If true, the user preferences will be updated.
    * Required

    setProfile(profile, override)

    Updates viewer settings encapsulated witihn a Profile. This method will also load and unload extensions referenced by the Profile.

    Parameters

    profile*profile containing settings.
    override
    boolean
    If set to true this will override all existing preference with the new profile preference. Default: true
    * Required

    Examples

    const profileSettings = {
       name: "mySettings",
       settings: {
           ambientShadows: false,
           groundShadows: true
       }
       extensions: {
           load: [],   // Extension IDs
           unload: []  // Extension IDs
       }
    }
    const profile = new Autodesk.Viewing.Profile(profileSettings);
    viewer.setProfile(profile);
    
    Show More

    setLightPreset(index)

    Sets the Light Presets (Environments) for the Viewer.

    Not applicable to 2D.

    Sets the preference in the UI

    Parameters

    index*
    Number
    The index mapping looks like this: 0 -> Simple Grey, 1 -> Sharp Highlights, 2 -> Dark Sky, 3 -> Grey Room, 4 -> Photo Booth, 5 -> Tranquility, 6 -> Infinity Pool, 7 -> Simple White, 8 -> Riverbank, 9 -> Contrast, 1 ->0 Rim Highlights, 1 ->1 Cool Light, 1 ->2 Warm Light, 1 ->3 Soft Light, 1 ->4 Grid Light, 1 ->5 Plaza, 1 ->6 Snow Field
    * Required

    setUsePivotAlways(value)

    Set or unset a view navigation option which requests that orbit controls always orbit around the currently set pivot point.

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true to request use of the pivot point. When false some controls may pivot around the center of the view. (Currently applies only to the view-cube orbit controls.)
    * Required

    setReverseZoomDirection(value)

    Set or unset a view navigation option to reverse the default direction for camera dolly (zoom) operations.

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true for reverse, false for default
    * Required

    setReverseHorizontalLookDirection(value)

    Set or unset a view navigation option to reverse the default direction for horizontal look operations.

    Not applicable to 2D.

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true for reverse, false for default
    * Required

    setReverseVerticalLookDirection(value)

    Set or unset a view navigation option to reverse the default direction for vertical look operations.

    Not applicable to 2D.

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true for reverse, false for default
    * Required

    setZoomTowardsPivot(value)

    Get the state of the view navigation option that requests the default direction for camera dolly (zoom) operations to be towards the camera pivot point.

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true for towards the pivot, false for default
    * Required

    setOrbitPastWorldPoles(value)

    Set or unset a view navigation option to allow the orbit controls to move the camera beyond the north and south poles (world up/down direction). In other words, when set the orbit control will allow the camera to rotate into an upside down orientation. When unset orbit navigation should stop when the camera view direction reaches the up/down direction.

    Not applicable to 2D.

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true to allow orbiting past the poles.
    * Required

    setUseLeftHandedInput(value)

    Set or unset a view navigation option which requests that mouse buttons be reversed from their default assignment (i.e. Left mouse operation becomes right mouse and vice versa).

    Sets the preference in the UI

    Parameters

    value*
    boolean
    value of the option, true to request reversal of mouse button assignments.
    * Required

    setDisplayUnits(value)

    Set units for quantities displayed in the property panel. Only setting linear (distance) quantity units are supported

    Parameters

    value*
    string
    display units to set. The units can be “” (file units), “mm”, “cm”, “m”, “in”, “ft”, “ft-and-fractional-in”, “ft-and-decimal-in”, “decimal-in”, “decimal-ft”, “fractional-in”, “m-and-cm”,
    * Required

    setDisplayUnitsPrecision(value)

    Set the precision for quantities displayed in the property panel.

    Parameters

    value*
    number
    precision for the units The value is the number of decimal values after the “.”. For e.g., a value of 5 would be either 0.12345 or 1/32 (2^5) for fraction type units Values greater than 6 is not supported If value is not specified, it defaults to the precision in the file
    * Required

    setLayerVisible(nodes, visible, isolate)

    Set visibility for a single layer, or for all layers.

    Parameters

    nodes*
    Array
    An array of layer nodes, or a single layer node, or null for all layers
    visible*
    boolean
    true to show the layer, false to hide it
    isolate
    boolean
    true to isolate the layer
    * Required

    isLayerVisible(node)

    Returns true if the layer is visible.

    Parameters

    node*
    Object
    Layer node
    * Required

    Returns

    typedescription
    boolean true if the layer is visible

    anyLayerHidden()

    Returns true if any layer is hidden.

    Returns

    typedescription
    boolean true if any layer is hidden

    allLayersHidden()

    Returns true if all layers are hiden.

    Returns

    typedescription
    boolean true if all layers are hidden

    hideHiddenObjects()

    setGroundShadowColor(color)

    If enabled, set ground shadow color

    Not applicable to 2D

    Parameters

    color*
    THREE.Color
    * Required

    setGroundShadowAlpha(alpha)

    If enabled, set ground shadow alpha

    Not applicable to 2D

    Parameters

    alpha*
    float
    * Required

    setGroundReflectionColor(color)

    If enabled, set ground reflection color. This is reset to default when reflections toggled off.

    Not applicable to 2D

    Parameters

    color*
    THREE.Color
    * Required

    setGroundReflectionAlpha(alpha)

    If enabled, set ground reflection alpha. This is reset to default when reflections toggled off.

    Not applicable to 2D

    Parameters

    alpha*
    number
    * Required

    getCutPlanes()

    Returns a list of active cut planes

    Not applicable to 2D

    Returns

    typedescription
    Array.<THREE.Vector4> List of Vector4 plane representation {x:a, y:b, z:c, w:d}

    setCutPlanes(planes)

    Apply a list of cut planes

    Not applicable to 2D

    Parameters

    planes*
    Array.<THREE.Vector4>
    List of Vector4 plane representation: {x:a, y:b, z:c, w:d} Plane general equation: ax + by + cz + d = 0 where a, b, and c are not all zero Passing an empty list or null is equivalent to setting zero cut planes
    * Required

    getScreenShot(w, h, cb, overlayRenderer)

    Captures the current screen image as Blob URL Blob URL can be used like a regular image url (e.g., window.open, img.src, etc) If width and height are 0, returns asynchronously and calls the callback with an image as Blob URL with dimensions equal to current canvas dimensions If width and height are given, returns asynchronously and calls the callback with the resized image as Blob URL If no callback is given, displays the image in a new window. Optional overlayRenderer can be supplied, in order to render an overlay on top of the renderer image.

    Parameters

    w
    number
    width of the requested image
    h
    number
    height of the requested image
    cb
    function
    callback
    overlayRenderer
    function
    overlayRenderer

    Returns

    typedescription
    DOMString screenshot image Blob URL, if no parameters are given

    worldToClient(point, camera)

    Calculates the pixel position in client space coordinates of a point in world space. See also clientToWorld().

    Parameters

    point*
    THREE.Vector3
    Point in world space coordinates.
    camera*
    THREE.Camera
    Optional camera to use - default is the viewer’s native camera.
    * Required

    Returns

    typedescription
    THREE.Vector3 Point transformed and projected into client space coordinates. Z value is 0.

    clientToWorld(clientX, clientY, ignoreTransparent, ignore2dModelBounds, ignore2dModelsOn3d)

    Given coordinates in pixel screen space it returns information of the underlying geometry node. Hidden nodes will not be taken into account. Returns null if there is no geometry in the specified location. For 2d models, it will return null outside the paper, unless ignore2dModelBounds is true. See also worldToClient().

    Parameters

    clientX*
    Number
    X coordinate where 0 is left
    clientY*
    Number
    Y coordinate where 0 is top
    ignoreTransparent
    Boolean
    Ignores transparent materials
    ignore2dModelBounds
    boolean
    For 2d models - whether to return a result outside of the model’s bounds.
    ignore2dModelsOn3d
    boolean
    Whether to ignore 2d models when in 3d mode.
    * Required

    Returns

    typedescription
    Object, null contains point attribute. 3d models have additional attributes.

    modelHasTopology()

    Expose if the model has topology information downloaded. Only applicable to 3D models.

    Returns

    typedescription
    boolean value - Indicates whether the model has topology information.

    setSelectionColor(color, selectionType)

    Changes the color of the selection for a particular selection type.

    • Autodesk.Viewing.SelectionType.MIXED

      • Sets the same color for regular and overlayed selection.
    • Autodesk.Viewing.SelectionType.REGULAR

      • Sets the color of regular selection.
    • Autodesk.Viewing.SelectionType.OVERLAYED

      • Sets the color of overlayed selection.

    Parameters

    color*
    THREE.Color
    selectionType*
    number
    a member of Autodesk.Viewing.SelectionMode.
    * Required

    Examples

    viewer.setSelectionColor(new THREE.Color(0xFF0000), Autodesk.Viewing.SelectionType.MIXED); // red color
    

    set2dSelectionColor(color, opacity)

    Changes the color of the selection for 2D drawings.

    Parameters

    color*
    THREE.Color
    opacity*
    number
    * Required

    Examples

    viewer.set2dSelectionColor(new THREE.Color(0xFF0000), 0.1); // red color, opacity of 0.1
    

    setTheme(name)

    Sets the current UI theme of the viewer. Supported values are “light-theme” and “dark-theme”, which is the default.

    Parameters

    name*
    string
    Name of the theme, it will be added to the viewer’s container class list.
    * Required

    setThemingColor(dbId, color, model, recursive)

    Highlight an object with a theming color that is blended with the original object’s material.

    Parameters

    dbId*
    number
    color*
    THREE.Vector4
    (r, g, b, intensity), all in [0,1].
    modelFor multi-model support.
    recursive
    boolean
    Should apply theming color recursively to all child nodes.
    * Required

    clearThemingColors(model)

    Restore original colors for all themed shapes.

    Parameters

    modelFor multi-model support.

    setMaterialsToDefaults(model)

    Restore original materials of a model if they were overwritten, e.g. by Autodesk.Viewing.Viewer3D#setView.”

    Parameters

    modelFor multi-model support.

    hideModel(model)

    Temporarily remove a model from the Viewer, but keep loaders, materials, and geometry alive.

    Reference Autodesk.Viewing.Viewer3D#showModel

    Parameters

    model*model id or Model object
    * Required

    Returns

    typedescription
    boolean true indicates success, i.e., modelId referred to a visible model that is now hidden

    showModel(model, preserveTools)

    Make a previously hidden model visible again.

    Reference Autodesk.Viewing.Viewer3D#hideModel

    Parameters

    model*model id or Model object
    preserveTools*
    boolean
    disable automatic activation of default tool
    * Required

    Returns

    typedescription
    boolean true indicates success, i.e., model referred to a hidden model that is now visible

    getVisibleModels()

    Returns

    typedescription
    Array.<Autodesk.Viewing.Model>

    getHiddenModels()

    Returns

    typedescription
    Array.<Autodesk.Viewing.Model>

    getAllModels()

    Returns all models loaded in the viewer.

    Returns

    typedescription
    Array.<Autodesk.Viewing.Model>
    • An array of visible and hidden models

    getFirstModel()

    Returns the first model, according to the environment. If we are in 2D, returns the first sheet. If we are in 3D, returns the first 3D model, regardless if a 2D sheet was loaded before. Note: If there’s only 2D models in a 3D environment it will return null.

    Returns

    typedescription
    Autodesk.Viewing.Model
    • A model

    getUnderlayRaster(bubbleNode)

    When loading a PDF document we optionally add a raster preview. This function returns the preview corresponding to the passed bubbleNode.

    Parameters

    bubbleNode*
    * Required

    Returns

    typedescription
    Array.<Autodesk.Viewing.Model>

    disableHighlight(disable)

    Disables roll-over highlighting.

    Parameters

    disable*
    boolean
    Indicates whether highlighting should be on or off. True to disable highlights, false to enable them.
    * Required

    disableSelection(disable)

    disable the selection of a loaded model.

    Parameters

    disable*
    boolean
    true to disable selection, false to enable selection.
    * Required

    isHighlightDisabled()

    check if the mouse-over highlight is disabled or not

    isHighlightPaused()

    check if the mouse-over highlight is paused or not

    isHighlightActive()

    check if the mouse-over highlight is active or not

    isSelectionDisabled()

    check if the selection of the loaded model is disabled or not

    activateExtension(extensionID, mode)

    Activates the extension based on the extensionID and mode given. By default it takes the first available mode in getmodes();

    Parameters

    extensionID*
    string
    The extension id.
    mode
    string
    * Required

    deactivateExtension(extensionID)

    Dectivates the extension based on the extensionID specified.

    Parameters

    extensionID*
    string
    the extension ID
    * Required

    Returns

    typedescription
    boolean
    • true if the extension was deactivated false otherwise

    isExtensionActive(extensionID, mode)

    Check if the extension is active or not by passing the extensionID.

    Parameters

    extensionID*
    string
    the extension ID
    mode*
    string
    The model of the extension
    * Required

    Returns

    typedescription
    boolean
    • True if the extension is active, false otherwise

    isExtensionLoaded(extensionID)

    Check if the extension is loaded or not by passing the extensionID.

    Parameters

    extensionID*
    string
    the extension ID
    * Required

    Returns

    typedescription
    boolean
    • returns true if the extension was loaded, false otherwise

    getLoadedExtensions()

    Get a list of all the extensions that are currently loaded.

    Returns

    typedescription
    Array.<string>
    • returns the IDs of all of the loaded extensions

    getExtensionModes(extensionID)

    Get a list of all the modes that are available for the given extensionID.

    Parameters

    extensionID*
    string
    the extension ID
    * Required

    Returns

    typedescription
    Array.<string>
    • array of the extension’s modes.

    hitTest(x, y, ignoreTransparent)

    Returns the intersection information for point x,y. If no intersection is found this function will return null.

    Parameters

    x*
    number
    X-coordinate, i.e., horizontal distance (in pixels) from the left border of the canvas.
    y*
    number
    Y-coordinate, i.e., vertical distance (in pixels) from the top border of the canvas.
    ignoreTransparent
    boolean
    ignores any transparent objects that might intersect x,y
    * Required

    Returns

    typedescription
    Intersection, null
    • Intersection information about closest hit point.

    refresh(clear)

    Clears the screen and redraws the overlays if clear is set to true. Only the overlays will be redrawn if clear is set to false. Should only be called when absolutely needed.

    Parameters

    clear*
    boolean
    clears the screen and redraws the overlays.
    * Required

    chooseProfile()

    Function that decides which Autodesk.Viewing.Profile to use when a model is loaded for the first time.

    Override this method to implement a different logic.

    Returns

    typedescription
    Autodesk.Viewing.Profile, null a Profile
     
    ______
    icon-svg-close-thick

    Cookie preferences

    Your privacy is important to us and so is an optimal experience. To help us customize information and build applications, we collect data about your use of this site.

    May we collect and use your data?

    Learn more about the Third Party Services we use and our Privacy Statement.

    Strictly necessary – required for our site to work and to provide services to you

    These cookies allow us to record your preferences or login information, respond to your requests or fulfill items in your shopping cart.

    Improve your experience – allows us to show you what is relevant to you

    These cookies enable us to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we use to deliver information and experiences tailored to you. If you do not allow these cookies, some or all of these services may not be available for you.

    Customize your advertising – permits us to offer targeted advertising to you

    These cookies collect data about you based on your activities and interests in order to show you relevant ads and to track effectiveness. By collecting this data, the ads you see will be more tailored to your interests. If you do not allow these cookies, you will experience less targeted advertising.

    icon-svg-close-thick

    THIRD PARTY SERVICES

    Learn more about the Third-Party Services we use in each category, and how we use the data we collect from you online.

    icon-svg-hide-thick

    icon-svg-show-thick

    Strictly necessary – required for our site to work and to provide services to you

    Qualtrics
    We use Qualtrics to let you give us feedback via surveys or online forms. You may be randomly selected to participate in a survey, or you can actively decide to give us feedback. We collect data to better understand what actions you took before filling out a survey. This helps us troubleshoot issues you may have experienced. Qualtrics Privacy Policy
    Akamai mPulse
    We use Akamai mPulse to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Akamai mPulse Privacy Policy
    Digital River
    We use Digital River to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Digital River Privacy Policy
    Dynatrace
    We use Dynatrace to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Dynatrace Privacy Policy
    Khoros
    We use Khoros to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Khoros Privacy Policy
    Launch Darkly
    We use Launch Darkly to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Launch Darkly Privacy Policy
    New Relic
    We use New Relic to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. New Relic Privacy Policy
    Salesforce Live Agent
    We use Salesforce Live Agent to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Salesforce Live Agent Privacy Policy
    Wistia
    We use Wistia to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Wistia Privacy Policy
    Tealium
    We use Tealium to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Tealium Privacy Policy
    Upsellit
    We use Upsellit to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Upsellit Privacy Policy
    CJ Affiliates
    We use CJ Affiliates to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. CJ Affiliates Privacy Policy
    Commission Factory
    We use Commission Factory to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Commission Factory Privacy Policy
    Google Analytics (Strictly Necessary)
    We use Google Analytics (Strictly Necessary) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Strictly Necessary) Privacy Policy
    Typepad Stats
    We use Typepad Stats to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. Typepad Stats Privacy Policy
    Geo Targetly
    We use Geo Targetly to direct website visitors to the most appropriate web page and/or serve tailored content based on their location. Geo Targetly uses the IP address of a website visitor to determine the approximate location of the visitor’s device. This helps ensure that the visitor views content in their (most likely) local language.Geo Targetly Privacy Policy
    SpeedCurve
    We use SpeedCurve to monitor and measure the performance of your website experience by measuring web page load times as well as the responsiveness of subsequent elements such as images, scripts, and text.SpeedCurve Privacy Policy
    Qualified
    Qualified is the Autodesk Live Chat agent platform. This platform provides services to allow our customers to communicate in real-time with Autodesk support. We may collect unique ID for specific browser sessions during a chat. Qualified Privacy Policy

    icon-svg-hide-thick

    icon-svg-show-thick

    Improve your experience – allows us to show you what is relevant to you

    Google Optimize
    We use Google Optimize to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Google Optimize Privacy Policy
    ClickTale
    We use ClickTale to better understand where you may encounter difficulties with our sites. We use session recording to help us see how you interact with our sites, including any elements on our pages. Your Personally Identifiable Information is masked and is not collected. ClickTale Privacy Policy
    OneSignal
    We use OneSignal to deploy digital advertising on sites supported by OneSignal. Ads are based on both OneSignal data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that OneSignal has collected from you. We use the data that we provide to OneSignal to better customize your digital advertising experience and present you with more relevant ads. OneSignal Privacy Policy
    Optimizely
    We use Optimizely to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Optimizely Privacy Policy
    Amplitude
    We use Amplitude to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Amplitude Privacy Policy
    Snowplow
    We use Snowplow to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Snowplow Privacy Policy
    UserVoice
    We use UserVoice to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. UserVoice Privacy Policy
    Clearbit
    Clearbit allows real-time data enrichment to provide a personalized and relevant experience to our customers. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID.Clearbit Privacy Policy
    YouTube
    YouTube is a video sharing platform which allows users to view and share embedded videos on our websites. YouTube provides viewership metrics on video performance. YouTube Privacy Policy

    icon-svg-hide-thick

    icon-svg-show-thick

    Customize your advertising – permits us to offer targeted advertising to you

    Adobe Analytics
    We use Adobe Analytics to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Adobe Analytics Privacy Policy
    Google Analytics (Web Analytics)
    We use Google Analytics (Web Analytics) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Web Analytics) Privacy Policy
    AdWords
    We use AdWords to deploy digital advertising on sites supported by AdWords. Ads are based on both AdWords data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AdWords has collected from you. We use the data that we provide to AdWords to better customize your digital advertising experience and present you with more relevant ads. AdWords Privacy Policy
    Marketo
    We use Marketo to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. We may combine this data with data collected from other sources to offer you improved sales or customer service experiences, as well as more relevant content based on advanced analytics processing. Marketo Privacy Policy
    Doubleclick
    We use Doubleclick to deploy digital advertising on sites supported by Doubleclick. Ads are based on both Doubleclick data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Doubleclick has collected from you. We use the data that we provide to Doubleclick to better customize your digital advertising experience and present you with more relevant ads. Doubleclick Privacy Policy
    HubSpot
    We use HubSpot to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. HubSpot Privacy Policy
    Twitter
    We use Twitter to deploy digital advertising on sites supported by Twitter. Ads are based on both Twitter data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Twitter has collected from you. We use the data that we provide to Twitter to better customize your digital advertising experience and present you with more relevant ads. Twitter Privacy Policy
    Facebook
    We use Facebook to deploy digital advertising on sites supported by Facebook. Ads are based on both Facebook data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Facebook has collected from you. We use the data that we provide to Facebook to better customize your digital advertising experience and present you with more relevant ads. Facebook Privacy Policy
    LinkedIn
    We use LinkedIn to deploy digital advertising on sites supported by LinkedIn. Ads are based on both LinkedIn data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that LinkedIn has collected from you. We use the data that we provide to LinkedIn to better customize your digital advertising experience and present you with more relevant ads. LinkedIn Privacy Policy
    Yahoo! Japan
    We use Yahoo! Japan to deploy digital advertising on sites supported by Yahoo! Japan. Ads are based on both Yahoo! Japan data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Yahoo! Japan has collected from you. We use the data that we provide to Yahoo! Japan to better customize your digital advertising experience and present you with more relevant ads. Yahoo! Japan Privacy Policy
    Naver
    We use Naver to deploy digital advertising on sites supported by Naver. Ads are based on both Naver data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Naver has collected from you. We use the data that we provide to Naver to better customize your digital advertising experience and present you with more relevant ads. Naver Privacy Policy
    Quantcast
    We use Quantcast to deploy digital advertising on sites supported by Quantcast. Ads are based on both Quantcast data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Quantcast has collected from you. We use the data that we provide to Quantcast to better customize your digital advertising experience and present you with more relevant ads. Quantcast Privacy Policy
    Call Tracking
    We use Call Tracking to provide customized phone numbers for our campaigns. This gives you faster access to our agents and helps us more accurately evaluate our performance. We may collect data about your behavior on our sites based on the phone number provided. Call Tracking Privacy Policy
    Wunderkind
    We use Wunderkind to deploy digital advertising on sites supported by Wunderkind. Ads are based on both Wunderkind data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Wunderkind has collected from you. We use the data that we provide to Wunderkind to better customize your digital advertising experience and present you with more relevant ads. Wunderkind Privacy Policy
    ADC Media
    We use ADC Media to deploy digital advertising on sites supported by ADC Media. Ads are based on both ADC Media data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that ADC Media has collected from you. We use the data that we provide to ADC Media to better customize your digital advertising experience and present you with more relevant ads. ADC Media Privacy Policy
    AgrantSEM
    We use AgrantSEM to deploy digital advertising on sites supported by AgrantSEM. Ads are based on both AgrantSEM data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AgrantSEM has collected from you. We use the data that we provide to AgrantSEM to better customize your digital advertising experience and present you with more relevant ads. AgrantSEM Privacy Policy
    Bidtellect
    We use Bidtellect to deploy digital advertising on sites supported by Bidtellect. Ads are based on both Bidtellect data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bidtellect has collected from you. We use the data that we provide to Bidtellect to better customize your digital advertising experience and present you with more relevant ads. Bidtellect Privacy Policy
    Bing
    We use Bing to deploy digital advertising on sites supported by Bing. Ads are based on both Bing data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bing has collected from you. We use the data that we provide to Bing to better customize your digital advertising experience and present you with more relevant ads. Bing Privacy Policy
    G2Crowd
    We use G2Crowd to deploy digital advertising on sites supported by G2Crowd. Ads are based on both G2Crowd data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that G2Crowd has collected from you. We use the data that we provide to G2Crowd to better customize your digital advertising experience and present you with more relevant ads. G2Crowd Privacy Policy
    NMPI Display
    We use NMPI Display to deploy digital advertising on sites supported by NMPI Display. Ads are based on both NMPI Display data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that NMPI Display has collected from you. We use the data that we provide to NMPI Display to better customize your digital advertising experience and present you with more relevant ads. NMPI Display Privacy Policy
    VK
    We use VK to deploy digital advertising on sites supported by VK. Ads are based on both VK data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that VK has collected from you. We use the data that we provide to VK to better customize your digital advertising experience and present you with more relevant ads. VK Privacy Policy
    Adobe Target
    We use Adobe Target to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Adobe Target Privacy Policy
    Google Analytics (Advertising)
    We use Google Analytics (Advertising) to deploy digital advertising on sites supported by Google Analytics (Advertising). Ads are based on both Google Analytics (Advertising) data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Google Analytics (Advertising) has collected from you. We use the data that we provide to Google Analytics (Advertising) to better customize your digital advertising experience and present you with more relevant ads. Google Analytics (Advertising) Privacy Policy
    Trendkite
    We use Trendkite to deploy digital advertising on sites supported by Trendkite. Ads are based on both Trendkite data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Trendkite has collected from you. We use the data that we provide to Trendkite to better customize your digital advertising experience and present you with more relevant ads. Trendkite Privacy Policy
    Hotjar
    We use Hotjar to deploy digital advertising on sites supported by Hotjar. Ads are based on both Hotjar data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Hotjar has collected from you. We use the data that we provide to Hotjar to better customize your digital advertising experience and present you with more relevant ads. Hotjar Privacy Policy
    6 Sense
    We use 6 Sense to deploy digital advertising on sites supported by 6 Sense. Ads are based on both 6 Sense data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that 6 Sense has collected from you. We use the data that we provide to 6 Sense to better customize your digital advertising experience and present you with more relevant ads. 6 Sense Privacy Policy
    Terminus
    We use Terminus to deploy digital advertising on sites supported by Terminus. Ads are based on both Terminus data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Terminus has collected from you. We use the data that we provide to Terminus to better customize your digital advertising experience and present you with more relevant ads. Terminus Privacy Policy
    StackAdapt
    We use StackAdapt to deploy digital advertising on sites supported by StackAdapt. Ads are based on both StackAdapt data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that StackAdapt has collected from you. We use the data that we provide to StackAdapt to better customize your digital advertising experience and present you with more relevant ads. StackAdapt Privacy Policy
    The Trade Desk
    We use The Trade Desk to deploy digital advertising on sites supported by The Trade Desk. Ads are based on both The Trade Desk data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that The Trade Desk has collected from you. We use the data that we provide to The Trade Desk to better customize your digital advertising experience and present you with more relevant ads. The Trade Desk Privacy Policy
    RollWorks
    We use RollWorks to deploy digital advertising on sites supported by RollWorks. Ads are based on both RollWorks data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that RollWorks has collected from you. We use the data that we provide to RollWorks to better customize your digital advertising experience and present you with more relevant ads. RollWorks Privacy Policy

    Are you sure you want a less customized experience?

    We can access your data only if you select "yes" for the categories on the previous screen. This lets us tailor our marketing so that it's more relevant for you. You can change your settings at any time by visiting our privacy statement

    Your experience. Your choice.

    We care about your privacy. The data we collect helps us understand how you use our products, what information you might be interested in, and what we can improve to make your engagement with Autodesk more rewarding.

    May we collect and use your data to tailor your experience?

    Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.