How to set the material parameters "Class" and "Keywords"

My friend @ramoon.bandeira made this python script.

SET CLASS:

import clr
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import *

clr.AddReference(‘RevitServices’)
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument

def toList(item):
if isinstance(item, list):
return item
else:
return [item]

def SetMaterialClass(material, value):
tx = Transaction(doc, “Set Material Value”)
tx.Start()
material.MaterialClass = value
tx.Commit()
return material

Material = UnwrapElement(toList(IN[0]))
Values = toList(IN[1])

OUT = [SetMaterialClass(mat,v) for mat,v in zip(Material, Values)]

GET CLASS:

import clr
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import *

def toList(item):
if isinstance(item, list):
return item
else:
return [item]

Material = UnwrapElement(toList(IN[0]))

OUT = [mat.MaterialClass for mat in Material]

GetClasseMaterial.dyf (4.9 KB)
SetClasseMaterial.dyf (7.1 KB)

7 Likes