Revit开发之判断参数是否为项目参数

来源:互联网 发布:netstat linux 安装 编辑:程序博客网 时间:2024/05/22 14:38


Revit里有一种参数叫项目参数,如果要判断一个

参数是否是项目参数,RevitAPI里没有直接提供

方法,那到底有没有方法来判断一个参数是否是

项目参数呢? 下面来做一些尝试:


首先通过Document.ParameterBindings

发现这里面包括了项目参数和共享参数

那如果一个参数不是共享参数,而又包含

在这里面,那它是不是就是项目参数呢?

经过简单测试,发现可以判断项目参数


下面是关键代码:

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



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

源码下载请加qq群480950299


0 0
原创粉丝点击