【问题标题】:Forge Viewer - Convert-utils for glTF not workingForge Viewer - glTF 的转换工具不起作用
【发布时间】:2021-08-27 18:14:54
【问题描述】:

我们正在尝试寻找forge-convert-utils,以便从发送的骨灰盒中获取gltf 列表。当我们到达构造一个新的 ManifesterHelper() 时,它返回 undefined,迫使循环前进到下一个 urn(具有明显相同的结果)。

 urnsPerProject.forEach(async urn => {
   try {
     const auth = {
       client_id: process.env.FORGE_CLIENT_ID,
       client_secret: process.env.FORGE_SECRET
     }

     const parsedUrn = Buffer.from(urn).toString('base64')

     const mdClient = new ModelDerivativeClient(
       auth,
       'https://developer.api.autodesk.com',
       Region.EMEA
     )

     const helper = new ManifestHelper(await mdClient.getManifest(parsedUrn))
     const derivatives = helper.search({ type: 'resource', role: 'graphics' })

     const readerOptions = {
       log: console.log
     }

     const writerOptions = {
       deduplicate: true,
       skipUnusedUvs: true,
       center: false,
       log: console.log
     }

     const writer = new GltfWriter(writerOptions)

     const filteredDerivatives = derivatives.filter(derivative => {
       // eslint-disable-next-line @typescript-eslint/ban-ts-comment
       // @ts-ignore
       return derivative.mime === 'application/autodesk-svf'
     })

     for (const derivative of filteredDerivatives) {
       const reader = await SvfReader.FromDerivativeService(
         urn,
         derivative.guid,
         auth
       )

       const scene = await reader.read(readerOptions)
       console.log('scene', scene)
     }
   } catch (error) {
     console.error('error', error)
   }
 })

error: requested resource does not exist

debugged parsed urn parameter

【问题讨论】:

    标签: autodesk gltf forge autodesk-model-derivative


    【解决方案1】:

    罗梅罗,

    您能否在此处在 GitHub 存储库上提交问题: https://github.com/petrbroz/forge-convert-utils/issues/new

    此外,如果您可以附加示例 SVF 文件,您正在尝试转换,这将非常有帮助,因此我们可以调试错误。

    这肯定会加快速度。

    你也可以直接在 slack 上 ping 我 ;-)

    【讨论】:

    • 早上好,比尔先生。关于 SVF 附件,我应该告诉我们,我们正在尝试翻译直接来自 BIM360 用户模型的骨灰盒列表,以便在同一个查看器中提供任何这些几何图形。在这张截图i.stack.imgur.com/Rwn8A.png 中可以看出格式与骨灰盒样本不同,所以我不知道我们是否遗漏或失败了某些步骤。谢谢
    • 我认为这与您的 URN 有关。从 BIM360 获取派生 URN 时,从文件的最新版本的详细信息:data > relationships > derivatives > data > id,URN 已经在 base64 中,因此您不需要转换它。如果您通过这样做开始您的代码,这可能不是正确的 URN ! ;)
    【解决方案2】:

    这里的问题解决了!

    第一个 - 我错过了将 base64 parsedUrn 中的“/”替换为“_”

    const parsedUrn = Buffer.from(urn).toString('base64').replace('/', '_')
    

    第二 - 我选择 EMEA 作为地区,但我必须通过美国

    非常感谢#Autodesk 的#PetrBroz

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 2020-04-29
      • 2020-05-11
      • 2020-10-21
      • 2020-05-26
      • 1970-01-01
      • 2019-03-30
      • 2019-06-02
      • 2019-06-14
      相关资源
      最近更新 更多