【问题标题】:Forge rcdb ModelLoader - Link my database's models to ModelLoaderForge rcdb ModelLoader - 将我的数据库模型链接到 ModelLoader
【发布时间】:2018-07-20 03:41:27
【问题描述】:

我正在尝试使用 forge-rcdb 从 Revit 显示我自己的模型。目前,我可以显示一个模型及其属性。下一步是在同一个查看器中显示 2 个模型。 ModelLoader 面板显示良好,但是当我单击“+”添加另一个模型时,我的模型列表出现在模型列表中。但是当我真正选择一个时......什么都没有。

我将一些模型放在rcdb.models.jsonrcdb.gallery.json 中(我只有它们的路径)。它们确实出现在“选择模型”面板中

我尝试分析文件 Viewing.Extension.ModelLoader.js 和 ModelSvc.js。里面的一些函数调用模型 urn 和一些叫做:“apiUrl”的东西。

就我而言,由于我使用自己的模型,所以我只有路径,没有骨灰盒。

在控制台面板中,出现以下错误:

Uncaught (in promise) DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.

无论我选择哪种型号,我都会遇到此错误。我使用的两个模型是我的,两个来自 Autodesk 默认模型(所以它们有一个骨灰盒)。

所以我的第一个问题是:我的模型是否需要一个骨灰盒,因为这些功能似乎可以使用它(我不确定),当我只有一条路径时如何获得骨灰盒?

第二个问题:什么是“apiUrl”,它描述了什么以及如何使用它?

第三个问题:我试过this example,当我显示控制台时,它似乎调用了一些API/gallery文件夹,里面有strange things。它包含什么,它是否链接到“apiUrl”以及ModelLoade中显示的内容-选择模型面板?

【问题讨论】:

    标签: node.js autodesk-forge autodesk-viewer 3d-model


    【解决方案1】:

    您需要看一下这篇文章,以了解应用程序如何使用 path vs urn 来存储您在数据库中的模型信息:

    Working seamlessly online/offline when developing your Web applications with the Forge Viewer

    apiUrl 是传递给某些服务的参数,它定义将在哪个 url 上执行对 api 的调用,如果您不更改任何设置,它应该是 / api 但您可以传递另一个值,例如 /myapi 如果出于某种原因您想在不同的路由上运行 api 服务器。

    因此,在当前实现中,modelLoader 扩展使用参数 database,该参数在选项中传递来构建请求模型列表的 url。假设您在本地运行示例并在 mongoDB 中使用名为 gallery 的集合进行相同的设置,您应该能够在浏览器中输入 http://localhost:3000/api/models/gallery 并看到类似下面的内容。这是将在模型加载器面板中显示的模型列表。

    【讨论】:

    • 好的,现在我明白了 apiUrl 的事情了。谢谢。
    • 但是,我认为我的画廊和 URN 是正确的,当我尝试加载模型时出现此错误:“DOMException : Failed to execute 'atob' on 'Window': The string to be解码未正确编码。”。所以我试着把我的URN写在文件中,它被成功解码。看来实际上,在函数'atob'中取的URN是“未定义的”......所以不,它无法解码。但为什么它是未定义的?我确实将它们设置在我的画廊和模型中!而且我确实看到了带有您提供的链接的我自己的画廊。
    猜你喜欢
    • 2022-10-15
    • 1970-01-01
    • 2019-07-29
    • 2018-07-16
    • 2020-08-14
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    相关资源
    最近更新 更多