Request

Response

    Introduction to Model Properties

    Model Properties Service

    The model properties service allows callers to build and query indexes built from the BIM properties in models uploaded to Autodesk and BIM 360 Docs. These are the properties that can be displayed in the Viewer. Model indexes are built using the PDB (Property Database) files extracted as part of the SVF translation process. SVF2 viewable IDs are then added to these indexes from the SVF2 files generated from SVF. For a property field to be available for indexing, it must be supported in the SVF2 translation process. For backwards compatibility with existing Viewer applications, the index rows generated by the service contain both the SVF object IDs (lmvId) along with the newer SVF2 object IDs (svf2Id).

    In addition to property data, the indexes built by the service contain the identities and bounding box coordinates for objects that are viewable via the Viewer, allowing callers to view the results of index queries. The API also allows users to trigger the service to calculate changes (diffs) that have occurred between consecutive versions of a model. To calculate a diff, callers specify a previous and current file version, and the service compares these versions, computing changes to their property values and bounding-box geometry.

    Diff index file type support

    Unlike basic property indexing, which only depends on SVF translation, diff indexing depends on element ID stability. In order for the model properties service to compare instances of the same design object in two consecutive versions of a file, the IDs of these elements must be the same. If the ID of a specific design element changes between consecutive versions of the file, the ID is said to be unstable and can’t be used in diff comparisons by the model properties service.

    The file types supported by the index service for diff comparisons currently include 3D RVT and DWG files, NWC files exported from Revit and AutoCAD verticals, IFC files exported from AutoCAD architecture, MEP, Civil 3D 2018 and onwards, ARCHICAD, Revit, MagiCAD for Revit, and Tekla Structures.

    Docs Permissions

    To build and query indexes with this service, the caller MUST have at least View+Download permission to the folder in Docs where the file is stored. View+Download is a minimum requirement. Users with Create or Full Control will automatically have the necessary permissions to build and query indexes, as Docs folder permissions are cumulative.

    Please note that Docs folder permission changes can take a few minutes to propagate. If you are having access problems immediately after assigning new user permissions to a folder using the Docs UI, retry your indexing/query operation again after giving the permissions a few minutes to propagate. If you are still having folder access problems, please contact support.

    ../../../_images/docs-add-view-download.png

    Model Index Workflow

    To build indexes, callers specify one or more file version URNs. The service works in batch, which allows multiple files to be indexed simultaneously. Taking these input URNs, the service computes an index dynamically, waiting for SVF2 translation to complete if files have not yet been converted following upload to Docs. Once constructed, the index once is comprised of three JSON resource URLs that encode the index. Running queries against an index creates further JSON resources that contain the results of the queries. All of the JSON resource files returned by the services are compressed (*.json.gzip). The table below describes the four different types of resources returned by the service.

    URLTypeDescription
    manifestUrl JSON The manifest for an index or query, detailing the seed files and SVF2 PDB resources used to generate the index rows.
    fieldsUrl NDJSON The set of unique fields (property types) extracted for an index or query. One field per line.
    propertiesUrl NDJSON The raw object property values for the index. One object per line.
    resultsUrl NDJSON The object property results from a query executed against the index at build time, or after an index has been constructed.

    Batch Status vs. Query

    The model properties API supports two different querying mechanisms. Each mechanism serves a different purpose, but before exploring the differences it is important to understand that the model properties service is lazy. Every file uploaded to Docs is not automatically indexed. Instead callers must request that file versions be indexed by the service. Therefore, at any given moment a file may or may not be present in the model property service’s index cache.

    To create indexes, users call the index or diff batch-status endpoint, depending on the type of index required (single file or file version diff). Both endpoints take one or more files to index. The batch-status endpoint treats each file passed individually, creating an index per file. This workflow is summarized in the diagram below.

    ../../../_images/model-properties-index-flow.png

    When posting to a batch-status endpoint to create an index it is also possible to simultaneously pass a query filter. If the index does not yet exist, the service will create the index and then execute the query. If the file or files have been previously indexed, the service will just execute the query. If the query has been previously executed and the results cached, the service will immediately return the resultsUrl to the to the caller. This short-cut allows callers to get results from an index that may or not exist in a single call. Once an index has been created it is also possible to query it directly by ID. The same index can be used to support an infinite array of queries. Once the client has access to an indexId (or diffId) from a call to a batch-status endpoint, these IDs can be used to directly access and query the indexes hosted by the service.

    The workflow for building and querying diff indexes is almost identical to the workflow for standard indexes. The only significant differences between these two workflows is that the input file configuration necessary to specify the index. In diff indexes, you must always pass a pair of files that will be compared for changes.

    For detailed instructions on how to build, query, and interpret basic and diff indexes, refer to the more detailed Querying Model Indexes and Tracking Changes in Model Versions tutorials.

    Index Resources

    This section details the JSON file formats of the four different resources generated by the service (manifest, fields, properties, and results).

    Manifest

    The following is a sample manifest generated by a request to the Model Properties service to index three Docs seed files, urn:adsk.wipprod:fs.file:vf.DyTWutcvTcOLUNUARxcTzQ?version=4, urn:adsk.wipprod:fs.file:vf.LaqNypGeQTaKs0DA__nzLA?version=4 and urn:adsk.wipprod:fs.file:vf.uyT8qe04TDSTDXC2sdfBtg?version=8.

    {
        "schema": "2.0.0",
        "projectId": "f83cef12-deef-4771-9feb-4f85643e3c46",
        "status": "Succeeded",
        "createdAt": "2021-07-23T08:56:07.0868303+00:00",
        "seedFiles": [
            {
                "lineageId": "a19f7db",
                "lineageUrn": "urn:adsk.wipprod:dm.lineage:DyTWutcvTcOLUNUARxcTzQ",
                "versionUrn": "urn:adsk.wipprod:fs.file:vf.DyTWutcvTcOLUNUARxcTzQ?version=4",
                "databases": [
                    {
                        "id": "3747dccf",
                        "offsets": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkR5VFd1dGN2VGNPTFVOVUFSeGNUelE_dmVyc2lvbj00/output/Resource/objects_offs.json.gz",
                        "attributes": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkR5VFd1dGN2VGNPTFVOVUFSeGNUelE_dmVyc2lvbj00/output/Resource/objects_attrs.json.gz",
                        "values": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkR5VFd1dGN2VGNPTFVOVUFSeGNUelE_dmVyc2lvbj00/output/Resource/objects_vals.json.gz",
                        "mapping": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkR5VFd1dGN2VGNPTFVOVUFSeGNUelE_dmVyc2lvbj00/output/Resource/objects_avs.json.gz",
                        "ids": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkR5VFd1dGN2VGNPTFVOVUFSeGNUelE_dmVyc2lvbj00/output/Resource/objects_ids.json.gz"
                    }
                ],
                "views": [
                    {
                        "id": "e7fda9d5",
                        "urn": "urn:adsk.wipprod:fs.file:vf.DyTWutcvTcOLUNUARxcTzQ?version=4",
                        "is3d": true,
                        "viewableName": "{3D}",
                        "viewableId": "0935d8b2-149b-4a0d-b816-863f0d595a20-000bcd64",
                        "viewableGuid": "00cd2da3-fbfa-44a9-7a33-cad0bc4720cb"
                    },
                    {
                        "id": "12fcb372",
                        "urn": "urn:adsk.wipprod:fs.file:vf.DyTWutcvTcOLUNUARxcTzQ?version=4",
                        "is3d": true,
                        "viewableName": "New Construction",
                        "viewableId": "c884ae1b-61e7-4f9d-0001-719e20b22d0b-00120bb2",
                        "viewableGuid": "4a966c2a-ead6-65c3-4f98-273dd7543047"
                    }
                ]
            },
            {
                "lineageId": "b24c41",
                "lineageUrn": "urn:adsk.wipprod:dm.lineage:LaqNypGeQTaKs0DA__nzLA",
                "versionUrn": "urn:adsk.wipprod:fs.file:vf.LaqNypGeQTaKs0DA__nzLA?version=4",
                "databases": [
                    {
                        "id": "3d24adf4",
                        "offsets": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkxhcU55cEdlUVRhS3MwREFfX256TEE_dmVyc2lvbj00/output/Resource/objects_offs.json.gz",
                        "attributes": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkxhcU55cEdlUVRhS3MwREFfX256TEE_dmVyc2lvbj00/output/Resource/objects_attrs.json.gz",
                        "values": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkxhcU55cEdlUVRhS3MwREFfX256TEE_dmVyc2lvbj00/output/Resource/objects_vals.json.gz",
                        "mapping": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkxhcU55cEdlUVRhS3MwREFfX256TEE_dmVyc2lvbj00/output/Resource/objects_avs.json.gz",
                        "ids": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkxhcU55cEdlUVRhS3MwREFfX256TEE_dmVyc2lvbj00/output/Resource/objects_ids.json.gz"
                    }
                ],
                "views": [
                    {
                        "id": "cf7900d3",
                        "urn": "urn:adsk.wipprod:fs.file:vf.LaqNypGeQTaKs0DA__nzLA?version=4",
                        "is3d": true,
                        "viewableName": "{3D}",
                        "viewableId": "845097d1-c3be-4a6f-9dbe-51582fa6d465-002c2f04",
                        "viewableGuid": "5d41dda7-eea1-eff5-77dd-ee1aa81fc3a8"
                    },
                    {
                        "id": "bfe04eff",
                        "urn": "urn:adsk.wipprod:fs.file:vf.LaqNypGeQTaKs0DA__nzLA?version=4",
                        "is3d": true,
                        "viewableName": "New Construction",
                        "viewableId": "c884ae1b-61e7-4f9d-0001-719e20b22d0b-0032f400",
                        "viewableGuid": "10c25a10-5469-3aef-b0a6-1c27c7b8e93b"
                    }
                ]
            },
            {
                "lineageId": "e330f714",
                "lineageUrn": "urn:adsk.wipprod:dm.lineage:uyT8qe04TDSTDXC2sdfBtg",
                "versionUrn": "urn:adsk.wipprod:fs.file:vf.uyT8qe04TDSTDXC2sdfBtg?version=8",
                "databases": [
                    {
                        "id": "3d0bd846",
                        "offsets": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnV5VDhxZTA0VERTVERYQzJzZGZCdGc_dmVyc2lvbj04/output/Resource/objects_offs.json.gz",
                        "attributes": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnV5VDhxZTA0VERTVERYQzJzZGZCdGc_dmVyc2lvbj04/output/Resource/objects_attrs.json.gz",
                        "values": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnV5VDhxZTA0VERTVERYQzJzZGZCdGc_dmVyc2lvbj04/output/Resource/objects_vals.json.gz",
                        "mapping": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnV5VDhxZTA0VERTVERYQzJzZGZCdGc_dmVyc2lvbj04/output/Resource/objects_avs.json.gz",
                        "ids": "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnV5VDhxZTA0VERTVERYQzJzZGZCdGc_dmVyc2lvbj04/output/Resource/objects_ids.json.gz"
                    }
                ],
                "views": [
                    {
                        "id": "f109b687",
                        "urn": "urn:adsk.wipprod:fs.file:vf.uyT8qe04TDSTDXC2sdfBtg?version=8",
                        "is3d": true,
                        "viewableName": "{3D}",
                        "viewableId": "24bb580c-5e74-4a65-bcae-e97c21424529-00027e16",
                        "viewableGuid": "a3186f12-7750-fa47-f60a-610a779ba5ac"
                    },
                    {
                        "id": "f24d458",
                        "urn": "urn:adsk.wipprod:fs.file:vf.uyT8qe04TDSTDXC2sdfBtg?version=8",
                        "is3d": true,
                        "viewableName": "New Construction",
                        "viewableId": "c884ae1b-61e7-4f9d-0001-719e20b22d0b-001225ae",
                        "viewableGuid": "b6e42cf6-432d-5c76-aa05-8909a2cc35c0"
                    }
                ]
            }
        ],
        "errors": [],
        "stats": {
            "objects": 33097,
            "contentLength": 1881318
        }
    }
    
    Show More

    The manifest header contains the following properties:

    PropertyTypeDescription
    schema string The version descriptor for the manifest schema version
    projectId guid The Autodesk/BIM 360 Docs project GUID
    status string The status of the index associated with this manifest. Possible values are PROCESSING, SUCCESS, PENDING or FAILED.
    createdAt datetime The index creation date time
    seedFiles array The list of seed files in the index
    errors array An array of errors associated with this manifest if the status is FAILED
    stats object Summary statistics for the number of objects in the index and the content length in bytes of the raw index properties resource

    The seedFiles array contains objects describing the file versions used to build the index. Properties in this file which are index keys are used to connect objects rows in property or index query files to the corresponding entries in the index manifest.

    PropertyTypeDescription
    lineageId string The ID assigned to the seed file in the index. Used as an object key to tie objects to lineages.
    lineageUrn string The The Autodesk/BIM 360 Docs Lineage URN
    versionUrn string The The Autodesk/BIM 360 Docs File Version URN for the file used to build the index
    databases array The list of SVF2 property database resources used to build the index
    views array The list of viewables extracted from the versionUrn in which objects in the index can be displayed in the Viewer

    The seedFiles.databases array contains the PDB database resources used to build the index. Properties that are index keys are used to connect objects rows in raw property or index query results to the corresponding entries in the index manifest.

    PropertyTypeDescription
    id string The ID assigned to the SVF2 property database used to extract the properties associated with the index. Used as an object key to tie objects to database.
    offsets string The SVF2 property database offsets resource
    attributes string The SVF2 property database attributes resource used to build the index fields resource
    values string The SVF2 property database property values resource
    mapping string The SVF2 property database mapping resource
    ids string The SVF2 property database ids resource

    The seedFiles.views array contains viewables which can be loaded into the Viewer to display the results of model property queries. Properties which are index keys are used to connect objects rows in raw property or index query results to the corresponding entries in the index manifest.

    PropertyTypeDescription
    id string The ID assigned to views containing objects in the index. Used as an object key to tie objects to views that can be loaded into the Viewer.
    urn string The The Autodesk/BIM 360 Docs File Version URN containing the view
    is3d boolean Flag indicating if the view is 3D
    viewableName string The viewable name of the view in the model derivative manifest for the Viewer
    viewableId string The viewableId of the view in the model derivative manifest for the Viewer
    viewableGuid string The viewable GUID of the view in the model derivative manifest for the Viewer

    The manifest for a diff index is almost identical to a basic index manifest. However it has a second seedfiles root node named prev that contains the seedFiles for the previous file version(s) passed as part of the diff index specification.

    Fields Resource

    ../../../_images/forge-viewer-model-properties.png

    The available Viewer properties in an index are described using the fields resource. The fields resource file contains NDJSON (new-line delimited JSON) with a field per line. Each line represents a unique field (dimension) in the index. The key property of a field is required to identify the column(s) required when formulating a query to run against an index.

    {"key":"p153cb174","category":"__name__","type":"String","name":"name","uom":null}
    {"key":"p74a9a490","category":"__document__","type":"String","name":"schema_name","uom":null}
    {"key":"p137c14f2","category":"__document__","type":"String","name":"schema_version","uom":null}
    {"key":"p1490bcea","category":"__document__","type":"Boolean","name":"is_doc_property","uom":null}
    {"key":"p5eddc473","category":"__category__","type":"String","name":"Category","uom":null}
    {"key":"p00723fa6","category":"Identity Data","type":"String","name":"Design Option","uom":null}
    {"key":"pe8094f29","category":"Other","type":"String","name":"Project Issue Date","uom":null}
    {"key":"p50756a0d","category":"Other","type":"String","name":"Client Name","uom":null}
    {"key":"p32791eb0","category":"Other","type":"String","name":"Project Address","uom":null}
    {"key":"pbf75ced9","category":"Other","type":"String","name":"Project Name","uom":null}
    {"key":"p8213f1ad","category":"Other","type":"String","name":"Project Number","uom":null}
    {"key":"pa7275c45","category":"__categoryId__","type":"Integer","name":"CategoryId","uom":null}
    {"key":"p93e93af5","category":"__parent__","type":"DbKey","name":"parent","uom":null}
    {"key":"p1d45bc4f","category":"Dimensions","type":"Double","name":"Computation Height","uom":"ft"}
    {"key":"pe01bd7ef","category":"Extents","type":"String","name":"Scope Box","uom":null}
    {"key":"p9fffb245","category":"Materials and Finishes","type":"Integer","name":"Color","uom":null}
    {"key":"p1b3b6224","category":"Materials and Finishes","type":"String","name":"Transparency","uom":null}
    {"key":"pd9fcab30","category":"Materials and Finishes","type":"Boolean","name":"Glow","uom":null}
    {"key":"pf62e5a3c","category":"Structural","type":"Double","name":"Structural Framing Length Roundoff","uom":"ft"}
    
    Show More

    More formally, each field is described as follows:

    PropertyNullableViewer VisibleDescription
    key No No The unique key for the dimension in the index
    category No Yes The attribute category name for the field from the original PDB
    type No No The attribute type ID from the original PDB
    name No Yes The attribute name from the original PDB
    uom Yes No The attribute unit of measure from the original PDB

    Using the example fields resource above, if you want to retrieve the value for a property with a category of __name__, a data type of String with a name equal to name, you need to use the key p153cb174. To retrieve the value for a property with a category of Structural, a data type of Double, a name equal to Structural Framing Length Roundoff, and a unit of measure set to ft, you use the key pf62e5a3c.

    Basic Properties Resource

    The properties resource contains the full index for the file version. The example row from a basic (non-diff) index is described in the table below.

    {
        "svf2Id": 68,
        "lineageId": "a19f7db",
        "externalId": "b5c4b31f-321a-418d-a61a-0c8e326aa154-0003f740",
        "lmvId": 2388,
        "databaseId": "3747dccf",
        "props": {
            "p00723fa6": "Main Model",
            "p09faf620": "HSS7X7X.250",
            "p0e507bbe": "None",
            "p13b6b3a0": "HSS7X7X.250",
            "p153cb174": "HSS-Hollow Structural Section-Column [259904]",
            "p188478f2": 0.485383241976329e0,
            "p20d8441e": "Structural Columns",
            "p2a0774a1": 0e0,
            "p30db51f9": "HSS-Hollow Structural Section-Column",
            "p34ed55db": "F-1.2",
            "p3c57b64e": "New Construction",
            "p54217060": "B10",
            "p5eddc473": "Revit Structural Columns",
            "p63ed81bb": "Superstructure",
            "p6637df3c": "Metal - Steel - ASTM A500 - Grade B - Rectangular and Square",
            "p69a0daab": 5833333333333334e-16,
            "p6aba1771": 0.01953125e0,
            "p751e1b21": true,
            "p773b5bd7": "Not Defined",
            "p801ffb64": 0.0390625e0,
            "p809920c7": "Square",
            "p953136d0": 0.04e0,
            "pa128dfb9": "Vertical",
            "pa57238c6": "Minimum Intersection",
            "pa7275c45": -2001330,
            "pa7456b2d": true,
            "pb5b8cef7": true,
            "pbadfe721": "BEARING",
            "pbb4f1bfe": "None",
            "pc2b858d6": 22.4e0,
            "pddd761c6": "FOUNDATION PLAN",
            "pe61a57c3": 0e0,
            "pee815a7f": "None",
            "pef87fde6": 0e0,
            "pf4ca60ab": 5833333333333334e-16,
            "pfa63d9d0": -9803431364364671e-16
        },
        "propsHash": "bcde34b3",
        "propsIgnored": {
            "p6a81eafd": 2386,
            "p93e93af5": 2387
        },
        "geomHash": "TCC2Cc9tvO4EVazM73O8BQ",
        "bboxMin": {
            "x": -1413565004170512e-13,
            "y": -5410244931321833e-14,
            "z": 10000000002097008e-14
        },
        "bboxMax": {
            "x": -14063352214982766e-14,
            "y": -53379471045994805e-15,
            "z": 11101965298365471e-14
        },
        "views": [
            "e7fda9d5",
            "12fcb372"
        ]
    }
    
    Show More

    Each JSON object row, like the example above, has the following standard properties:

    PropertyDescription
    svf2Id The SVF2 ID for this object in the Viewer
    lineageId The index manifest key for the file lineage that contains this index row
    externalId The SVF2 external ID associated with this row in the SVF2 property PDB database
    lmvId The SVF ID for this row in the Viewer
    databaseId The index manifest key for the PDB resource that contains this row
    props The field values associated with this object. This is a dynamic JSON object, the properties of which correspond to field keys from the fields resource created as part of the indexing process.
    propsHash A hash of the properties in this row, if this hash changes the properties associated with this row have changed
    propsIgnored The property field keys that were ignored when computing the row property hash
    geomHash A hash of the geometry that represents this object. If this hash changes, the object represented by this row is viewable and has changed shape.
    bboxMin The min (x,y,z) coordinates, which describe the minimum extent of a bounding box which contains this object
    bboxMax The max (x,y,z) coordinates, which describe the maximum extent of a bounding box which contains this object
    views The views in an indexed file that contain this row. If this array is null, the row (object) is not viewable in the Viewer. The view keys in this array belong to the index manifest. Using these keys it is possible to locate the URN of the viewable that can be loaded into the Viewer. Note, properties such as geomHash, bboxMin, bboxMax, lmvId, and svf2Id are only applicable to index rows that are viewable in the Viewer.

    Diff Properties Resource

    Diff index properties resources have an extended schema that builds on the schema for a basic index. The example row from a diff index is described in the table below.

    {
        "type": "OBJECT_CHANGED",
        "svf2Id": 160,
        "externalId": "552d2a83-4642-4d5c-8e7f-5de799129097-000d047a",
        "lmvId": 2699,
        "lineageId": "2b856593",
        "databaseId": "3d0bd846",
        "props": {
            "p002932a2": 0.0,
            "p01bbdcf2": "Arch-FIRST FLOOR",
            "p0337db30": true,
            "p09faf620": "45 Degree",
            "p13b6b3a0": "45 Degree",
            "p153cb174": "Round Transition - Angle [853114]",
            "p163279c5": 0.9999999999999983,
            "p1b2aabe1": 10.018420219779415,
            "p20d8441e": "Duct Fittings",
            "p240c30c1": "Coefficient from ASHRAE Table",
            "p2508403c": "12\"ø-10\"ø",
            "p2bb5b46f": 0.999999999999999,
            "p2c0bde18": "Supply Air",
            "p30db51f9": "Round Transition - Angle",
            "p3c57b64e": "New Construction",
            "p3caeb85d": 119.99999999999999,
            "p440a5662": 0.9999999999999991,
            "p4709f0b8": "12\"ø-10\"ø",
            "p512a7a70": 0.0,
            "p56cded73": 5.999999999999999,
            "p5eddc473": "Revit Duct Fittings",
            "p62b7a906": 5.999999999999999,
            "p6de3a8d7": 5.999999999999999,
            "p6e985a38": 0.0,
            "p73d90dae": 0.0,
            "p75e24cff": 0.9999999999999991,
            "p7f055981": 5.0,
            "p86cd967d": 0.0,
            "p875a6521": "12\"ø-10\"ø",
            "p8d70f1c5": "339",
            "p8f7dfe92": 0.0,
            "p92dc256f": 0.041666666666666664,
            "p9d8824be": 0.041666666666666664,
            "pa7275c45": -2008010,
            "pab5862eb": "Supply Air",
            "pb0457271": 2.414213562373096,
            "pb257d26e": 0.999999999999999,
            "pc9829743": "Air Ductwork",
            "pd395474b": 1.9999999999999982,
            "pdbb511ef": "SA",
            "pdbc25565": "23.75.70.14",
            "pe36ff9a6": "Mechanical Supply Air 2",
            "pe49040a7": 119.99999999999999,
            "pe5bcb794": 45.0,
            "pe61a57c3": 0.0,
            "pe62902c4": 0.999999999999999,
            "peda7f9c8": 2.4142135623730954,
            "pee815a7f": "None"
        },
        "propsHash": "66a75c85",
        "propsIgnored": {
            "p6a81eafd": 2545,
            "p93e93af5": 2546
        },
        "geomHash": "6w/Zb+NZyMwH6LwMwGKZyw",
        "bboxMin": {
            "x": -1413565004170512e-13,
            "y": -5410244931321833e-14,
            "z": 10000000002097008e-14
        },
        "bboxMax": {
            "x": -14063352214982766e-14,
            "y": -53379471045994805e-15,
            "z": 11101965298365471e-14
        },
        "views": [
            "f109b687",
            "f24d458"
        ],
        "prev": {
            "lmvId": 2699,
            "lineageId": "b28c3429",
            "databaseId": "936acb06",
            "props": {
                "p1b2aabe1": 10.5
            },
            "propsHash": "ad9828df",
            "propsIgnored": {
                "p6a81eafd": 2545,
                "p93e93af5": 2546
            },
            "geomHash": "4s1yfJZdOhnBu2DdFL4HEw",
            "bboxMin": {
                "x": -1813565004170512e-13,
                "y": -5410244931321833e-14,
                "z": 10000000002097008e-14
            },
            "bboxMax": {
                "x": -14063352214982766e-14,
                "y": -52379471045994805e-15,
                "z": 11101965298365471e-14
            },
            "views": [
                "f109b687",
                "8e525582"
            ]
        }
    }
    
    Show More
    PropertyDescription
    type The kind of change. OBJECT_ADDED, a new object has been added to the model. OBJECT_CHANGED, either the position/shape of the object (as defined by its bounding box) or the properties associated with the object have changed. OBJECT_REMOVED, the object was present in the previous version of the file processed for this index but it no longer exists in the current version.
    changeType If the type of the Diff row is OBJECT_CHANGED the changeType property will be emitted into the index row. This property describes the type of geometric change which has taken place. This property can have the following possible values. Transform, the position of the object has changed but its geometry remains the same. Geometry, the object has changed shape and the geomHash between the current and previous version of the object will be different. Unknown, the diff algorithm can not tell exactly how the geometry has changed. Usually this means the object is made up of two or more fragments and the transformation of the first fragment differs from the transformation of the second and subsequent fragments, so a single transformation can not explain the change. This property does not apply to model properties in the props and prev.props objects.
    svf2Id The SVF2 ID for this object in the Viewer
    lineageId The index manifest key for the file lineage that contains this index row
    externalId The SVF2 external ID that is associated with this row in the SVF2 property PDB database
    lmvId The SVF ID for this row in the Viewer
    databaseId The index manifest key for the PDB resource that contains this row
    props The field values associated with this object. This is a dynamic JSON object, the properties of which correspond to field keys from the fields resource created as part of the indexing process.
    propsHash A hash of the properties in this row. If this hash changes the properties associated with this row have changed.
    propsIgnored The property field keys which were ignored when computing the row property hash
    geomHash A hash of the geometry that represents this object. If this hash changes, the object represented by this row is viewable and has changed shape.
    bboxMin The min (x,y,z) coordinates describing the minimum extent of a bounding box that contains this object
    bboxMax The max (x,y,z) coordinates describing the maximum extent of a bounding box that contains this object
    views The views in an indexed file that contain this row. If this array is null, the row (object) is not viewable in the Viewer. The view keys in this array belong to the index manifest. Using these keys it is possible to locate the URN of the viewable that can be loaded into the Viewer. Note, properties such as geomHash, bboxMin, bboxMax, lmvId, and svf2Id are only applicable to index rows that are viewable in the Viewer.
    prev The previous version of the object. The props property, the properties associated with the object, are restricted to only the properties that are different (changed) between the current version of this object and the current version. You can use the propsHash and geomHash properties on both the current and prev to determine if the props or bbox* values are different.

    Results Resources

    Query results are line-delimited JSON files containing the rows matching the query filter. They are filtered subset of the raw properties resources created by indexing an individual file or creating a diff index between two versions of the same file. If no columns transformation has been applied as part of the query, the rows take the form of the properties resources described above. If a column transform is applied, the format of these rows is determined by the caller. See the accompanying query language reference for more details.

     
    ______
    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.