This method marks a change of the material.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
void OnMaterial(
MaterialNode node
)
Parameters
- node MaterialNode
-
A node describing the current material.
Example
C#
ElementId currentMaterialId = ElementId.InvalidElementId;
Color currentColor = new Color(0,0,0);
double currentTransparency = 0;
Asset currentAppearance = null;
public void OnMaterial(MaterialNode node)
{
if (currentMaterialId != node.MaterialId)
{
if (node.MaterialId != ElementId.InvalidElementId)
{
currentColor = node.Color;
currentTransparency = node.Transparency;
}
else
{
}
if (node.HasOverriddenAppearance)
{
currentAppearance = node.GetAppearanceOverride();
}
else
{
currentAppearance = node.GetAppearance();
}
}
}
VB
Private currentMaterialId As ElementId = ElementId.InvalidElementId
Private currentColor As New Color(0, 0, 0)
Private currentTransparency As Double = 0
Private currentAppearance As Asset = Nothing
Public Sub OnMaterial(node As MaterialNode) Implements IExportContext.OnMaterial
If currentMaterialId <> node.MaterialId Then
If node.MaterialId <> ElementId.InvalidElementId Then
currentColor = node.Color
currentTransparency = node.Transparency
Else
End If
If node.HasOverriddenAppearance Then
currentAppearance = node.GetAppearanceOverride()
Else
currentAppearance = node.GetAppearance()
End If
End If
End Sub
See Also
Reference