Autodesk-Forge Скрыть свойства в инспекторе свойств

Я реализовал обсуждаемые настраиваемые свойства здесь. Хотя этот пример кода очень полезен для добавления свойств, которых не было в модели, я не могу найти код, который позволил бы мне удалить / скрыть свойства, которые были частью модели, за исключением примеров Forge RCDB, найденных здесь, который реализует полностью отдельную БД.

Я надеюсь, что можно отображать свойства из модели, но скрыть те, которые не являются необходимыми, и добавить настраиваемые свойства, как показано в примере добавления настраиваемых мета-свойств.

Это возможно? Если да, то можете ли вы помочь мне понять, как скрыть те свойства, которые я хочу скрыть?

Если это невозможно, является ли лучшим руководством по добавлению параллельной базы данных внешних свойств примеры Forge RCDB?

ИЗМЕНИТЬ ... Я реализовал панель настраиваемых свойств, и она добавляет категорию «Настройка», а затем атрибут «Узел». У меня вопрос ... как я могу скрыть атрибуты, которые были частью модели, такие как «Тепловая масса», «Поглощение» и т. Д.

пример панели свойств

Спасибо ... Бен


person BBringardner    schedule 02.11.2018    source источник


Ответы (1)


Кажется, вы хотите настроить панель свойств, верно? Если это так, вы можете создать настраиваемую панель свойств и использовать ее для переопределения панели по умолчанию, вы можете сослаться на код по адресу https://github.com/Autodesk-Forge/library-javascript-viewer-extension/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 для получения дополнительной информации.

person Zhong Wu    schedule 03.11.2018
comment
Спасибо за этот код. Я реализовал и скорректировал свой вопрос выше. Я действительно заинтересован в удалении существующих атрибутов. Спасибо! - person BBringardner; 04.11.2018
comment
Отредактировал ответ, короче говоря, вы можете использовать PropertyPanel.removeProperty () для удаления существующих атрибутов. - person Zhong Wu; 05.11.2018