revit二次开发获取基本参数

UIDocument uidoc = commandData.Application.ActiveUIDocument;
            Document doc = uidoc.Document;
            //获取选择的元素,讲元素转成列表形式
            var elemList = uidoc.Selection.GetElementIds().ToList();
            //取得列表第一个元素
            Element elem = doc.GetElement(elemList[0]);
            //获取元素的类型
            ElementType type = doc.GetElement(elem.GetTypeId()) as ElementType;
            string str = "元素族名称:" + type.FamilyName + "/n" + "元素类型:" + type.Name;


            //参数获取
            // 方法一:利用LookupParameter,参数为参数名称,如果选择元素找不到参数就会报错; 
            Parameter p = elem.LookupParameter("面积");
            string ps = p.AsValueString(); //此方法会输出公制单位

            //string ps = p.AsDouble().ToString(); 此方法会输出英制单位。

下表是提取的4平米楼板的参数。所以在查询参数前宜先查下此参数的一些相关参数。如果提取注释参数需要用asString。一般根据storagetype来决定用哪一种storagetype的枚举值。


            // 方法二:利用get_Parameter,参数为定义参数,如果选择元素找不到参数就会报错; 
            Parameter p1 = elem.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED);
            string p1s = p1.AsValueString();


            // 方法三:首先找出所有参数,再查找。 
            ParameterSet pp = elem.Parameters;
            Parameter p2 = null;
            foreach (Parameter p3 in pp)
            {
                if (p3.Definition.ParameterType==ParameterType.Area)
                {
                    p2 = p3;
                }
            }
            string p2s = p2.AsValueString();
            TaskDialog.Show("1",ps );
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值