Material Class |
Represents a material element within an Autodesk Revit project.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

The Material type exposes the following members.

Name | Description | |
---|---|---|
![]() ![]() | AppearanceAssetId | The ElementId of the AppearanceAssetElement. |
![]() | AssemblyInstanceId | The id of the assembly instance to which the element belongs. (Inherited from Element ) |
![]() ![]() | BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) |
![]() | Category | Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) |
![]() | Color | The color of the material. |
![]() ![]() | CreatedPhaseId | Id of a Phase at which the Element was created. (Inherited from Element ) |
![]() | CutBackgroundPatternColor | The color of the material cut background pattern. |
![]() | CutBackgroundPatternId | The id of the FillPatternElement used as the background pattern of faces with this material in cut views. |
![]() | CutForegroundPatternColor | The color of the material cut foreground pattern. |
![]() | CutForegroundPatternId | The id of the FillPatternElement used as the foreground pattern of faces with this material in cut views. |
![]() ![]() | DemolishedPhaseId | Id of a Phase at which the Element was demolished. (Inherited from Element ) |
![]() ![]() | DesignOption | Returns the design option to which the element belongs. (Inherited from Element ) |
![]() | Document | Returns the Document in which the Element resides. (Inherited from Element ) |
![]() ![]() | Geometry | Retrieves the geometric representation of the element. (Inherited from Element ) |
![]() | GroupId | The id of the group to which an element belongs. (Inherited from Element ) |
![]() ![]() | Id | A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) |
![]() | IsModifiable | Identifies if the element is modifiable. (Inherited from Element ) |
![]() | IsTransient | Indicates whether an element is transient or permanent. (Inherited from Element ) |
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) |
![]() | LevelId | The id of the level associated with the element. (Inherited from Element ) |
![]() ![]() | Location | This property is used to find the physical location of an element within a project. (Inherited from Element ) |
![]() | MaterialCategory | The name of the material category, e.g. 'Wood' |
![]() | MaterialClass | The name of the general material type, e.g. 'Wood.' |
![]() | Name | A human readable name for the Element. (Inherited from Element ) |
![]() | OwnerViewId | The id of the view that owns the element. (Inherited from Element ) |
![]() ![]() | Parameter BuiltInParameter | Retrieves a parameter from the element given a parameter id. (Inherited from Element ) |
![]() | Parameter Definition | Retrieves a parameter from the element based on its definition. (Inherited from Element ) |
![]() | Parameter Guid | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) |
![]() ![]() | Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | Pinned | Identifies if the element has been pinned to prevent changes. (Inherited from Element ) |
![]() | Shininess | The shininess of the material. |
![]() | Smoothness | The smoothness of the material. |
![]() | StructuralAssetId | The ElementId of the structural PropertySetElement. |
![]() | SurfaceBackgroundPatternColor | The color of the material surface background pattern. |
![]() | SurfaceBackgroundPatternId | The id of the FillPatternElement used as the background pattern of faces with this material in normal views. |
![]() | SurfaceForegroundPatternColor | The color of the material surface foreground pattern. |
![]() | SurfaceForegroundPatternId | The id of the FillPatternElement used as the foreground pattern of faces with this material in normal views. |
![]() | ThermalAssetId | The ElementId of the thermal PropertySetElement. |
![]() | Transparency | The transparency of the material. |
![]() ![]() | UniqueId | A stable unique identifier for an element within the document. (Inherited from Element ) |
![]() | UseRenderAppearanceForShading | True to use the render appearance settings for shaded view appearance; false to use the material's color and transparency value for shaded view appearance. |
![]() | VersionGuid | Get the element version Guid. (Inherited from Element ) |
![]() | ViewSpecific | Identifies if the element is owned by a view. (Inherited from Element ) |
![]() | WorksetId | Get Id of the Workset which owns the element. (Inherited from Element ) |

Name | Description | |
---|---|---|
![]() | ArePhasesModifiable | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. (Inherited from Element ) |
![]() | CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element ) |
![]() | CanBeLocked | Identifies if the element can be locked. (Inherited from Element ) |
![]() | CanDeleteSubelement | Checks if given subelement can be removed from the element. (Inherited from Element ) |
![]() | CanHaveTypeAssigned | Identifies if the element can have a type assigned. (Inherited from Element ) |
![]() | ChangeTypeId(ElementId) | Changes the type of the element. (Inherited from Element ) |
![]() | ClearMaterialAspect | Removes an aspect from the material. |
![]() ![]() ![]() | Create | Creates a new material. |
![]() | DeleteEntity | Deletes the existing entity created by %schema% in the element (Inherited from Element ) |
![]() | DeleteSubelement | Removes a subelement from the element. (Inherited from Element ) |
![]() | DeleteSubelements | Removes the subelements from the element. (Inherited from Element ) |
![]() | Dispose | (Inherited from Element ) |
![]() ![]() | Duplicate | Duplicates the material |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | EvaluateAllParameterValues | Evaluates all the parameters' values of the element. (Inherited from Element ) |
![]() | EvaluateParameterValues | Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) |
![]() | GetDependentElements | Get all elements that, from a logical point of view, are the children of this Element. (Inherited from Element ) |
![]() | 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 ) |
![]() | GetEntitySchemaGuids | Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) |
![]() | GetExternalFileReference | Gets information pertaining to the external file referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferenceExpanded | Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferences | Gets the map of the external resource references referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReferencesExpanded | Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) |
![]() ![]() | GetGeneratingElementIds | Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) |
![]() | GetGeometryObjectFromReference | Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetMaterialArea | Gets the area of the material with the given id. (Inherited from Element ) |
![]() | GetMaterialIds | Gets the element ids of all materials present in the element. (Inherited from Element ) |
![]() | GetMaterialVolume | Gets the volume of the material with the given id. (Inherited from Element ) |
![]() | GetMonitoredLinkElementIds | Provides the link instance IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetMonitoredLocalElementIds | Provides the local element IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetOrderedParameters | Gets the parameters associated to the element in order. (Inherited from Element ) |
![]() | GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element ) |
![]() | GetParameterFormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) |
![]() | GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element ) |
![]() | GetPhaseStatus | Gets the status of a given element in the input phase (Inherited from Element ) |
![]() | GetSubelements | Returns the collection of element subelements. (Inherited from Element ) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() ![]() | GetTypeId | Returns the identifier of this element's type. (Inherited from Element ) |
![]() | GetValidTypes | Obtains a set of types that are valid for this element. (Inherited from Element ) |
![]() | HasPhases | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) |
![]() | IsCreatedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsDemolishedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsExternalFileReference | Determines whether this Element represents an external file. (Inherited from Element ) |
![]() | IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element ) |
![]() ![]() | IsMaterialOrValidDefault | Validates whether the specified element id is a material element. |
![]() | IsMonitoringLinkElement | Indicate whether an element is monitoring any elements in any linked models. (Inherited from Element ) |
![]() | IsMonitoringLocalElement | Indicate whether an element is monitoring other local elements. (Inherited from Element ) |
![]() ![]() | IsNameUnique | Validates whether the material name is unique in document. |
![]() | IsPhaseCreatedValid | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. (Inherited from Element ) |
![]() | IsPhaseDemolishedValid | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) |
![]() | IsValidType(ElementId) | Checks if given type is valid for this element. (Inherited from Element ) |
![]() | LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element ) |
![]() | RefersToExternalResourceReference | Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) |
![]() | RefersToExternalResourceReferences | Determines whether this Element uses external resources. (Inherited from Element ) |
![]() | SetEntity | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. (Inherited from Element ) |
![]() | SetMaterialAspectByPropertySet | Sets an aspect of the material to a shared property set. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

private void GetMaterialInformation(Material material)
{
StringBuilder message = new StringBuilder("Material : " + material.Name);
//color of the material
message.Append(string.Format("\nColor: Red[{0}]; Green[{1}]; Blue[{2}]",
material.Color.Red, material.Color.Green, material.Color.Blue));
//foreground cut pattern and pattern color of the material
FillPatternElement cutForegroundPattern = material.Document.GetElement(material.CutForegroundPatternId) as FillPatternElement;
if (null != cutForegroundPattern)
{
message.Append("\nCut Foreground Pattern: " + cutForegroundPattern.Name);
message.Append(string.Format("\nCut Foreground Pattern Color: Red[{0}]; Green[{1}]; Blue[{2}]",
material.CutForegroundPatternColor.Red, material.CutForegroundPatternColor.Green, material.CutForegroundPatternColor.Blue));
}
//foreground surface pattern and pattern color of the material
FillPatternElement surfaceForegroundPattern = material.Document.GetElement(material.SurfaceForegroundPatternId) as FillPatternElement;
if (null != surfaceForegroundPattern)
{
message.Append("\nSurface Foreground Pattern: " + surfaceForegroundPattern.Name);
message.Append(string.Format("\nSurface Foreground Pattern Color: Red[{0}]; Green[{1}]; Blue[{2}]",
material.SurfaceForegroundPatternColor.Red, material.SurfaceForegroundPatternColor.Green, material.SurfaceForegroundPatternColor.Blue));
}
//background cut pattern and pattern color of the material
FillPatternElement cutBackgroundPattern = material.Document.GetElement(material.CutBackgroundPatternId) as FillPatternElement;
if (null != cutBackgroundPattern)
{
message.Append("\nCut Background Pattern: " + cutBackgroundPattern.Name);
message.Append(string.Format("\nCut Background Pattern Color: Red[{0}]; Green[{1}]; Blue[{2}]",
material.CutBackgroundPatternColor.Red, material.CutBackgroundPatternColor.Green, material.CutBackgroundPatternColor.Blue));
}
//background surface pattern and pattern color of the material
FillPatternElement surfaceBackgroundPattern = material.Document.GetElement(material.SurfaceBackgroundPatternId) as FillPatternElement;
if (null != surfaceBackgroundPattern)
{
message.Append("\nSurface Background Pattern: " + surfaceBackgroundPattern.Name);
message.Append(string.Format("\nSurface Background Pattern Color: Red[{0}]; Green[{1}]; Blue[{2}]",
material.SurfaceBackgroundPatternColor.Red, material.SurfaceBackgroundPatternColor.Green, material.SurfaceBackgroundPatternColor.Blue));
}
//some shading property of the material
int shininess = material.Shininess;
message.Append("\nShininess: " + shininess);
int smoothness = material.Smoothness;
message.Append("\nSmoothness: " + smoothness);
int transparency = material.Transparency;
message.Append("\nTransparency: " + transparency);
TaskDialog.Show("Revit", message.ToString());
}
