2016-07-22 45 views
0

viewer.setThemingColor對我來說很好,因爲我將retit中的某些東西的顏色改爲svf文件Autodesk Forge Viewer:viewer.setThemingColor是否可以在轉換的DWG文件上工作?

但是當我嘗試將它用於DWG到SVF的轉換時,它什麼都不做。

oViewer.setThemingColor(1604, new THREE.Vector4(0, 1, 1,1)); 

注意一件事我假設是,DBID鼠標點擊確實爲seletion是相同的DBID,我需要使用setThemingColor

任何指針將是有益的。

回答

0

這應該工作...你確定你傳遞了正確的dbId嗎?事實上,它在我身邊。您可以試試my viewer playground。這可能是因爲您的模型存在特定問題,在這種情況下,您可以與我們分享該設計。私下如果需要。

這裏是我的測試代碼:

AutodeskNamespace("Autodesk.ADN.Viewing.Extension"); 

Autodesk.ADN.Viewing.Extension.Basic = function (viewer, options) { 

    Autodesk.Viewing.Extension.call(this, viewer, options); 

    var _this = this; 

    _this.load = function() { 

    viewer.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, function(e){ 

     if(e.dbIdArray.length) { 
     var dbId = e.dbIdArray[0]; 
     console.log('DbId: ' + dbId); 
     viewer.setThemingColor(dbId, new THREE.Vector4(0, 1, 1,1)); 
     } 
    }) 

    return true; 
    }; 

    _this.unload = function() { 

    return true; 
    }; 
}; 

Autodesk.ADN.Viewing.Extension.Basic.prototype = 
    Object.create(Autodesk.Viewing.Extension.prototype); 

Autodesk.ADN.Viewing.Extension.Basic.prototype.constructor = 
    Autodesk.ADN.Viewing.Extension.Basic; 

Autodesk.Viewing.theExtensionManager.registerExtension(
    "Autodesk.ADN.Viewing.Extension.Basic", 
    Autodesk.ADN.Viewing.Extension.Basic); 
+0

謝謝你的幫助。 您的示例爲我的作品。 (WORKS)如果選擇一個對象,則取消選擇它,轉換的DWG多邊形的顏色將改變。 (FAILS)如果我將值直接設置在SELECTION_CHANGED_EVENT之外,那麼在我執行類似於選擇單擊的操作之前,顏色不會改變。 我想知道是否有一些狀態變化需要被稱爲「無效」的顏色,以便他們需要重置/重新渲染? –

+0

你如何設置themingColor後嘗試:「viewer.impl.invalidate(false,false,true)」? –

相關問題