【问题标题】:Get different 3d views within item selected in Autodesk forge在 Autodesk forge 中选择的项目中获取不同的 3d 视图
【发布时间】:2021-06-18 23:25:47
【问题描述】:

我们使用 Autodesk Forge 中的数据管理 API 获取中心、文件夹列表、文件夹中的项目。

参考:https://forge.autodesk.com/en/docs/data/v2/reference/http/

如果我们想显示所选项目(例如 file1.rvt)中存在的所有 3d 视图(名称和缩略图),如何获取数据?

【问题讨论】:

    标签: autodesk-forge autodesk


    【解决方案1】:

    为此,您需要为要显示视图/缩略图的文件项的版本提取清单和元数据。在您的项目有效负载中,您将找到所有可用的版本。获取最新的并找到它的“id”,如下所示:

    "id": "urn:adsk.wipprod:fs.file:vf.7aKButAtTo-VRvSJqZl0jg?version=13",
    

    将其编码为安全的 Base64 编码。对 ID 进行安全编码很重要,否则您可能会得到 '=' '-' '/' 字符,这些字符稍后在 GET URL 路径上无效。

    dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjdhS0J1dEF0VG8tVlJ2U0pxWmwwamc_dmVyc2lvbj0xMw
    

    要获得视图,您通常会拉动metadata 并获得如下内容:

    {
        "data": {
            "type": "metadata",
            "metadata": [
                {
                    "name": "3D View: View 01",
                    "role": "3d",
                    "guid": "a6128518-dcf0-967b-31a1-3439a375daeb"
                },
                {
                    "name": "3D View: View 02",
                    "role": "3d",
                    "guid": "488e0550-6e79-38b3-9f56-ae8fd21416bb"
                },
                {
                    "name": "Sheet: A00 - SITE PLAN",
                    "role": "2d",
                    "guid": "beaab4e2-9abc-8ca2-4e65-23df60e4b6a7"
                }
           ]
       }
    }
    

    有 2 种缩略图 - 文件缩略图,通常是上次保存文件时处于活动状态的视图。您可以通过GET /thumbnail API 获取该缩略图。但是如果要获取所有视图的缩略图,则需要拉取manifest 并解析JSON 响应。你会得到这样的回复(为了让这篇文章的阅读更容易,我简化了下面的回复)。

    您将搜索具有“角色”===“缩略图”的子节点。它的父级会告诉您它附加到哪个视图。值得注意的是,您实际上并不需要调用 /metadata 端点,因为只要您知道在哪里阅读清单,清单就已经为您提供了所有信息。例如,假设我想为工作表视图获取 200x200 的缩略图分辨率。

    我将搜索具有“type”===“geometry”&&“role”===“2d”的节点,然后在其子节点中搜索具有“role”===“thumbnail”&&“的节点分辨率” === [200, 200]。从那个节点,我得到了派生URN(即“urn”:“urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/e28378ef-7b4a-878f-cb72-26fbb1a28b2e_f2d/thumbnail_200.png”)现在我可以使用GET :urn/manifest/:derivativeurn 端点来获取缩略图文件。就是这样。

    注意,父节点具有视图名称,其子节点之一具有“role” === “graphics” && “mime”:“application/autodesk-f2d”,以及与元数据响应中的条目。因此,您可以从元数据端点的清单中提取名称和 guid 视图。 (对于 3D 视图,您需要搜索“mime”:“application/autodesk-svf”或“mime”:“application/autodesk-svf2”,具体取决于您将模型翻译成的格式)。

    {
        "urn": "dXJuOm...uZHdmeA",
        "derivatives": [
            {
                "hasThumbnail": "true",
                "children": [
                    {
                        "role": "3d",
                        "hasThumbnail": "true",
                        "children": [
                           {
                                "role": "graphics",
                                "mime": "application/autodesk-svf2",
                                "guid": "a6128518-dcf0-967b-31a1-3439a375daeb",
                                "type": "resource"
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/f0224dd3-8767-45c1-ff99-5c9c881b9fee/0.svf.png01_thumb_400x400.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "630d764b-6e55-4d17-8446-6858454d8158",
                                "type": "resource",
                                "resolution": [400, 400]
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/f0224dd3-8767-45c1-ff99-5c9c881b9fee/0.svf.png01_thumb_200x200.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "7294c4f7-55ec-41d7-94e5-98c7294d1ae1",
                                "type": "resource",
                                "resolution": [200, 200]
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/f0224dd3-8767-45c1-ff99-5c9c881b9fee/0.svf.png01_thumb_100x100.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "d1f2f54d-1ce7-49e0-8360-24f212a0cb33",
                                "type": "resource",
                                "resolution": [100, 100]
                            },
                            ...
                        ],
                        "name": "3D View: View 01",
                        "guid": "f0224dd3-8767-45c1-ff99-5c9c881b9fee",
                        "progress": "complete",
                        "type": "geometry",
                        "properties": {...},
                        "status": "success",
                        "viewableID": "f0224dd3-8767-45c1-ff99-5c9c881b9fee"
                    },
                    {
                        "role": "3d",
                        "hasThumbnail": "true",
                        "children": [
                            {
                                "role": "graphics",
                                "mime": "application/autodesk-svf2",
                                "guid": "488e0550-6e79-38b3-9f56-ae8fd21416bb",
                                "type": "resource"
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/5f6ae103-9de8-048e-f858-c7b0b0b9f46c/1.svf.png01_thumb_400x400.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "e4ff0fb3-20a0-43c2-b01a-e35f08205ea9",
                                "type": "resource",
                                "resolution": [ 400, 400 ]
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/5f6ae103-9de8-048e-f858-c7b0b0b9f46c/1.svf.png01_thumb_200x200.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "0fe4e17a-8eb9-49c3-bfca-7f8e747ae779",
                                "type": "resource",
                                "resolution": [ 200, 200 ]
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/5f6ae103-9de8-048e-f858-c7b0b0b9f46c/1.svf.png01_thumb_100x100.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "b0353527-cade-48bb-bbfc-7b544ea2d0ae",
                                "type": "resource",
                                "resolution": [ 100, 100 ]
                            },
                            ...
                        ],
                        "name": "3D View: View 02",
                        "guid": "5f6ae103-9de8-048e-f858-c7b0b0b9f46c",
                        "progress": "complete",
                        "type": "geometry",
                        "properties": {...},
                        "status": "success",
                        "viewableID": "5f6ae103-9de8-048e-f858-c7b0b0b9f46c"
                    },
                    {
                        "guid": "e28378ef-7b4a-878f-cb72-26fbb1a28b2e",
                        "type": "geometry",
                        "role": "2d",
                        "name": "Sheet: A00 - SITE PLAN",
                        "status": "success",
                        "hasThumbnail": "true",
                        "progress": "complete",
                        "viewableID": "com.autodesk.dwf.ePlot_281AFDC7-8CE7-4D19-BE69-A47E6364BF53",
                        "children": [
                           {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/e28378ef-7b4a-878f-cb72-26fbb1a28b2e_f2d/primaryGraphics.f2d",
                                "role": "graphics",
                                "mime": "application/autodesk-f2d",
                                "guid": "beaab4e2-9abc-8ca2-4e65-23df60e4b6a7",
                                "type": "resource",
                                "status": "success"
                            },
                            {
                                "guid": "382e91af-fb2f-4782-a058-6bff5a477c89",
                                "type": "view",
                                "role": "2d",
                                "name": "Sheet: A00 - SITE PLAN",
                                "viewbox": [...]
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/e28378ef-7b4a-878f-cb72-26fbb1a28b2e_f2d/thumbnail_400.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "74d8c07b-0703-2505-8c78-c4d7c95fd620",
                                "type": "resource",
                                "resolution": [400, 400],
                                "status": "success"
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/e28378ef-7b4a-878f-cb72-26fbb1a28b2e_f2d/thumbnail_200.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "0aec7773-5a02-c9ed-37b2-0e92020dc63a",
                                "type": "resource",
                                "resolution": [200, 200],
                                "status": "success"
                            },
                            {
                                "urn": "urn:adsk.viewing:fs.file:dXJuOm...uZHdmeA/output/e28378ef-7b4a-878f-cb72-26fbb1a28b2e_f2d/thumbnail_100.png",
                                "role": "thumbnail",
                                "mime": "image/png",
                                "guid": "91011625-63a4-1165-4e6f-700dedff94a7",
                                "type": "resource",
                                "resolution": [ 100, 100 ],
                                "status": "success"
                            },
                            ...
                        ]
                    }
                ],
                "name": "Myfile.rvt",
                "progress": "complete",
                "outputType": "svf2",
                "status": "success"
            }
        ],
        "hasThumbnail": "true",
        "progress": "complete",
        "type": "manifest",
        "region": "US",
        "version": "1.0",
        "status": "success"
    }
    

    【讨论】:

      猜你喜欢
      • 2017-01-09
      • 2021-06-13
      • 2019-04-05
      • 2021-08-29
      • 2017-02-21
      • 2020-10-09
      • 2021-10-24
      • 2015-02-12
      • 2019-07-13
      相关资源
      最近更新 更多