1. 程式人生 > >Revit開發通過Category設定構件顏色

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