{"id":12,"date":"2021-11-05T10:25:26","date_gmt":"2021-11-05T10:25:26","guid":{"rendered":"https:\/\/thewaywebuild.io\/blog\/?page_id=12"},"modified":"2025-11-04T13:15:34","modified_gmt":"2025-11-04T13:15:34","slug":"notre-dame-de-paris","status":"publish","type":"page","link":"https:\/\/thewaywebuild.io\/blog\/?page_id=12","title":{"rendered":"Notre-Dame de Paris"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"603\" src=\"https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/ND-1024x603.png\" alt=\"\" class=\"wp-image-102\" srcset=\"https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/ND-1024x603.png 1024w, https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/ND-300x177.png 300w, https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/ND-768x453.png 768w, https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/ND.png 1149w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/Notre-Dame sheets.pdf\">Sheets<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/Notre Dame.nwd\">Navisworks<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thewaywebuild.io\/blog\/wp-content\/uploads\/2021\/11\/TWWB_ND.zip\">Enscape<\/a><\/p>\n\n\n\n<!-- Forge Viewer CSS and JS -->\n<link rel=\"stylesheet\" href=\"https:\/\/developer.api.autodesk.com\/modelderivative\/v2\/viewers\/7.*\/style.min.css\"\n      type=\"text\/css\">\n<script src=\"https:\/\/developer.api.autodesk.com\/modelderivative\/v2\/viewers\/7.*\/viewer3D.min.js\"><\/script>\n\n<div id=\"forgeViewer\" style=\"width: 100%; height: 600px; position: relative;\"><\/div>\n\n<script>\n    let viewer;\n\n    const getAccessTokenFromPhp = async () =>\n    {\n        const {access_token, expires_in} =\n            await (await fetch('\/blog\/?rest_route=\/aps\/v1\/token')).json();\n        return access_token;  \/\/ Return just the token\n    };\n\n    (async () =>\n    {\n\n        const token = await getAccessTokenFromPhp();\n        \/\/console.log(token);\n        if (token === null || token === undefined)\n            console.error('Failed to get token.');\n\n        var options = {\n            env: 'AutodeskProduction2', \/\/ Use 'AutodeskProduction' for SVF\n            api: 'streamingV2', \/\/ Use 'derivativeV2' for SVF\n            getAccessToken: async function (onTokenReady)\n            {\n                const timeInSeconds = 3600; \/\/ Use value provided by APS Authentication (OAuth) API\n                onTokenReady(token, timeInSeconds);\n            }\n        };\n\n        Autodesk.Viewing.FeatureFlags.set('DS_ENDPOINTS', true); \/\/ Enable automatic region routing\n\n        Autodesk.Viewing.Initializer(options, function ()\n        {\n\n            var htmlDiv = document.getElementById('forgeViewer');\n            viewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv, { extensions: ['Autodesk.DocumentBrowser', 'Autodesk.Explode'] });\n            var startedCode = viewer.start();\n            if (startedCode > 0)\n            {\n                console.error('Failed to create a Viewer: WebGL not supported.');\n                return;\n            }\n\n            console.log('Initialization complete, loading a model next...');\n\n        });\n\n        const accId = 'urn:dXJuOmFkc2sud2lwZW1lYTpmcy5maWxlOnZmLjZ3TE5kYjNUUUZhNDEtRUtYRnM0dlE_dmVyc2lvbj0z'\n\n        Autodesk.Viewing.Document.load(accId, onDocumentLoadSuccess, onDocumentLoadFailure);\n\n    })();\n\n    function onDocumentLoadSuccess(viewerDocument)\n    {\n        var viewables = viewerDocument.getRoot().search({'type': 'geometry'});\n\n        \/\/ Find view by exact name\n        var targetView = viewables.find(view =>\n            view.data.name === 'Gamma AR'  \/\/ Replace with your exact view name\n        );\n\n        if (targetView)\n        {\n            viewer.loadDocumentNode(viewerDocument, targetView);\n            console.log('Loaded view:', targetView.data.name);\n        }\n        else\n        {\n            console.log('View not found, loading default');\n            viewer.loadDocumentNode(viewerDocument, viewables[0]);\n        }\n    }\n\n    function onDocumentLoadFailure()\n    {\n        console.error('Failed fetching Forge manifest');\n    }\n\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Sheets Navisworks Enscape<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":41,"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":183,"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions\/183"}],"wp:attachment":[{"href":"https:\/\/thewaywebuild.io\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}