首页/技术分享

二次开发教程:Revit开发通过Category设置构件颜色

发布于:2019-08-26 16:46:47
10161人 分享

在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

上一篇:

二次开发教程:Revit开发获取房间内的构件

下一篇:

二次开发教程:Revit开发实现在modeless对话框中无法删除构件