Forge Vewer v7 - 在默认 UI 中搜索

Posted

技术标签:

【中文标题】Forge Vewer v7 - 在默认 UI 中搜索【英文标题】:Forge Vewer v7 - Search in Default UI 【发布时间】:2022-01-03 12:39:21 【问题描述】:

我正在尝试在 Forge 查看器 v7 中使用 Autodesk.InViewerSearch 扩展,但我不断收到错误 new Autodesk.Viewing.A360ViewingApplication('forgeViewer', options) 不是构造函数。这个扩展在查看器 v7 中有效吗?如果我设置 new Autodesk.Viewing.GuiViewer3D(htmlDiv, config3d) 我的应用程序可以工作,但 Autodesk.InViewerSearch 未注册。

这是我的 Autodesk.Viewing.Initializer

Autodesk.Viewing.Initializer(options, function onInitialized() 
        // var randomId = makeid(36);
        var documentId = 'urn:' + urn;

        console.log(documentId);
        var config3d = 
            loaderExtensions:  svf: "Autodesk.MemoryLimited" ,
            extensions: [
                'Autodesk.DocumentBrowser',
                'Autodesk.Viewing.MarkupsCore',
                'Autodesk.Viewing.MarkupsGui',
                'Autodesk.VisualClusters',
               
                'Autodesk.InViewerSearch',
                'ToolbarExtension',
                'BoundingBoxExtension',
            ],
            inViewerSearchConfig: 
                uiEnabled: false,
                relatedItemsTab: 
                    enabled: true,  //If false, the tab is hidden.
                    displayName: 'This Item',
                    pageSize: 20
                ,
                loadedModelTab: 
                    enabled: true,  //If false, the tab is hidden.
                    displayName: 'This View',
                    pageSize: 50
                
            
            
        ;

        //viewerApp = new Autodesk.Viewing.A360ViewingApplication('forgeViewer', options);
        //viewerApp.registerViewer(viewerApp.k3D, Autodesk.Viewing.GuiViewer3D, config3d);
        // viewerApp.loadDocumentWithItemAndObject(documentId);
        //viewerApp.registerViewer(viewerApp.k3D, Autodesk.Viewing.Private.GuiViewer3D, config3d);
        //viewerApp.loadDocument(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);

        var htmlDiv = document.getElementById('forgeViewer');
        viewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv, config3d);
        var startedCode = viewer.start();

        if (startedCode > 0) 
            console.error('Failed to create a Viewer: WebGL not supported.');
            return;
        

        console.log('Initialization complete, loading a model next...');
        var documentId = 'urn:' + urn;

        Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);

    );

我的选项文件如下所示

 var options = 
        env: 'AutodeskProduction',
        getAccessToken: getForgeToken,
        api: 'derivativeV2' + (atob(urn.replace('_', '/')).indexOf('emea') > -1 ? '_EU' : ''),
        /*memory: 
            limit: 1024 // in MB
        */
    ;

在我的 index.html 中包含:

<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/three.min.js"></script>
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js"></script>

【问题讨论】:

【参考方案1】:

我没有在 Forge Viewer 代码库中找到 A360ViewingApplication 类和 Autodesk.InViewerSearch 扩展名,所以恐怕这些已在版本 7 中被删除。让我们知道你想通过扩展名实现什么,我确信使用查看器版本 7 实现该目标的方式有所不同。

【讨论】:

好吧,我想实现这样的东西:forge.autodesk.com/en/docs/viewer/v2/tutorials/… 但似乎在 v7 中这个扩展不存在。现在我看到在我的模型浏览器扩展中我有一些搜索功能,这可能与 v2 中的这个扩展相同吗?谢谢你的回答彼得。 我明白了。是的,搜索功能已移至模型浏览器,因此您不必担心任何其他扩展:imgur.com/a/9pPSFZq。

以上是关于Forge Vewer v7 - 在默认 UI 中搜索的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Forge Viewer v7 中折叠 PropertyPanel 中的类别?

Autodesk forge viewer api v7.* 对齐多个 2d dwg 模型

Autodesk Forge Viewer v7 - setThemingColor

Forge Viewer v7* 中的 SELECTION_CHANGED_ EVENT 问题

Autodesk Forge Viewer PDF 捕捉和缩放问题

Autodesk Forge v7:ES6 类中的事件侦听器