【问题标题】:Load multiple models(aggregation) in forge viewer and load other models as hidden by default until user selects from model browser在伪造查看器中加载多个模型(聚合)并默认将其他模型加载为隐藏,直到用户从模型浏览器中选择
【发布时间】:2019-10-06 11:22:44
【问题描述】:

我最初在加载时尝试将多个模型(聚合)加载到 forge 查看器(v.6.x),但我只想显示一个模型和默认隐藏的其他模型(可以使用幻影视图)。稍后当用户从模型浏览器点击眼睛图标时,该模型应该是可见/隐藏的。

我尝试在加载模型后调用 viewer.hideModel(modelId)。但是即使模型显示在模型浏览器中,当我点击它时,它也会说错误模型未加载。

var showModel = false;
this.viewer.loadModel(url, {globalOffset: { x:0, y:0, z:0 }, modelNameOverride: modelName}, () => 
  {
    this.isModelLoaded = true;
    this.viewer.caller = this;
    this.addEventListenersToViewer();
    if(!showModel){
      this.viewer.hideModel(modelId); // This is to hide the model by default after loading.
    }
  },
errorMsg => {
  this.isModelLoaded = false;
  this.viewer.container.style.opacity = 0;
  this.modelLoadError(this.fetchTranslationByKey('getModelError'));
  }
);

预期的行为是允许用户从模型浏览器中选择,在最初加载的所有模型中,哪些模型要在查看器上显示/隐藏(链接的模型应该默认隐藏)。

我得到的当前结果是链接模型显示在模型浏览器中,但是当我点击它时显示 - 未加载错误模型

【问题讨论】:

    标签: autodesk-forge autodesk-viewer


    【解决方案1】:

    这里有几个问题:

    • 使用箭头函数时,this 指向的上下文不同,所以要小心

    • 您是如何获得modelId 的?通过Viewer.impl.modelQueue()

    • ,而不是更好地使用任意计数器来迭代模型数组
    • 我无法使用模型浏览器复制模型未加载错误。您能否提供更多详细信息或实时示例(jsfiddle/jsbin)?

    【讨论】:

      猜你喜欢
      • 2021-03-07
      • 2019-02-06
      • 2018-10-26
      • 2021-11-07
      • 2020-01-19
      • 2017-03-31
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      相关资源
      最近更新 更多