/// <summary> /// Wrap an existing Element in the associated DS type /// </summary> /// <param name="grid"></param> /// <param name="isRevitOwned"></param> /// <returns></returns> internal static GlobalParameter FromExisting(Autodesk.Revit.DB.GlobalParameter parameter, bool isRevitOwned) { return(new GlobalParameter(parameter) { IsRevitOwned = isRevitOwned }); }
/// <summary> /// Initialize a GlobalParameter element /// </summary> /// <param name="line"></param> private void InitGlobalParameter(string name, Autodesk.Revit.DB.ParameterType type) { if (Autodesk.Revit.DB.GlobalParametersManager.IsUniqueName(Document, name)) { TransactionManager.Instance.EnsureInTransaction(Document); Autodesk.Revit.DB.GlobalParameter g = Autodesk.Revit.DB.GlobalParameter.Create(Document, name, type); InternalSetGlobalParameter(g); TransactionManager.Instance.TransactionTaskDone(); ElementBinder.SetElementForTrace(this.InternalElement); } else { throw new Exception(Properties.Resources.NameAlreadyInUse); } }
/// <summary> /// Initialize a GlobalParameter element /// </summary> /// <param name="line"></param> private void InitGlobalParameter(string name, Autodesk.Revit.DB.ParameterType type) { var existingId = Autodesk.Revit.DB.GlobalParametersManager.FindByName(Document, name); if (existingId != null && existingId != Autodesk.Revit.DB.ElementId.InvalidElementId) { // GP already exists var existingParameter = Document.GetElement(existingId) as Autodesk.Revit.DB.GlobalParameter; InternalSetGlobalParameter(existingParameter); } else { // Create a new GP TransactionManager.Instance.EnsureInTransaction(Document); Autodesk.Revit.DB.GlobalParameter newParameter = Autodesk.Revit.DB.GlobalParameter.Create(Document, name, type); InternalSetGlobalParameter(newParameter); TransactionManager.Instance.TransactionTaskDone(); } ElementBinder.CleanupAndSetElementForTrace(Document, InternalGlobalParameter); }
/// <summary> /// Initialize a GlobalParameter element /// </summary> /// <param name="grid"></param> private void InitGlobalParameter(Autodesk.Revit.DB.GlobalParameter g) { InternalSetGlobalParameter(g); }
/// <summary> /// Private constructor for wrapping an existing Element /// </summary> /// <param name="grid"></param> private GlobalParameter(Autodesk.Revit.DB.GlobalParameter parameter) { SafeInit(() => InitGlobalParameter(parameter)); }
/// <summary> /// Set the internal Element, ElementId, and UniqueId /// </summary> /// <param name="grid"></param> private void InternalSetGlobalParameter(Autodesk.Revit.DB.GlobalParameter g) { this.InternalGlobalParameter = g; this.InternalElementId = g.Id; this.InternalUniqueId = g.UniqueId; }