Forge Viewer - glTF 的 Convert-utils 不工作

Forge Viewer - Convert-utils for glTF not working

我们正在尝试寻找 forge-convert-utils 以便从发送的骨灰盒中获取 gltf 的列表。当我们构建一个新的 ManifesterHelper() 时,这个 returns 未定义,迫使循环前进到下一个 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

罗梅罗,

你能在这里提交关于 GitHub 回购的问题吗: https://github.com/petrbroz/forge-convert-utils/issues/new

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

这肯定会加快速度。

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

这里的问题已经解决了!

1st - 我错过了将 base64 parsedUrn 中的“/”替换为“_”

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

第 2 - 我选择 EMEA 作为区域,但我不得不通过美国

非常感谢来自#Autodesk 的#PetrBroz