Revit開發通過Category設定構件顏色
在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;
博主會經常更新一些技術文章,請大家多多關注,
原始碼下載請加qq群480950299