Forge Viewer 原生小地图展 Autodesk.AEC.Minimap3DExtension

更新于 3月26日  约 62 分钟

对Autodesk Forge有点熟悉的朋友可能都听过 viewer-navigation.sample 这个样例,他是Autodesk Forge官方第一个针对小地图这个需求推出的样例,他的执行画面长得像下面这样:

thumbnail.png
看到这里,你可能会想说直接拿他的代码来套用,但这样就不太妙了。因为他最主要的数据来源 rac.json 是手动产生、写死的 (hard-code),没办法套用在其他模型。

//https://github.com/Autodesk-Forge/viewer-navigation.sample/blob/master/www/rac.json
{
  "racsimple": {
    "viewboxes": [
      {
        "box": [
          61.30275909098552,
          572.8253921735151,
          411.29704813713875,
          251.63262845992332
        ],
        "floor": 0
      },
      {
        "box": [
          411.29704813713875,
          572.8253921735151,
          718.0903793548525,
          251.63262845992332
        ],
        "floor": 1
      }
    ],
    "floorHeight": 10,
    "floorBase": -5,
    "scale": 3.0529685252835925,
    "yoffset": 305.5828538654896,
    "xoffset": 173.35610564383717,
    "paperZ": -0.8462999999999852
  },
  "racadvanced": {
    "viewboxes": [
      {
        "box": [
          147.11470672360943,
          708.9971656430058,
          876.6206449475018,
          167.1180614813956
        ],
        "floor": 0
      }
    ],
    "floorHeight": 10,
    "floorBase": -17,
    "scale": 3.0487993483101437,
    "yoffset": 438.1741498717732,
    "xoffset": 742.2887834445044,
    "paperZ": -1.1969100000000026
  }
}

所幸在Autodesk开发部的同事们的努力下,小伙伴们呼声最大的 Forge Viewer原生小地图 (Minimap)功能终于释出了,借助AecModelData.json,感谢赞叹 BIM360 开发团队!他的执行画面长得像下面这样:

image

现在我们就来看看要怎么使用这个小地图扩展 (Autodesk.AEC.Minimap3DExtension),下面是加载步骤及注意事项:

  1. 上传 RVT 文檔到 Forge Model Derivative 转换 SVF
  2. 在 viewer 里加载 Autodesk.AEC.Minimap3DExtension 扩展前调用 Document.downloadAecModelData() 确保 AECModelData.json 数据有被加载。
  3. 在 viewer 里加载 Autodesk.AEC.Minimap3DExtension
  4. 切换导览工具到第一人称模式

注意1:这个样例使用到了另一个 Autodesk.AEC.LevelsExtension 扩展,用来进行楼层剖切
注意2:仅只持Revit 2018及之后版本的RVT文檔,
注意3:模型必须在 2019 年 5 月之后转换才会生成 AecModelData.json,在这之前的转换的模型可以透过在转换请求的标头加上 x-ads-force: true 参数来重新转换

  • 样例代码:
Autodesk.Viewing.Initializer(options, () => {

        const div = document.getElementById('forgeViewer');

        const config = { extensions:[ 
          'Autodesk.AEC.LevelsExtension', 
          'Autodesk.AEC.Minimap3DExtension'
        ]};

        viewer = new Autodesk.Viewing.Private.GuiViewer3D(div, config);
        viewer.start();
        Autodesk.Viewing.Document.load(`urn:${urn}`, (doc) => {
            var viewables = doc.getRoot().getDefaultGeometry();
            doc.downloadAecModelData();
            viewer.loadDocumentNode(doc, viewables).then( onLoadFinished );

            viewer.addEventListener( Autodesk.Viewing.TEXTURES_LOADED_EVENT, ()=>{
                viewer.getExtension('Autodesk.BimWalk').activate();
            });
        });
  • AecModelData.json的样例内容:
{
  "version": "1.0.0",
  "documentId": "89238809-6583-4ac2-a83a-29a2c04bc7b7",
  "phases": [
    {
      "name": "Existing"
    },
    {
      "name": "New Construction"
    }
  ],
  "levels": [
    {
      "guid": "e3e052f9-0156-11d5-9301-0000863f27ad-00000137",
      "name": "01 - Entry Level",
      "elevation": 0,
      "height": 12.467191601054822,
      "extension": {
        "buildingStory": true,
        "structure": false,
        "computationHeight": 3.9370078740157473,
        "groundPlane": false,
        "hasAssociatedViewPlans": true
      }
    },
    {
      "guid": "458c0e49-01bb-11d5-9302-0000863f27ad-000002b6",
      "name": "02 - Floor",
      "elevation": 12.467191601054822,
      "height": 12.467191601044725,
      "extension": {
        "buildingStory": true,
        "structure": false,
        "computationHeight": 3.9370078740157473,
        "groundPlane": false,
        "hasAssociatedViewPlans": true
      }
    },
    {
      "guid": "e755b16e-7be3-4a21-978e-6b4aa426b0a4-00021496",
      "name": "03 - Floor",
      "elevation": 24.934383202099546,
      "height": 12.46719160104987,
      "extension": {
        "buildingStory": true,
        "structure": false,
        "computationHeight": 3.9370078740157473,
        "groundPlane": false,
        "hasAssociatedViewPlans": true
      }
    },
    {
      "guid": "e755b16e-7be3-4a21-978e-6b4aa426b0a4-00021642",
      "name": "Roof",
      "elevation": 37.401574803149416,
      "height": 1.968503937008066,
      "extension": {
        "buildingStory": true,
        "structure": false,
        "computationHeight": 0,
        "groundPlane": false,
        "hasAssociatedViewPlans": true
      }
    },
    {
      "guid": "e755b16e-7be3-4a21-978e-6b4aa426b0a4-0002175f",
      "name": "Parapet",
      "elevation": 39.37007874015748,
      "height": 2147483647,
      "extension": {
        "buildingStory": true,
        "structure": false,
        "computationHeight": 0,
        "groundPlane": false,
        "hasAssociatedViewPlans": false
      }
    }
  ],
  "scopeBoxes": [],
  "refPointTransformation": [
    1,
    0,
    0,
    0,
    1,
    0,
    0,
    0,
    1,
    30.190286881875068,
    74.26201240177767,
    0
  ],
  "levelOccluderIds": [
    1942,
    2174,
    2185,
    2228,
    2418,
    2488,
    2497,
    2504,
    2511,
    2520,
    2527,
    2534,
    2737,
    3170,
    3244,
    3319,
    3424,
    3431,
    3438,
    3446,
    3453,
    3460,
    3467,
    3474,
    3481,
    3488,
    3495,
    3502,
    3509,
    3516,
    3523,
    3530,
    3537,
    3544,
    3551,
    3558,
    3577,
    3588,
    3595,
    3606,
    3614,
    3621,
    3628,
    3635,
    3642,
    3649,
    3656,
    3663,
    3670,
    3677,
    3684,
    3691,
    3698,
    3707,
    3714,
    3721,
    3732,
    3743,
    3750,
    3757,
    3764,
    3771,
    3779,
    3786,
    3793,
    3800,
    3807,
    3814,
    3821,
    3828,
    3835,
    9601,
    9609,
    9616,
    9623,
    9630,
    9637,
    9644,
    9651,
    9658,
    9665,
    9672,
    9679,
    9688,
    9921,
    10983,
    11078,
    11116
  ],
  "viewports": [
    {
      "isCropBoxActive": false,
      "hasBreaks": false,
      "sheetGuid": "951810cc-7a73-4765-9179-f5744ba5d821-0003406e",
      "viewportGuid": "cc291a47-39ca-457c-960e-49cf09e96b08-000340ab",
      "viewGuid": "c3f5348f-6947-4ddf-aa1e-749882f86acc-00000138",
      "viewType": "FloorPlan",
      "viewportRotation": 0,
      "scale": 100,
      "sectionBox": {
        "min": {
          "x": -100,
          "y": -100,
          "z": 0
        },
        "max": {
          "x": 100,
          "y": 100,
          "z": 7.545931758530184
        },
        "transform": [
          1,
          0,
          0,
          0,
          1,
          0,
          0,
          0,
          1,
          0,
          0,
          0
        ]
      },
      "cameraOrientation": [
        0,
        0,
        -1,
        0,
        1,
        0,
        0,
        0,
        0
      ],
      "viewportPosition": [
        0.22510067846107396,
        0.2630401607999413,
        -0.05,
        3.0096742380117725,
        2.557984259914586,
        0.40353674540682416
      ],
      "extensions": {
        "viewRange": {
          "cutPlane": {
            "levelGuid": "e3e052f9-0156-11d5-9301-0000863f27ad-00000137",
            "offset": 4.2650918635170605
          },
          "topClipPlane": {
            "levelGuid": "e3e052f9-0156-11d5-9301-0000863f27ad-00000137",
            "offset": 7.545931758530184
          },
          "bottomClipPlane": {
            "levelGuid": "e3e052f9-0156-11d5-9301-0000863f27ad-00000137",
            "offset": 0
          }
        },
        "hasRegions": false,
        "farClipOffsetActive": false,
        "farClipOffset": 100
      }
    },
    {
      "isCropBoxActive": true,
      "hasBreaks": false,
      "sheetGuid": "951810cc-7a73-4765-9179-f5744ba5d821-0003407c",
      "viewportGuid": "cc291a47-39ca-457c-960e-49cf09e96b08-000340ac",
      "viewGuid": "de86ce8d-8c1b-4f1e-abf4-01bc42b9c1b7-00033df1",
      "viewType": "Section",
      "viewportRotation": 0,
      "scale": 100,
      "sectionBox": {
        "min": {
          "x": -97.66341466589519,
          "y": -25.61375675754459,
          "z": -93.38398065969155
        },
        "max": {
          "x": 103.32878762326291,
          "y": 25.613756757544568,
          "z": 0
        },
        "transform": [
          0,
          -1,
          0,
          0,
          0,
          1,
          -1,
          0,
          0,
          8.86615918543235,
          13.07471614672535,
          20.61375675754459
        ]
      },
      "cameraOrientation": [
        1,
        0,
        0,
        0,
        0,
        1,
        8.86615918543235,
        13.07471614672535,
        20.61375675754459
      ],
      "viewportPosition": [
        1.0956712857948436,
        1.984026656229838,
        -6.5613994433019265,
        3.239287335054674,
        2.5888907528670546,
        0.010000000000000194
      ],
      "geometryViewportRegion": [
        1.1185725748434738,
        1.9894156872502593,
        -0.15099720079659512,
        3.1484945977350547,
        2.5216908224011507,
        0.0986615918543235
      ],
      "extensions": {
        "farClipping": 2,
        "farClipOffsetActive": true,
        "farClipOffset": 93.38398065969155
      }
    },
    {
      "isCropBoxActive": true,
      "hasBreaks": false,
      "sheetGuid": "951810cc-7a73-4765-9179-f5744ba5d821-0003407c",
      "viewportGuid": "cc291a47-39ca-457c-960e-49cf09e96b08-000340ad",
      "viewGuid": "b3ac8313-71ac-4cfd-afdb-6741a492bbdb-00033f1e",
      "viewType": "Section",
      "viewportRotation": 0,
      "scale": 20,
      "sectionBox": {
        "min": {
          "x": 82.92780801409484,
          "y": -26.152659859586716,
          "z": -93.38398065969155
        },
        "max": {
          "x": 95.48529326567404,
          "y": 23.694560709091082,
          "z": -23.44919790190096
        },
        "transform": [
          0,
          -1,
          0,
          0,
          0,
          1,
          -1,
          0,
          0,
          8.86615918543235,
          13.07471614672535,
          20.61375675754459
        ]
      },
      "cameraOrientation": [
        1,
        0,
        0,
        0,
        0,
        1,
        8.86615918543235,
        13.07471614672535,
        20.61375675754459
      ],
      "viewportPosition": [
        0.14292475078415623,
        0.17125162189816034,
        -32.76699721650964,
        0.9850144825232203,
        2.68361265033205,
        0.010000000000000111
      ],
      "geometryViewportRegion": [
        0.22690912578415623,
        0.17125162189816034,
        -0.7149860039829754,
        0.8747833883631169,
        2.68361265033205,
        0.45330795927161754
      ],
      "extensions": {
        "farClipping": 0,
        "farClipOffsetActive": true,
        "farClipOffset": 93.38398065969155
      }
    },
    {
      "isCropBoxActive": true,
      "hasBreaks": false,
      "sheetGuid": "951810cc-7a73-4765-9179-f5744ba5d821-0003407c",
      "viewportGuid": "cc291a47-39ca-457c-960e-49cf09e96b08-000340ae",
      "viewGuid": "b3ac8313-71ac-4cfd-afdb-6741a492bbdb-00033f29",
      "viewType": "Detail",
      "viewportRotation": 0,
      "scale": 10,
      "sectionBox": {
        "min": {
          "x": 86.87047755078696,
          "y": -24.204091026103608,
          "z": -93.38398065969155
        },
        "max": {
          "x": 90.82312455077583,
          "y": -17.67274809042608,
          "z": -23.44919790190096
        },
        "transform": [
          0,
          -1,
          0,
          0,
          0,
          1,
          -1,
          0,
          0,
          8.86615918543235,
          13.07471614672535,
          20.61375675754459
        ]
      },
      "cameraOrientation": [
        1,
        0,
        0,
        0,
        0,
        1,
        8.86615918543235,
        13.07471614672535,
        20.61375675754459
      ],
      "viewportPosition": [
        1.1796556607948439,
        0.17785953814361455,
        -65.52399443301928,
        1.8193077171727954,
        0.8542867967856693,
        0.8966159185432351
      ],
      "geometryViewportRegion": [
        1.1796556607948439,
        0.18115250321791643,
        -1.4199720079659508,
        1.5949203607937303,
        0.8542867967856693,
        0.8966159185432351
      ],
      "extensions": {
        "farClipping": 0,
        "farClipOffsetActive": true,
        "farClipOffset": 93.38398065969155
      }
    },
    {
      "isCropBoxActive": true,
      "hasBreaks": false,
      "sheetGuid": "951810cc-7a73-4765-9179-f5744ba5d821-0003407c",
      "viewportGuid": "247f08db-baef-4a0d-a650-546dfa157d3d-00037d71",
      "viewGuid": "6410a3f2-ba08-443a-87fb-28d95cc786d0-00036c80",
      "viewType": "Detail",
      "viewportRotation": 0,
      "scale": 10,
      "sectionBox": {
        "min": {
          "x": 87.91794994609653,
          "y": 14.993366194969159,
          "z": -93.38398065969155
        },
        "max": {
          "x": 91.17297064732418,
          "y": 20.968735552293456,
          "z": -23.44919790190096
        },
        "transform": [
          0,
          -1,
          0,
          0,
          0,
          1,
          -1,
          0,
          0,
          8.86615918543235,
          13.07471614672535,
          20.61375675754459
        ]
      },
      "cameraOrientation": [
        1,
        0,
        0,
        0,
        0,
        1,
        8.86615918543235,
        13.07471614672535,
        20.61375675754459
      ],
      "viewportPosition": [
        1.2004185253257986,
        0.9240066763323436,
        -9.348398065969155,
        1.740136064608664,
        1.5415436120647736,
        0.01
      ],
      "geometryViewportRegion": [
        1.2844029003257986,
        0.9240066763323436,
        -1.4199720079659508,
        1.6299049704485633,
        1.5415436120647736,
        0.8966159185432351
      ],
      "extensions": {
        "farClipping": 0,
        "farClipOffsetActive": true,
        "farClipOffset": 93.38398065969155
      }
    }
  ],
  "grids": [
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021867",
      "label": "1",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -30.1902868818751,
        -92.88455485165336,
        -1,
        -30.190286881874762,
        116.18149374040523,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021867",
          "points": {
            "start": [
              -30.1902868818751,
              -92.88455485165336,
              0
            ],
            "end": [
              -30.190286881874762,
              116.18149374040523,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-000218c9",
      "label": "2",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        2.476379784792229,
        -92.88455485165338,
        -1,
        2.476379784792566,
        116.18149374040517,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-000218c9",
          "points": {
            "start": [
              2.476379784792229,
              -92.88455485165338,
              0
            ],
            "end": [
              2.476379784792566,
              116.18149374040519,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021912",
      "label": "3",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        21.809713118125565,
        -92.8845548516534,
        -1,
        21.809713118125902,
        116.18149374040514,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021912",
          "points": {
            "start": [
              21.809713118125565,
              -92.8845548516534,
              0
            ],
            "end": [
              21.809713118125902,
              116.18149374040516,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-0002194e",
      "label": "4",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        42.47637978479193,
        -92.88455485165345,
        -1,
        42.47637978479227,
        116.18149374040512,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-0002194e",
          "points": {
            "start": [
              42.47637978479193,
              -92.88455485165345,
              0
            ],
            "end": [
              42.47637978479227,
              116.18149374040512,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021991",
      "label": "5",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        63.80971311812524,
        -92.88455485165348,
        -1,
        63.80971311812558,
        116.18149374040507,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021991",
          "points": {
            "start": [
              63.80971311812524,
              -92.88455485165348,
              0
            ],
            "end": [
              63.80971311812558,
              116.18149374040509,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-000219ce",
      "label": "6",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        85.14304645145856,
        -92.88455485165355,
        -1,
        85.14304645145889,
        116.18149374040505,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-000219ce",
          "points": {
            "start": [
              85.14304645145856,
              -92.88455485165355,
              0
            ],
            "end": [
              85.14304645145889,
              116.18149374040505,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-000219fe",
      "label": "7",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        106.47637978479199,
        -92.88455485165358,
        -1,
        106.47637978479209,
        -27.583168266759145,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-000219fe",
          "points": {
            "start": [
              106.47637978479199,
              -92.88455485165358,
              0
            ],
            "end": [
              106.47637978479209,
              -27.583168266759145,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021a39",
      "label": "8",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        127.8097131181253,
        -92.88455485165362,
        -1,
        127.80971311812542,
        -27.583168266759188,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021a39",
          "points": {
            "start": [
              127.8097131181253,
              -92.88455485165362,
              0
            ],
            "end": [
              127.80971311812542,
              -27.583168266759188,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021a6f",
      "label": "9",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        149.14304645145862,
        -92.8845548516537,
        -1,
        149.14304645145873,
        -27.583168266759216,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021a6f",
          "points": {
            "start": [
              149.14304645145862,
              -92.8845548516537,
              0
            ],
            "end": [
              149.1430464514587,
              -27.583168266759216,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021ac1",
      "label": "10",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        184.47637978479187,
        -92.88455485165369,
        -1,
        184.476379784792,
        -27.58316826675926,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021ac1",
          "points": {
            "start": [
              184.47637978479187,
              -92.88455485165369,
              0
            ],
            "end": [
              184.47637978479196,
              -27.58316826675926,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021b75",
      "label": "A",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191336972,
        98.40465426488733,
        -1,
        101.12640919516713,
        98.40465426488784,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021b75",
          "points": {
            "start": [
              -55.77805191336972,
              98.40465426488784,
              0
            ],
            "end": [
              101.12640919516713,
              98.40465426488733,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021bc5",
      "label": "B",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.778051913369765,
        74.40465426488748,
        -1,
        101.12640919516706,
        74.40465426488798,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021bc5",
          "points": {
            "start": [
              -55.778051913369765,
              74.40465426488798,
              0
            ],
            "end": [
              101.12640919516706,
              74.40465426488747,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021c01",
      "label": "C",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191336981,
        63.73798759822067,
        -1,
        101.12640919516701,
        63.73798759822118,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021c01",
          "points": {
            "start": [
              -55.77805191336981,
              63.73798759822118,
              0
            ],
            "end": [
              101.12640919516701,
              63.73798759822066,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021c64",
      "label": "D",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.778051913369936,
        43.07132093155447,
        -1,
        32.27547120682611,
        43.07132093155475,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021c64",
          "points": {
            "start": [
              -55.778051913369936,
              43.07132093155475,
              0
            ],
            "end": [
              32.27547120682611,
              43.07132093155447,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021c9a",
      "label": "E",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191337001,
        22.404654264887768,
        -1,
        32.27547120682604,
        22.404654264888052,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021c9a",
          "points": {
            "start": [
              -55.77805191337001,
              22.404654264888052,
              0
            ],
            "end": [
              32.27547120682604,
              22.40465426488777,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021cda",
      "label": "F",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191337001,
        1.7379875982211241,
        -1,
        32.27547120682598,
        1.7379875982214088,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021cda",
          "points": {
            "start": [
              -55.77805191337001,
              1.7379875982214088,
              0
            ],
            "end": [
              32.27547120682598,
              1.7379875982211241,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021d12",
      "label": "G",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191337009,
        -18.928679068445696,
        -1,
        51.61899815678648,
        -18.928679068445348,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021d12",
          "points": {
            "start": [
              -55.77805191337009,
              -18.928679068445348,
              0
            ],
            "end": [
              51.61899815678649,
              -18.928679068445696,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021d4b",
      "label": "H",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.778051913370206,
        -39.5953457351133,
        -1,
        192.75382350664086,
        -39.595345735112495,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021d4b",
          "points": {
            "start": [
              -55.778051913370206,
              -39.595345735112495,
              0
            ],
            "end": [
              192.75382350664086,
              -39.5953457351133,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021d83",
      "label": "I",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.778051913370234,
        -50.26201240177994,
        -1,
        192.7538235066408,
        -50.26201240177914,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021d83",
          "points": {
            "start": [
              -55.778051913370234,
              -50.26201240177914,
              0
            ],
            "end": [
              192.7538235066408,
              -50.26201240177994,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021dc7",
      "label": "J",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191337029,
        -74.2620124017784,
        -1,
        192.75382350664074,
        -74.26201240177761,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "ca95b0fd-ff46-4c93-859e-c33943bda831-00021dc7",
          "points": {
            "start": [
              -55.77805191337029,
              -74.26201240177761,
              0
            ],
            "end": [
              192.75382350664074,
              -74.26201240177842,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "3afed900-237c-4b27-b704-863019b98caf-000220b8",
      "label": "1.1",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -6.190286881874716,
        -92.88455485165342,
        -1,
        -6.190286881874378,
        116.18149374040519,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "3afed900-237c-4b27-b704-863019b98caf-000220b8",
          "points": {
            "start": [
              -6.190286881874716,
              -92.88455485165342,
              0
            ],
            "end": [
              -6.190286881874378,
              116.1814937404052,
              0
            ]
          }
        }
      ]
    },
    {
      "id": "3afed900-237c-4b27-b704-863019b98caf-00022108",
      "label": "F.1",
      "document": "rac_advanced_sample_project.rvt",
      "boundingBox": [
        -55.77805191337007,
        -4.637012401778671,
        -1,
        51.61899815678653,
        -4.637012401778324,
        48.68241469816253
      ],
      "segments": [
        {
          "type": 1,
          "guid": "3afed900-237c-4b27-b704-863019b98caf-00022108",
          "points": {
            "start": [
              -55.77805191337007,
              -4.637012401778324,
              0
            ],
            "end": [
              51.61899815678654,
              -4.637012401778671,
              0
            ]
          }
        }
      ]
    }
  ],
  "linkedDocuments": [],
  "locationParameters": {
    "placeName": "Manchester, NH"
  }
}

可动样例网址:https://wallabyway.github.io/...

阅读 140更新于 3月26日

推荐阅读
目录