revit二次开发获取基本参数

xiaoxiao2021-02-28  67

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 );
转载请注明原文地址: https://www.6miu.com/read-2300133.html

最新回复(0)