完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

5cdd2dc095060.jpg

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

发布于:2019-08-26 16:46:47

网友投稿

更多

在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;

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

pic.gif

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

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

60acb4e0ef112.png