Revit开发设置模型线颜色

来源:互联网 发布:常用推荐算法 编辑:程序博客网 时间:2024/05/23 10:26


Revit里要设置模型线的颜色有2中方法

一种是设置线的样式

一种是设置OverrideGraphicSettings

第一种需要设置新建线的样式,

然后通过模型线的线样式参数设置

第二种是通过替换视图中的图形,它是

基于视图的,颜色只在当前视图有效


下面是关键代码:

新建线样式

            Category tCat = doc.Settings.Categories.get_Item(BuiltInCategory.OST_Lines);
            Reference r = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem = doc.GetElement(r);
            Transaction trans = new Transaction(doc, "Trans");
            trans.Start();
            if (!tCat.SubCategories.Contains("MyLine"))
            {
                Category nCat = doc.Settings.Categories.NewSubcategory(tCat, "MyLine");
                nCat.LineColor = new Color(255, 0, 0);
            }
            doc.Regenerate();
            FilteredElementCollector temc = new FilteredElementCollector(doc);
            temc.OfClass(typeof(GraphicsStyle));
            GraphicsStyle mgs = temc.First(m => (m as GraphicsStyle).GraphicsStyleCategory.Name == "MyLine") as GraphicsStyle;
            Parameter tp = elem.LookupParameter("线样式");
            tp.Set(mgs.Id);
            trans.Commit();


替换视图中的图形

            Reference r = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem = doc.GetElement(r);
            OverrideGraphicSettings ogs = v.GetElementOverrides(elem.Id);
            Transaction trans = new Transaction(doc, "trans");
            trans.Start();
            ogs.SetProjectionLineColor(new Color(255, 0, 0));
            v.SetElementOverrides(elem.Id, ogs);
            trans.Commit();



博主会经常更新一些技术文章,请大家多多关注,

源码下载请加qq群480950299




0 0
原创粉丝点击