Revit二次开发获取材质的纹理贴图

通过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

原文地址:https://www.cnblogs.com/onlyperfect/p/4235426.html