Realized I can do it in a less fancy way:
def AssignMaterialFast():
ids = rs.GetObjects(“Select object to change material”, preselect=True)
if ids is None:
returnrmats = [rm for rm in sc.doc.RenderMaterials] materialNames = [] for mat in rmats: materialNames.append(mat.Name) materialNames.sort() result = rs.ListBox(materialNames, "Select Material", "Assign Material") if result is None: return rs.SelectObjects(ids) cmdString = "-_RenderAssignMaterialToObjects " + result + " " rs.Command(cmdString, False)