【问题标题】:Autodesk Forge Viewer how to get a screenshot of the part of a modelAutodesk Forge Viewer 如何获取模型部分的屏幕截图
【发布时间】:2021-09-30 17:31:33
【问题描述】:

例如,我有 20 个元素 ID,我想对它们进行截图(如细节)。对于该屏幕截图,我希望有特定的尺寸(例如 400x400)。我当前的查看器具有不同的尺寸。有什么方法可以实现它并以原始视图返回当前查看器?

我正在尝试执行以下步骤:

  1. 存储当前视图
  2. 设置查看器尺寸
  3. do fitToView(elementIds) - 我曾尝试操纵相机,但我不太熟悉它。另外,我尝试使用fitToView,但传递的元素有时会出现在视图之外。
  4. getScreenshot(400, 400)
  5. 恢复视图

努力解决,所以任何帮助都会很棒

【问题讨论】:

    标签: javascript three.js screenshot autodesk-forge


    【解决方案1】:

    有一篇不错的博客文章提供了有关从 Forge Viewer 截取的屏幕截图尺寸的更多详细信息:https://forge.autodesk.com/blog/more-screenshots

    如果这对您的用例没有帮助,您还可以考虑在您的页面上添加一个查看器实例,其大小与您想要生成的屏幕截图完全一致,并且只加载您需要的元素的 ID。这是一个演示该想法的简单代码:https://github.com/petrbroz/forge-basic-app/commit/f95cb67944830b842955c9599f2e1e4683ff13f0

    【讨论】:

    • 谢谢,它帮助我调整了大小,而无需使用相机。只是关于fitToView的问题。之后我在旋转/平移时有绿点,我可以删除它吗?是否有可能做fitToView 并缩小一点以获得更大的细节?
    • 嗯,绿点应该只在你随着时间的推移插入到新的相机位置时才可见(在我的例子中,我将immediate 标志设置为true),以指示枢轴点。如果它仍然出现在您面前,这可能意味着您“太早”截取屏幕截图......在这种情况下,我们可能需要找到其他一些事件来等待,或者在之前引入硬编码延迟屏幕截图被捕获。
    • 关于另一个问题(缩小一点),你绝对可以在任何时间点调整相机设置,例如将相机向后移动(与相机方向矢量相反的方向) )。但是如果你想自定义相机动画的端点,你最好使用viewer.navigation.setRequestTransition(true, newCameraPos, newCameraTarget, newCameraFov)之类的东西。
    • 我想立即执行,然后将其恢复到以前的状态。关于那个枢轴点,我禁用了它,在我调用fitToView 之后,它开始显示在使用鼠标平移/缩放/旋转模型时
    猜你喜欢
    • 2020-06-06
    • 2021-12-27
    • 2017-01-29
    • 2021-02-21
    • 2020-01-06
    • 1970-01-01
    • 2020-11-24
    • 2022-01-02
    • 2021-10-02
    相关资源
    最近更新 更多