The Element Parameters are retrieved by iterating through the Element ParameterSet. The following code sample illustrates how to retrieve the Parameter from a selected element.
Code Region 8-1: Getting selected element parameters |
void GetElementParameterInformation(Document document, Element element) { // Format the prompt information string String prompt = "Show parameters in selected Element: \n\r"; StringBuilder st = new StringBuilder(); // iterate element's parameters foreach (Parameter para in element.Parameters) { st.AppendLine(GetParameterInformation(para, document)); } // Give the user some information TaskDialog.Show("Revit", prompt + st.ToString()); } String GetParameterInformation(Parameter para, Document document) { string defName = para.Definition.Name + "\t : "; string defValue = string.Empty; // Use different method to get parameter data according to the storage type switch (para.StorageType) { case StorageType.Double: //covert the number into Metric defValue = para.AsValueString(); break; case StorageType.ElementId: //find out the name of the element Autodesk.Revit.DB.ElementId id = para.AsElementId(); if (id.IntegerValue >= 0) { defValue = document.GetElement(id).Name; } else { defValue = id.IntegerValue.ToString(); } break; case StorageType.Integer: if (ParameterType.YesNo == para.Definition.ParameterType) { if (para.AsInteger() == 0) { defValue = "False"; } else { defValue = "True"; } } else { defValue = para.AsInteger().ToString(); } break; case StorageType.String: defValue = para.AsString(); break; default: defValue = "Unexposed parameter."; break; } return defName + defValue; } |
Figure 26: Get wall parameters result