在Revit的视图里可以通过 可见性/图形替换
来设置构件的显示颜色,里面有一个通过模型类别
设置构件颜色的方法,在API里也是可以实现这一
操作的。
下面是一个设置墙类别构件颜色的小例子
注意:此颜色在真实模式下不显示
Document doc = commandData.Application.ActiveUIDocument.Document;
//过滤填充图案
FilteredElementCollector fillPatternFilter = new FilteredElementCollector(doc);
fillPatternFilter.OfClass(typeof(FillPatternElement));
//获取实体填充
FillPatternElement fp = fillPatternFilter.First(m => (m as FillPatternElement).GetFillPattern().IsSolidFill) as FillPatternElement;
Transaction trans = new Transaction(doc, "trans");
trans.Start();
View v = doc.ActiveView;
ElementId cateId =new ElementId((int)BuiltInCategory.OST_Walls);
//
OverrideGraphicSettings ogs = v.GetCategoryOverrides(cateId);
//设置 投影/表面 ->填充图案->填充图案
ogs.SetProjectionFillPatternId(fp.Id);
//设置 投影/表面 ->填充图案->颜色
ogs.SetProjectionFillColor(new Color(255, 0, 0));
//应用到视图
v.SetCategoryOverrides(cateId, ogs);
trans.Commit();
return Result.Succeeded;
转载请注明来源本文地址:https://www.tuituisoft/blog/3484.html