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 { } }
internal GeneralRebar(FamilyInstance rebar) { Id = rebar.Id; Partition = rebar.LookupParameter(RebarsUtils.PARTITION) != null? rebar.LookupParameter(RebarsUtils.PARTITION).AsString() : string.Empty; HostMark = rebar.LookupParameter(RebarsUtils.HOST_MARK) != null? rebar.LookupParameter(RebarsUtils.HOST_MARK).AsString() : string.Empty; Diameter = (byte)UnitUtils .ConvertFromInternalUnits(rebar.Symbol .LookupParameter(RebarsUtils.DIAMETER) != null ? rebar.Symbol.LookupParameter(RebarsUtils.DIAMETER).AsDouble() : 0, DisplayUnitType.DUT_MILLIMETERS); Length = (short)UnitUtils .ConvertFromInternalUnits(rebar.LookupParameter(RebarsUtils.LENGTH) != null ? rebar.LookupParameter(RebarsUtils.LENGTH).AsDouble() : 0, DisplayUnitType.DUT_MILLIMETERS); IsScheduled = rebar.LookupParameter(RebarsUtils.IS_SPECIFIABLE) != null ? (rebar.LookupParameter(RebarsUtils.IS_SPECIFIABLE).AsInteger() == 1 ? true : false) : false; IsWeighedPerMetre = rebar.LookupParameter(RebarsUtils.WEIGHT_PER_METER) != null ? (rebar.LookupParameter(RebarsUtils.WEIGHT_PER_METER).AsInteger() == 1 ? true : false) : false; BelongsToRebarCage = rebar.LookupParameter(RebarsUtils.IS_IN_ASSEMBLY) != null ? (rebar.LookupParameter(RebarsUtils.IS_IN_ASSEMBLY).AsInteger() == 1 ? true : false) : false; AssemblyMark = rebar.LookupParameter(RebarsUtils.ASSEMBLY_MARK) != null? rebar.LookupParameter(RebarsUtils.ASSEMBLY_MARK).AsString() : string.Empty; }