RVTDocs.com
Namespace: Autodesk.Revit.DB

Material

Class
Description:
Represents a material element within an Autodesk Revit project.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.Element
    Autodesk.Revit.DB.Material
Syntax
public class Material : Element
Examples
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());
}
Material Class Members:
Name Description Inherited From
AppearanceAssetId The ElementId of the AppearanceAssetElement.
AssemblyInstanceId The id of the assembly instance to which the element belongs. (Inherited from Element ) Element
BoundingBox Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) Element
Category Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) Element
Color The color of the material.
CreatedPhaseId Id of a Phase at which the Element was created. (Inherited from Element ) 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 ) Element
DesignOption Returns the design option to which the element belongs. (Inherited from Element ) Element
Document Returns the Document in which the Element resides. (Inherited from Element ) Element
Geometry Retrieves the geometric representation of the element. (Inherited from Element ) Element
GroupId The id of the group to which an element belongs. (Inherited from Element ) Element
Id A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) Element
IsModifiable Identifies if the element is modifiable. (Inherited from Element ) Element
IsTransient Indicates whether an element is transient or permanent. (Inherited from Element ) Element
IsValidObject Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) Element
LevelId The id of the level associated with the element. (Inherited from Element ) Element
Location This property is used to find the physical location of an element within a project. (Inherited from Element ) 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 ) Element
OwnerViewId The id of the view that owns the element. (Inherited from Element ) Element
Parameter[BuiltInParameter] Retrieves a parameter from the element given a parameter id. (Inherited from Element ) Element
Parameter[Definition] Retrieves a parameter from the element based on its definition. (Inherited from Element ) Element
Parameter[Guid] Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) Element
Parameters Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) Element
ParametersMap Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) Element
Pinned Identifies if the element has been pinned to prevent changes. (Inherited from Element ) 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 ) 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 ) Element
ViewSpecific Identifies if the element is owned by a view. (Inherited from Element ) Element
WorksetId Get Id of the Workset which owns the element. (Inherited from Element ) Element
Name Description Inherited From
ArePhasesModifiable Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. (Inherited from Element ) Element
CanBeHidden Indicates if the element can be hidden in the view. (Inherited from Element ) Element
CanBeLocked Identifies if the element can be locked. (Inherited from Element ) Element
CanDeleteSubelement Checks if given subelement can be removed from the element. (Inherited from Element ) Element
CanHaveTypeAssigned() Identifies if the element can have a type assigned. (Inherited from Element ) Element
ChangeTypeId(ElementId) Changes the type of the element. (Inherited from Element ) 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 ) Element
DeleteSubelement Removes a subelement from the element. (Inherited from Element ) Element
DeleteSubelements Removes the subelements from the element. (Inherited from Element ) Element
Dispose (Inherited from Element ) Element
Duplicate Duplicates the material
Equals Determines whether the specified object is equal to the current object. (Inherited from Object ) Object
EvaluateAllParameterValues Evaluates all the parameters' values of the element. (Inherited from Element ) Element
EvaluateParameterValues Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) Element
GetDependentElements Get all elements that, from a logical point of view, are the children of this Element. (Inherited from Element ) 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 ) Element
GetEntitySchemaGuids Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) Element
GetExternalFileReference Gets information pertaining to the external file referenced by the element. (Inherited from Element ) Element
GetExternalResourceReference Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) Element
GetExternalResourceReferenceExpanded Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) Element
GetExternalResourceReferences Gets the map of the external resource references referenced by the element. (Inherited from Element ) Element
GetExternalResourceReferencesExpanded Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) Element
GetGeneratingElementIds Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) Element
GetGeometryObjectFromReference Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) Element
GetHashCode Serves as the default hash function. (Inherited from Object ) Object
GetMaterialArea Gets the area of the material with the given id. (Inherited from Element ) Element
GetMaterialIds Gets the element ids of all materials present in the element. (Inherited from Element ) Element
GetMaterialVolume Gets the volume of the material with the given id. (Inherited from Element ) Element
GetMonitoredLinkElementIds Provides the link instance IDs when the element is monitoring. (Inherited from Element ) Element
GetMonitoredLocalElementIds Provides the local element IDs when the element is monitoring. (Inherited from Element ) Element
GetOrderedParameters Gets the parameters associated to the element in order. (Inherited from Element ) Element
GetParameter Retrieves a parameter from the element given identifier. (Inherited from Element ) Element
GetParameterFormatOptions Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) Element
GetParameters Retrieves the parameters from the element via the given name. (Inherited from Element ) Element
GetPhaseStatus Gets the status of a given element in the input phase (Inherited from Element ) Element
GetSubelements Returns the collection of element subelements. (Inherited from Element ) Element
GetType Gets the Type of the current instance. (Inherited from Object ) Object
GetTypeId Returns the identifier of this element's type. (Inherited from Element ) Element
GetValidTypes() Obtains a set of types that are valid for this element. (Inherited from Element ) Element
HasPhases Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) Element
IsCreatedPhaseOrderValid Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) Element
IsDemolishedPhaseOrderValid Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) Element
IsExternalFileReference Determines whether this Element represents an external file. (Inherited from Element ) Element
IsHidden Identifies if the element has been permanently hidden in the view. (Inherited from Element ) 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 ) Element
IsMonitoringLocalElement Indicate whether an element is monitoring other local elements. (Inherited from Element ) 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 ) Element
IsPhaseDemolishedValid Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) Element
IsValidType(ElementId) Checks if given type is valid for this element. (Inherited from Element ) Element
LookupParameter Attempts to find a parameter on the element which has the given name. (Inherited from Element ) Element
RefersToExternalResourceReference Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) Element
RefersToExternalResourceReferences Determines whether this Element uses external resources. (Inherited from Element ) Element
SetEntity Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. (Inherited from Element ) 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 ) Object