该类表示在Revit中启用或禁用玻璃材质的凹凸贴图效果。
None
: 玻璃材质没有凹凸贴图效果。Bump
: 玻璃材质启用凹凸贴图效果。// 获取当前文档中的视图
View view = doc.ActiveView;
// 获取默认的玻璃材质
ElementId glassMaterialId = new FilteredElementCollector(doc)
.OfClass(typeof(Material))
.Cast<Material>()
.FirstOrDefault(m => m.Name == "Glass").Id;
// 创建一个新的材质外观,用于呈现玻璃材质
AppearanceAssetElement appearanceAsset = AppearanceAssetElement.Create(doc, "Glass");
// 设置材质外观的属性
Asset glassAsset = appearanceAsset.GetRenderingAsset();
AssetProperty bumpProperty = glassAsset["generic_bump_map"];
if (bumpProperty != null)
{
bumpProperty.Value = SolidglassBumpEnableType.Bump;
}
// 给材质应用新的外观
using (Transaction trans = new Transaction(doc, "Apply Glass Appearance"))
{
trans.Start();
Material glassMaterial = doc.GetElement(glassMaterialId) as Material;
glassMaterial.AppearanceAssetId = appearanceAsset.Id;
trans.Commit();
}
凹凸贴图效果需要具有法线贴图的材质。如果没有法线贴图,则此选项不会产生任何效果。