public MyFamilyParameter(FamilyParameter param) { List_AssociatedParameters = new List <MyParameter>(); InternalDefinition def = param.Definition as InternalDefinition; Name = def.Name; if (param.IsShared) { ParamType = MyParameterType.Shared; } else { if (def.BuiltInParameter == BuiltInParameter.INVALID) { ParamType = MyParameterType.Family; } else { ParamType = MyParameterType.Builtin; } } IsInstance = param.IsInstance; HaveFormula = param.IsDeterminedByFormula; Formula = param.Formula; IsReporting = param.IsReporting; foreach (Parameter asparam in param.AssociatedParameters) { MyParameter myasparam = new MyParameter(asparam, false); List_AssociatedParameters.Add(myasparam); } Units = Enum.GetName(typeof(StorageType), param.StorageType); }
public MyParameter(Parameter param, bool UseValue) { InternalDefinition def = param.Definition as InternalDefinition; Name = def.Name; if (param.IsShared) { ParamType = MyParameterType.Shared; } else { if (def.BuiltInParameter == BuiltInParameter.INVALID) { ParamType = MyParameterType.Family; } else { ParamType = MyParameterType.Builtin; } } Units = Enum.GetName(typeof(Autodesk.Revit.DB.UnitType), param.Definition.UnitType); if (!UseValue || !param.HasValue) { Value = "NO VALUE"; } else if (def.ParameterType == ParameterType.YesNo) { int intval = param.AsInteger(); Value = "false"; if (intval == 1) { Value = "true"; } } else { switch (param.StorageType) { case StorageType.None: Value = "NONE STORAGE TYPE"; break; case StorageType.Integer: Value = param.AsInteger().ToString(); break; case StorageType.Double: Value = param.AsDouble().ToString("G"); break; case StorageType.String: Value = param.AsString(); break; case StorageType.ElementId: Value = param.AsValueString(); break; default: break; } } }