完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

5cdd2dc095060.jpg

二次開發(fā)教程:Revit開發(fā)通過Category設(shè)置構(gòu)件顏色

發(fā)布于:2019-08-26 16:46:47

網(wǎng)友投稿

更多

在Revit的視圖里可以通過 可見性/圖形替換


來設(shè)置構(gòu)件的顯示顏色,里面有一個(gè)通過模型類別


設(shè)置構(gòu)件顏色的方法,在API里也是可以實(shí)現(xiàn)這一


操作的。


下面是一個(gè)設(shè)置墻類別構(gòu)件顏色的小例子


注意:此顏色在真實(shí)模式下不顯示


            Document doc = commandData.Application.ActiveUIDocument.Document;


            //過濾填充圖案

            FilteredElementCollector fillPatternFilter = new FilteredElementCollector(doc);

            fillPatternFilter.OfClass(typeof(FillPatternElement));

            //獲取實(shí)體填充

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

            //設(shè)置 投影/表面 ->填充圖案->填充圖案

            ogs.SetProjectionFillPatternId(fp.Id);

            //設(shè)置 投影/表面 ->填充圖案->顏色

            ogs.SetProjectionFillColor(new Color(255, 0, 0));

            //應(yīng)用到視圖

            v.SetCategoryOverrides(cateId, ogs);            

            trans.Commit();

            return Result.Succeeded;

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

未標(biāo)題-1.jpg

上一篇:二次開發(fā)教程:Revit開發(fā)獲取房間內(nèi)的構(gòu)件

下一篇:二次開發(fā)教程:Revit開發(fā)實(shí)現(xiàn)在modeless對(duì)話框中無法刪除構(gòu)件

60acb4e0ef112.png