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

下载app免费领取会员

NULL

ad.jpg

二次开发教程:Revit开发设置模型线颜色

发布于:2019-08-26 16:51:07

网友投稿

更多

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();

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

未标题-1.jpg

上一篇:二次开发教程:Revit开发之导出明细表到Excel

下一篇:二次开发教程:Revit开发读取CAD信息

60acb4e0ef112.png