public static void SetTitleBlockParameters(Element existingTitleBlock, Element newTitleBlock) { try { Autodesk.Revit.DB.FamilyInstance familyInstance1 = existingTitleBlock as Autodesk.Revit.DB.FamilyInstance; Autodesk.Revit.DB.FamilyInstance familyInstance2 = newTitleBlock as Autodesk.Revit.DB.FamilyInstance; IList <Parameter> orderedParameters = familyInstance1.GetOrderedParameters(); familyInstance2.GetOrderedParameters(); foreach (Parameter parameter1 in (IEnumerable <Parameter>)orderedParameters) { string name = parameter1.Definition.Name; Parameter parameter2 = familyInstance1.LookupParameter(name); Parameter parameter3 = familyInstance2.LookupParameter(name); if (parameter3 != null || parameter2 != null) { BuiltInParameter parameterId1 = BuiltInParameter.SHEET_NUMBER; Parameter parameter4 = familyInstance2.get_Parameter(parameterId1); BuiltInParameter parameterId2 = BuiltInParameter.SHEET_NAME; Parameter parameter5 = familyInstance2.get_Parameter(parameterId2); if (!(parameter3.Definition.Name == parameter4.Definition.Name) && !(parameter3.Definition.Name == parameter5.Definition.Name)) { try { if (parameter3.StorageType == StorageType.Double) { parameter3.Set(parameter2.AsDouble()); } else if (parameter3.StorageType == StorageType.ElementId) { parameter3.Set(parameter2.AsElementId()); } else if (parameter3.StorageType == StorageType.Integer) { parameter3.Set(parameter2.AsInteger()); } else if (parameter3.StorageType == StorageType.String) { parameter3.Set(parameter2.AsString()); } } catch { } } } } } catch { } }