【问题标题】:Autodesk Forge: extracting material names from the viewerAutodesk Forge:从查看器中提取材质名称
【发布时间】:2018-05-13 14:02:18
【问题描述】:

我正在尝试从 Forge 查看器中提取材料名称列表,以便显示它们,但我无法找到执行此操作的好方法。到目前为止,我能够从 renderProxy 材料中提取颜色/纹理信息,但实际名称未在 renderProxy 中列出。我也尝试过 model.viewer.getProperties(...) 但材料名称似乎也没有在属性中列出。获取材质名称最可靠的方法是什么?

【问题讨论】:

    标签: autodesk-forge


    【解决方案1】:

    我不确定您所说的“显示”材料究竟是什么意思,但我怀疑是否有直接的方法可以从 API 访问材料文件。

    一种解决方法是使用我在本文中发布的提取器代码:Forge SVF Extractor in Node.js(或使用该 node.js 项目:forge-extractor),这样您就可以获得材料文件的 url 并在您的应用程序中使用它们或下载它们,具体取决于您的工作流程。

    例如,在建筑模型上运行提取器后,您可以在我的磁盘上看到提取文件的结果:

    希望有帮助

    【讨论】:

    • 感谢您的回复!我所追求的比这更简单。我正在寻找用户定义的材质名称到渲染片段材质的映射。我尝试查看您的 rcdb 示例,其中列出了材料类型,但我无法找到用户定义的材料名称(例如“我的砖材料”或“特殊塑料 5”等) .我的应用程序使用材质名称作为键来分配特定属性,所以我希望有办法找到它。
    • 可以从每个组件属性中访问这些材料,您可以使用 viewer.model.getProperties(dbId, result) 获取组件的属性。希望对您有所帮助。
    • 感谢您对此进行调查!我在组件级别找到此信息,但无法弄清楚如何获取单个片段的信息。我发现组件中的每个片段都指向相同的 dbId。例如,Revit 的标准窗户由两个碎片组成,窗户玻璃和“窗扇”。 model.getProperties(..) 给了我一个列表,其中包括“玻璃窗格材料”和“窗扇材料”,但我找不到哪个片段是窗扇,哪个是窗玻璃。我还担心我需要为每个家庭类型提取不同的材料名称。
    猜你喜欢
    • 2017-05-06
    • 2021-02-17
    • 2016-12-20
    • 2021-11-12
    • 1970-01-01
    • 2021-09-19
    • 2017-02-13
    • 2021-12-19
    • 2020-09-06
    相关资源
    最近更新 更多