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