我已经实现了here讨论的自定义属性。尽管此示例代码对于添加模型中未包含的属性非常有帮助,但除找到here的Forge RCDB示例外,我找不到任何可以删除/隐藏模型中属性的代码。 ,它实现了一个完全独立的数据库。
我希望可以显示模型中的属性,但可以隐藏不必要的属性,并添加自定义属性,如添加自定义元属性示例所示。
这可能吗?如果是这样,您可以帮助我了解如何隐藏我希望隐藏的特定属性吗?
如果不可能,那么在Forge RCDB示例中添加并行外部属性DB的最佳指南是吗?
编辑... 我实现了自定义属性面板,它添加了“自定义”类别,然后添加了“节点”属性。我的问题是...如何隐藏模型“热质量”,“吸收率”等模型中的属性。
谢谢... 本
答案 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了解详情。