You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Autodesk Forge的CustomPropertyExtension删除模型自带属性?

自定义属性扩展修改方案

修改逻辑

现有代码中Autodesk.Viewing.Extensions.ViewerPropertyPanel.prototype.setAggregatedProperties.call(this, propertySet)这行调用会加载模型自带的全部属性,只需在该调用后、自定义属性添加前插入清空自带属性的逻辑即可。

修改后完整代码

setAggregatedProperties(propertySet) {
        Autodesk.Viewing.Extensions.ViewerPropertyPanel.prototype.setAggregatedProperties.call(this, propertySet);

        // 新增清空模型自带属性逻辑
        this.properties = {};
        this.removeAllProperties();

        // 原有自定义属性添加逻辑
        const dbids = propertySet.getDbIds();
        dbids.forEach(id => {
            var propsForObject = this.properties[id.toString()];
            if (propsForObject) {
                for (const groupName in propsForObject) {
                    const group = propsForObject[groupName];
                    for (const propName in group) {
                        const prop = group[propName];
                        console.log("check0 propName, prop, groupName",propName, prop, groupName)
                        this.addProperty(propName, prop, groupName);
                    }
                }
            }
        });
    }
};

补充说明

如果你不需要父类方法的初始化逻辑,也可以直接删除父类调用的那行代码,同样可以达到不加载自带属性的效果,调用后清空的方案兼容性更强,可避免属性面板出现初始化异常。

内容的提问来源于stack exchange,提问作者Johan W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 02:03:00