Ejemplo n.º 1
0
        /// <summary>
        /// Creates Schedule Filter by Schedule Field, Filter Type and value.
        /// </summary>
        /// <param name="field">Schedule Field used for creating filter.</param>
        /// <param name="filterType">Filter type. Ex: Equal.</param>
        /// <param name="value">Value used by filter for comparison.</param>
        /// <returns name="ScheduleFilter">Schedule Filter</returns>
        public static ScheduleFilter ByFieldTypeAndValue(ScheduleField field, string filterType, object value)
        {
            var ft = (Autodesk.Revit.DB.ScheduleFilterType)System.Enum.Parse(typeof(Autodesk.Revit.DB.ScheduleFilterType), filterType);

            Autodesk.Revit.DB.ScheduleFilter filter;

            if (value.GetType() == typeof(int))
            {
                filter = new Autodesk.Revit.DB.ScheduleFilter(field.InternalScheduleField.FieldId, ft, (int)value);
            }
            else if (value.GetType() == typeof(double))
            {
                filter = new Autodesk.Revit.DB.ScheduleFilter(field.InternalScheduleField.FieldId, ft, (double)value);
            }
            else if (value.GetType() == typeof(string))
            {
                filter = new Autodesk.Revit.DB.ScheduleFilter(field.InternalScheduleField.FieldId, ft, (string)value);
            }
            else
            {
                filter = new Autodesk.Revit.DB.ScheduleFilter(field.InternalScheduleField.FieldId, ft, ((Revit.Elements.Element)value).InternalElement.Id);
            }

            return(new ScheduleFilter(filter));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Reference to the Element
 /// </summary>
 /// <param name="internalScheduleFilter"></param>
 internal ScheduleFilter(Autodesk.Revit.DB.ScheduleFilter internalScheduleFilter)
 {
     this.InternalScheduleFilter = internalScheduleFilter;
 }