完善主體資料,免費(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

ad.jpg

二次開發(fā)教程:Revit開發(fā)之判斷參數(shù)是否為項(xiàng)目參數(shù)

發(fā)布于:2019-08-26 16:50:11

網(wǎng)友投稿

更多

Revit里有一種參數(shù)叫項(xiàng)目參數(shù),如果要判斷一個(gè)


參數(shù)是否是項(xiàng)目參數(shù),RevitAPI里沒有直接提供


方法,那到底有沒有方法來判斷一個(gè)參數(shù)是否是


項(xiàng)目參數(shù)呢? 下面來做一些嘗試:




首先通過Document.ParameterBindings


發(fā)現(xiàn)這里面包括了項(xiàng)目參數(shù)和共享參數(shù)


那如果一個(gè)參數(shù)不是共享參數(shù),而又包含


在這里面,那它是不是就是項(xiàng)目參數(shù)呢?


經(jīng)過簡(jiǎn)單測(cè)試,發(fā)現(xiàn)可以判斷項(xiàng)目參數(shù)




下面是關(guān)鍵代碼:


            Document doc = commandData.Application.ActiveUIDocument.Document;

            UIDocument uidoc = new UIDocument(doc);

            BindingMap map = doc.ParameterBindings;          


            Element testElem = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element));

            ParameterSet ps = testElem.Parameters;

            int i = 0;

            foreach (Parameter p in ps)

            {

                if (p.IsShared)

                {

                    continue;

                }

                else {

                    if (map.Contains(p.Definition))

                    {

                        i++;

                    }

                }

            }

            TaskDialog.Show("Num", i.ToString());

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

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

上一篇:二次開發(fā)教程:Revit開發(fā)之調(diào)用過濾器設(shè)置窗體設(shè)置過濾器

下一篇:二次開發(fā)教程:Revit開發(fā)之導(dǎo)出明細(xì)表到Excel

60acb4e0ef112.png