ColorFillScheme
Represents a color scheme could be used to colorfy elements in floor plan views and section views.
Inheritance Hierarchy
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.ColorFillScheme
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class ColorFillScheme : Element
The ColorFillScheme type exposes the following members.
Properties
Name
Description
Public Property
AreaSchemeId
Represents the id of AreaScheme of area plan views that this scheme could be applied to.
Public Property
AssemblyInstanceId
The id of the assembly instance to which the element belongs.
(Inherited from Element)
Public Property
Code Example
BoundingBox
Retrieves a box that circumscribes all geometry of the element.
(Inherited from Element)
Public Property
Category
Retrieves a Category object that represents the category or sub category in which the element resides.
(Inherited from Element)
Public Property
CategoryId
Represents the element category that can be colored by this scheme.
Public Property
Code Example
CreatedPhaseId
Id of a Phase at which the Element was created.
(Inherited from Element)
Public Property
Code Example
DemolishedPhaseId
Id of a Phase at which the Element was demolished.
(Inherited from Element)
Public Property
Code Example
DesignOption
Returns the design option to which the element belongs.
(Inherited from Element)
Public Property
Document
Returns the Document in which the Element resides.
(Inherited from Element)
Public Property
Code Example
Geometry
Retrieves the geometric representation of the element.
(Inherited from Element)
Public Property
GroupId
The id of the group to which an element belongs.
(Inherited from Element)
Public Property
Code Example
Id
A unique identifier for an Element in an Autodesk Revit project.
(Inherited from Element)
Public Property
IsByRange
Represents if the parameter values in entries are treated as value range or not.
Public Property
IsLinkedFilesIncluded
Represent if the scheme includes entries whose parameter values are based on elements from linked files.
Public Property
IsModifiable
Identifies if the element is modifiable.
(Inherited from Element)
Public Property
IsTransient
Indicates whether an element is transient or permanent.
(Inherited from Element)
Public Property
IsValidObject
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Element)
Public Property
LevelId
The id of the level associated with the element.
(Inherited from Element)
Public Property
Code Example
Location
This property is used to find the physical location of an element within a project.
(Inherited from Element)
Public Property
Name
A human readable name for the Element.
(Inherited from Element)
Public Property
OwnerViewId
The id of the view that owns the element.
(Inherited from Element)
Public Property
Code Example
Parameter.BuiltInParameter.
Retrieves a parameter from the element given a parameter id.
(Inherited from Element)
Public Property
Parameter.Definition.
Retrieves a parameter from the element based on its definition.
(Inherited from Element)
Public Property
Parameter.Guid.
Retrieves a parameter from the element given a GUID for a shared parameter.
(Inherited from Element)
Public Property
ParameterDefinition
Represents the parameter of the elements that this scheme could be used to color.
Public Property
Code Example
Parameters
Retrieves a set containing all of the parameters that are contained within the element.
(Inherited from Element)
Public Property
ParametersMap
Retrieves a map containing all of the parameters that are contained within the element.
(Inherited from Element)
Public Property
Pinned
Identifies if the element has been pinned to prevent changes.
(Inherited from Element)
Public Property
StorageType
Represents the type of parameter values stored in entries.
Public Property
Title
Represents the title displayed in ColorFillLegend.
Public Property
Code Example
UniqueId
A stable unique identifier for an element within the document.
(Inherited from Element)
Public Property
VersionGuid
Get the element version Guid.
(Inherited from Element)
Public Property
ViewSpecific
Identifies if the element is owned by a view.
(Inherited from Element)
Public Property
WorksetId
Get Id of the Workset which owns the element.
(Inherited from Element)
Methods
Name
Description
Public Method
AddEntry
Adds new entry to the scheme.
Public Method
AreEntriesConsistentWithScheme
Checks whether the entries can be set to the scheme or not.
Public Method
ArePhasesModifiable
Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element.
(Inherited from Element)
Public Method
CanBeHidden
Indicates if the element can be hidden in the view.
(Inherited from Element)
Public Method
CanBeLocked
Identifies if the element can be locked.
(Inherited from Element)
Public Method
CanDefineByRange
Checks whether the scheme entries can be explained by range.
Public Method
CanDeleteSubelement
Checks if given subelement can be removed from the element.
(Inherited from Element)
Public Method
CanHaveTypeAssigned.
Identifies if the element can have a type assigned.
(Inherited from Element)
Public Method
CanRemoveEntry
Checks whether entry can be removed from the scheme.
Public Method
CanUpdateEntry
Checks whether entry exists in the scheme and not the same as input one.
Public Method
ChangeTypeId(ElementId)
Changes the type of the element.
(Inherited from Element)
Public Method
DeleteEntity
Deletes the existing entity created by %schema% in the element
(Inherited from Element)
Public Method
DeleteSubelement
Removes a subelement from the element.
(Inherited from Element)
Public Method
DeleteSubelements
Removes the subelements from the element.
(Inherited from Element)
Public Method
Dispose
(Inherited from Element)
Public Method
Duplicate
Generates a copy of current scheme.
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Public Method
EvaluateAllParameterValues
Evaluates all the parameters’ values of the element.
(Inherited from Element)
Public Method
EvaluateParameterValues
Evaluate the parameters’ values of the element on the given parameter ID set.
(Inherited from Element)
Public Method
GetDependentElements
Get all elements that, from a logical point of view, are the children of this Element.
(Inherited from Element)
Public Method
GetEntity
Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise.
(Inherited from Element)
Public Method
GetEntitySchemaGuids
Returns the Schema guids of any Entities stored in this element.
(Inherited from Element)
Public Method
GetEntries
Retrieves copies of all entries.
Public Method
GetExternalFileReference
Gets information pertaining to the external file referenced by the element.
(Inherited from Element)
Public Method
GetExternalResourceReference
Gets the ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)
Public Method
GetExternalResourceReferenceExpanded
Gets the collection of ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)
Public Method
GetExternalResourceReferences
Gets the map of the external resource references referenced by the element.
(Inherited from Element)
Public Method
GetExternalResourceReferencesExpanded
Gets the expanded map of the external resource references referenced by the element.
(Inherited from Element)
Public Method
GetFormatOptions
Returns the FormatOptions of the scheme.
Public Method
Code Example
GetGeneratingElementIds
Returns the ids of the element(s) that generated the input geometry object.
(Inherited from Element)
Public Method
GetGeometryObjectFromReference
Retrieve one geometric primitive contained in the element given a reference.
(Inherited from Element)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object)
Public Method
GetMaterialArea
Gets the area of the material with the given id.
(Inherited from Element)
Public Method
GetMaterialIds
Gets the element ids of all materials present in the element.
(Inherited from Element)
Public Method
GetMaterialVolume
Gets the volume of the material with the given id.
(Inherited from Element)
Public Method
GetMonitoredLinkElementIds
Provides the link instance IDs when the element is monitoring.
(Inherited from Element)
Public Method
GetMonitoredLocalElementIds
Provides the local element IDs when the element is monitoring.
(Inherited from Element)
Public Method
GetOrderedParameters
Gets the parameters associated to the element in order.
(Inherited from Element)
Public Method
GetParameter
Retrieves a parameter from the element given identifier.
(Inherited from Element)
Public Method
GetParameterFormatOptions
Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists.
(Inherited from Element)
Public Method
GetParameters
Retrieves the parameters from the element via the given name.
(Inherited from Element)
Public Method
GetPhaseStatus
Gets the status of a given element in the input phase
(Inherited from Element)
Public Method
GetSubelements
Returns the collection of element subelements.
(Inherited from Element)
Public Method
GetSupportedParameterIds
Retrieves collection of all parameters supported by the scheme.
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object)
Public Method
Code Example
GetTypeId
Returns the identifier of this element’s type.
(Inherited from Element)
Public Method
GetValidTypes.
Obtains a set of types that are valid for this element.
(Inherited from Element)
Public Method
HasPhases
Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId.
(Inherited from Element)
Public Method
IsCreatedPhaseOrderValid
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public Method
IsDemolishedPhaseOrderValid
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public Method
IsEntryConsistentWithScheme
Checks whether an entry can be added to the scheme or not.
Public Method
IsExternalFileReference
Determines whether this Element represents an external file.
(Inherited from Element)
Public Method
IsHidden
Identifies if the element has been permanently hidden in the view.
(Inherited from Element)
Public Method
IsMonitoringLinkElement
Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element)
Public Method
IsMonitoringLocalElement
Indicate whether an element is monitoring other local elements.
(Inherited from Element)
Public Method
IsPhaseCreatedValid
Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element.
(Inherited from Element)
Public Method
IsPhaseDemolishedValid
Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element.
(Inherited from Element)
Public Method
IsValidParameterDefinitionId
Checks whether the input parameter id can be applied to the scheme.
Public Method
IsValidSchemeName
Checks whether the name is valid for new generated scheme.
Public Method
IsValidType(ElementId)
Checks if given type is valid for this element.
(Inherited from Element)
Public Method
LookupParameter
Attempts to find a parameter on the element which has the given name.
(Inherited from Element)
Public Method
RefersToExternalResourceReference
Determines whether this Element uses external resources associated with a specified external resource type.
(Inherited from Element)
Public Method
RefersToExternalResourceReferences
Determines whether this Element uses external resources.
(Inherited from Element)
Public Method
RemoveEntry
Removes an entry whose parameter value is the same as the input from the scheme
Public Method
SetEntity
Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten.
(Inherited from Element)
Public Method
SetEntries
Update scheme entries in batch mode.
Public Method
SetFormatOptions
Sets the FormatOptions of the scheme.
Public Method
SortEntries
Sorts the scheme entries ascending.
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object)
Public Method
UpdateEntry
Updates the scheme entry with the same parameter value as the input entry.
Remarks
A color scheme is based on element category and one of the category parameter, it contains a set of ColorFillSchemeEntry which stores parameter value, color, fill pattern and other entry data. The entry paramater values may be a range or a single value, based on the IsByRange property. Then elements with the specified category could be colored with the color and fill pattern of matching entry whose parameter value or value range matches the element parameter value.
You can retrieve the entries with GetEntries., or modify entries with AddEntry(ColorFillSchemeEntry), RemoveEntry(ColorFillSchemeEntry), UpdateEntry(ColorFillSchemeEntry) and [M:Autodesk.Revit.DB.ColorFillScheme.SetEntries(System.Collections.Generic.IList`1{Autodesk.Revit.DB.ColorFillSchemeEntry})].
Unlike most of the other elements, the color scheme works in an “asynchronous” way in UI:
- If document elements change, the color scheme will not be updated immediately.
- If color schemes changes, the document elements will not be updated immediately too.
API works slightly different with UI:
- GetEntries. will return the entries corresponding to the latest document elements status immediately.
- The entries modification operation will retrieve the latest entries with GetEntries. at first, and then modify those entries by request, but document elements will still not be updated immediately.
- To modify multiple entries, it’s better to use [M:Autodesk.Revit.DB.ColorFillScheme.SetEntries(System.Collections.Generic.IList`1{Autodesk.Revit.DB.ColorFillSchemeEntry})] but not modify them one by one with other methods for better performance.
Notes:
- To apply a color scheme whose
CategoryId
property is OST_Areas to an area plan view, the AreaSchemeId property must be the same as the view if it is not used as a template. - To generate a new color scheme, you have to use
Duplicate(String)
method to duplicate form an existing one. - There should not exist two entries values that are the same in a color scheme. if the
StorageType
property is Double, then the value accuracy should be based on FormatOptions property.