Material Duplicate Method |
Duplicates the material
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Parameters
- name String
- Name of the new material - this name must be correctly structured for Revit use and not duplicate the name of another material in the document.
Return Value
MaterialThe new material.

Exception | Condition |
---|---|
ArgumentException | name cannot include prohibited characters, such as "{, }, [, ], |, ;, less-than sign, greater-than sign, ?, `, ~". -or- The given value for name is already in use as a material element name. |
ArgumentNullException | A non-optional argument was null |

If duplication fails for reasons unrelated to the name, will be returned.

private bool DuplicateMaterial(Material material)
{
bool duplicated = false;
//try to duplicate a new instance of Material class using duplicate method
//make sure the name of new material is unique in MaterailSet
string newName = "new" + material.Name;
Material myMaterial = material.Duplicate(newName);
if (null == myMaterial)
{
TaskDialog.Show("Revit", "Failed to duplicate a material!");
}
else
{
duplicated = true;
}
return duplicated;
}
