/// <summary> /// Construct a FamilyInstance from the Revit document. /// </summary> /// <param name="familyInstance"></param> /// <param name="isRevitOwned"></param> /// <returns></returns> internal static FamilyInstance FromExisting(Autodesk.Revit.DB.FamilyInstance familyInstance, bool isRevitOwned) { return(new FamilyInstance(familyInstance) { IsRevitOwned = isRevitOwned }); }
public void Execute(Autodesk.Revit.DB.UpdaterData data) { Document doc = data.GetDocument(); try { Action <Document, ElementId> setElev = (d, id) => { FamilyInstance fi = d.GetElement(id) as FamilyInstance; SetBottomElev(fi); }; foreach (ElementId addedElemId in data.GetAddedElementIds()) { setElev(doc, addedElemId); } foreach (ElementId changedElemId in data.GetModifiedElementIds()) { setElev(doc, changedElemId); } } catch (Exception ex) { Autodesk.Revit.UI.TaskDialog.Show("Exception", (string.Format ("{0}\n{1}", ex.Message, ex.StackTrace))); } }
/// <summary> /// Construct a FamilyInstance from the Revit document. /// </summary> /// <param name="familyInstance"></param> /// <param name="isRevitOwned"></param> /// <returns></returns> internal static StructuralFraming FromExisting(Autodesk.Revit.DB.FamilyInstance familyInstance, bool isRevitOwned) { return(new StructuralFraming(familyInstance) { IsRevitOwned = isRevitOwned }); }
/// <summary> /// This method does most of the work of the IPerformanceAdviserRule implementation. /// It is called by PerformanceAdviser. /// It examines the element passed to it (which was previously filtered by the filter /// returned by GetElementFilter() (see below)). After checking to make sure that the /// element is an instance, it checks the FacingFlipped property of the element. /// /// If it is flipped, it adds the instance to a list to be used later. /// </summary> /// <param name="document">The active document</param> /// <param name="element">The current element being checked</param> public void ExecuteElementCheck(Autodesk.Revit.DB.Document document, Autodesk.Revit.DB.Element element) { if ((element is Autodesk.Revit.DB.FamilyInstance)) { Autodesk.Revit.DB.FamilyInstance doorCurrent = element as Autodesk.Revit.DB.FamilyInstance; if (doorCurrent.FacingFlipped) { m_FlippedDoors.Add(doorCurrent.Id); } } }
static void SetBottomElev(FamilyInstance fi) { Document doc = fi.Document; if (fi.LookupParameter(SO_BTM_ELEV) == null) { throw new Exception(string.Format("{0} is null", nameof(SO_BTM_ELEV))); } double elev = ((Autodesk.Revit.DB.Level)doc .GetElement(fi.LevelId)).Elevation + fi.get_Parameter (BuiltInParameter.INSTANCE_SILL_HEIGHT_PARAM).AsDouble(); fi.LookupParameter(SO_BTM_ELEV) .Set(elev); }
/// <summary> /// Connectorses this instance. /// </summary> /// <returns></returns> protected CivilConnection.MEP.Connector[] Connectors() { Utils.Log(string.Format("Fitting.Connectors started...", "")); Autodesk.Revit.DB.FamilyInstance fi = InternalElement as Autodesk.Revit.DB.FamilyInstance; CivilConnection.MEP.Connector[] connectors = new CivilConnection.MEP.Connector[fi.MEPModel.ConnectorManager.Connectors.Size]; int i = 0; foreach (Autodesk.Revit.DB.Connector c in fi.MEPModel.ConnectorManager.Connectors) { connectors[i] = new CivilConnection.MEP.Connector(c); i = i + 1; } Utils.Log(string.Format("Fitting.Connectors completed.", "")); return(connectors); }
private void InitFamilyInstance(Autodesk.Revit.DB.FamilyInstance instance) { InternalSetFamilyInstance(instance); }
/// <summary> /// /// </summary> /// <param name="instance"></param> protected FamilyInstances(Autodesk.Revit.DB.FamilyInstance instance) { SafeInit(() => InitFamilyInstance(instance)); }
protected void InternalSetFamilyInstance(Autodesk.Revit.DB.FamilyInstance fi) { this.InternalFamilyInstance = fi; this.InternalElementId = fi.Id; this.InternalUniqueId = fi.UniqueId; }
/// <summary> /// Wrap an existing Fitting. /// </summary> /// <param name="instance">The instance.</param> protected Fitting(Autodesk.Revit.DB.FamilyInstance instance) { SafeInit(() => InitFitting(instance)); }
/// <summary> /// Initialize a StructuralFraming element /// </summary> /// <param name="instance"></param> private void InitStructuralFraming(Autodesk.Revit.DB.FamilyInstance instance) { InternalSetFamilyInstance(instance); }
/// <summary> /// Wrap an existing FamilyInstance. /// </summary> /// <param name="instance"></param> private StructuralFraming(Autodesk.Revit.DB.FamilyInstance instance) { SafeInit(() => InitStructuralFraming(instance)); }