/// <summary> /// From existing element /// </summary> /// <param name="instance"></param> /// <param name="isRevitOwned"></param> /// <returns></returns> internal static DimensionType FromExisting(Autodesk.Revit.DB.DimensionType instance, bool isRevitOwned) { return(new DimensionType(instance) { IsRevitOwned = isRevitOwned }); }
private void Init(Autodesk.Revit.DB.DimensionType dimType, string name) { var document = DocumentManager.Instance.CurrentDBDocument; TransactionManager.Instance.EnsureInTransaction(document); // get element from trace var element = ElementBinder.GetElementFromTrace <Autodesk.Revit.DB.DimensionType>(document); if (element == null) { element = dimType.Duplicate(name) as Autodesk.Revit.DB.DimensionType; } InternalSetElement(element); TransactionManager.Instance.TransactionTaskDone(); ElementBinder.SetElementForTrace(this.InternalElement); }
public static List <bool> UsesProjectSettings(List <global::Revit.Elements.DimensionType> dimensionType) { //declare new list to append results to List <bool> mask = new List <bool>(); //cycle through all dimension types supplied. foreach (var d in dimensionType) { Autodesk.Revit.DB.DimensionType internalDimType = (Autodesk.Revit.DB.DimensionType)d.InternalElement; try { mask.Add(internalDimType.GetUnitsFormatOptions().UseDefault); } catch { mask.Add(true); } } return(mask); }
private void InitElement(Autodesk.Revit.DB.DimensionType element) { InternalSetElement(element); }
/// <summary> /// DimensionType by duplicating existing. /// </summary> /// <param name="dimType"></param> /// <param name="name"></param> private DimensionType(Autodesk.Revit.DB.DimensionType dimType, string name) { SafeInit(() => Init(dimType, name)); }
/// <summary> /// DimensionType from existing /// </summary> /// <param name="element"></param> private DimensionType(Autodesk.Revit.DB.DimensionType element) { SafeInit(() => InitElement(element)); }
/// <summary> /// Set the internal Element, ElementId, and UniqueId /// </summary> /// <param name="element"></param> private void InternalSetElement(Autodesk.Revit.DB.DimensionType element) { InternalRevitElement = element; InternalElementId = element.Id; InternalUniqueId = element.UniqueId; }
private void InitDimension(Autodesk.Revit.DB.View view, Autodesk.Revit.DB.Line line, Autodesk.Revit.DB.ReferenceArray arr, Autodesk.Revit.DB.DimensionType type) { //Phase 1 - Check to see if the object exists and should be rebound var oldEle = ElementBinder.GetElementFromTrace <Autodesk.Revit.DB.Dimension>(DocumentManager.Instance.CurrentDBDocument); // Rebind to Element if (oldEle != null) { InternalSetDimension(oldEle); return; } //Phase 2 - There was no existing Element, create new one TransactionManager.Instance.EnsureInTransaction(DocumentManager.Instance.CurrentDBDocument); var ii = DocumentManager.Instance.CurrentDBDocument.Create.NewDimension(view, line, arr, type); InternalSetDimension(ii); TransactionManager.Instance.TransactionTaskDone(); ElementBinder.SetElementForTrace(InternalElement); }
/// protected Dimensions(Autodesk.Revit.DB.View view, Autodesk.Revit.DB.Line line, Autodesk.Revit.DB.ReferenceArray arr, Autodesk.Revit.DB.DimensionType type) { SafeInit(() => InitDimension(view, line, arr, type)); }