属性检查器中的Autodesk-Forge隐藏属性

时间:2018-11-02 21:44:55

标签: autodesk-forge

我已经实现了here讨论的自定义属性。尽管此示例代码对于添加模型中未包含的属性非常有帮助,但除找到here的Forge RCDB示例外,我找不到任何可以删除/隐藏模型中属性的代码。 ,它实现了一个完全独立的数据库。

我希望可以显示模型中的属性,但可以隐藏不必要的属性,并添加自定义属性,如添加自定义元属性示例所示。

这可能吗?如果是这样,您可以帮助我了解如何隐藏我希望隐藏的特定属性吗?

如果不可能,那么在Forge RCDB示例中添加并行外部属性DB的最佳指南是吗?

编辑... 我实现了自定义属性面板,它添加了“自定义”类别,然后添加了“节点”属性。我的问题是...如何隐藏模型“热质量”,“吸收率”等模型中的属性。

properties panel example

谢谢... 本

1 个答案:

答案 0 :(得分:0)

您似乎想自定义属性面板,对吗?如果是这样,您可以创建一个自定义的“属性面板”,并使用该面板覆盖默认面板,可以在https://github.com/Autodesk-Forge/library-javascript-viewer-extensions/blob/master/src/Autodesk.ADN.Viewing.Extension.PropertyPanel/Autodesk.ADN.Viewing.Extension.PropertyPanel.js处引用该代码。

希望有帮助。

编辑:如果要删除/隐藏某些属性,只需调用定义如下的API PropertyPanel.removeProperty()即可删除它们:

enter   /**
* Removes a property from this panel.  The property is defined by its name, value, and category.
*
* @param {string} name - The name of the property to remove.
* @param {string} value - The value of the property to remove.
* @param {string} category - The category of the property to remove.
* @param {Object=} [options] - An optional dictionary of options.  Currently unused.
* @returns {boolean} - true if the property was removed, false otherwise.
*/
PropertyPanel.prototype.removeProperty = function (name, value, category, options) {
  var property = { name: name, value: value, category: category };
  var element = this.tree.getElementForNode(property);
  if (element) {
    delete this.highlightableElements[this.tree.delegate().getTreeNodeId(property)];
    element.parentNode.removeChild(element);
    return true;
  }
  return false;
};

查看https://developer.api.autodesk.com/modelderivative/v2/viewers/6.*/viewer3D.js了解详情。