Beispiel #1
0
 /// <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
     });
 }
Beispiel #2
0
        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)));
            }
        }
Beispiel #3
0
 /// <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
     });
 }
Beispiel #4
0
 /// <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);
         }
     }
 }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
 private void InitFamilyInstance(Autodesk.Revit.DB.FamilyInstance instance)
 {
     InternalSetFamilyInstance(instance);
 }
Beispiel #8
0
 /// <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;
 }
Beispiel #10
0
 /// <summary>
 /// Wrap an existing Fitting.
 /// </summary>
 /// <param name="instance">The instance.</param>
 protected Fitting(Autodesk.Revit.DB.FamilyInstance instance)
 {
     SafeInit(() => InitFitting(instance));
 }
Beispiel #11
0
 /// <summary>
 /// Initialize a StructuralFraming element
 /// </summary>
 /// <param name="instance"></param>
 private void InitStructuralFraming(Autodesk.Revit.DB.FamilyInstance instance)
 {
     InternalSetFamilyInstance(instance);
 }
Beispiel #12
0
 /// <summary>
 /// Wrap an existing FamilyInstance.
 /// </summary>
 /// <param name="instance"></param>
 private StructuralFraming(Autodesk.Revit.DB.FamilyInstance instance)
 {
     SafeInit(() => InitStructuralFraming(instance));
 }