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

下載app免費領取會員

NULL

ad.jpg

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

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

網(wǎng)友投稿

更多

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


來設置構件的顯示顏色,里面有一個通過模型類別


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


操作的。


下面是一個設置墻類別構件顏色的小例子


注意:此顏色在真實模式下不顯示


            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;

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

未標題-1.jpg

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

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

60acb4e0ef112.png