有没有人有任何代码可以获得墙的长度?目前我使用:
ElementCategoryFilter wallsFilter =
new ElementCategoryFilter(BuiltInCategory.OST_Walls);
FilteredElementCollector collector = new FilteredElementCollector(Doc);
IList<Element> walls =
collector.WherePasses(wallsFilter).WhereElementIsNotElementType().ToElements();
foreach (Element wall in walls)
MessageBox.Show(wall.get_Parameter("Length").AsString());
长度空了!!!
答案 0 :(得分:1)
AsString()
假定参数是字符串类型(Parameter.StorageType == StorageType.String)
。该长度参数是双倍长度测量。所以AsDouble()
应该有效。或者,您可以使用AsValueString()
将值转换为带有单位的字符串,如UI中所示。
您也可以切换为使用BuiltInParameter.CURVE_ELEM_LENGTH
而不是"Length"
作为字符串。如果要对应用程序进行本地化,这将非常有用。