通過IExportContext導(dǎo)出類中的Onmaterial()方法,可以獲取到材質(zhì)相關(guān)信息,主要是材質(zhì)ID,再根據(jù)材質(zhì)ID得到材質(zhì)對象material,然后通過如下代碼獲取Asset對象:
ElementId appearanceId = material.AppearanceAssetId; AppearanceAssetElement appearanceElem = document.GetElement(appearanceId) as AppearanceAssetElement; Asset theAsset = appearanceElem.GetRenderingAsset();
這個Asset對象里面就包含了所有外觀渲染相關(guān)的數(shù)據(jù),包括材質(zhì)的貼圖。判斷屬性名為“unifiedbitmap_Bitmap”的屬性,即為想要的紋理圖,具體Asset屬性的讀取可以在Revit的API文檔中搜Asset,會有例子介紹。
附:這里得到的紋理圖路徑是相對系統(tǒng)紋理庫路徑的相對路徑,目前還不知道怎么通過Revit提供的API獲取系統(tǒng)的紋理庫路徑:“C:/PRogram Files (x86)/Common Files/Autodesk Shared/Materials/Textures”,如果有知道的大神可以指導(dǎo)下,謝謝!
轉(zhuǎn)載請注明原文出處。http://m.survivalescaperooms.com/onlyperfect/p/4235426.html
新聞熱點
疑難解答