Похоже, проблема в следующих строках:
fec = FilteredElementCollector(doc)
cat = fec.OfCategory(i.Value2)
В этом случае i.Value2
- это string
, но fec.OfCategory
требует BuiltInCategory
, как вы уже комментировали ранее. .
Ответ Джереми преобразует string
в BuiltInCategory
(спасибо, Джереми, я понятия не имел, что вы можете это сделать!) Вот так: bic = BuiltInCategory.Parse(BuiltInCategory, "OST_PlumbingFixtures")
Итак, в вашем примере это будет:
fec.OfCategory(BuiltInCategory.Parse(BuiltInCategory, i.Value2.split('.')[1]))