Files
ShrlAlgoToolkit/ShrlAlgoToolkit.Revit/Extensions/CategoryExtension.cs

30 lines
882 B
C#
Raw Normal View History

2025-04-24 20:56:44 +08:00
using Autodesk.Revit.DB;
2025-12-28 11:47:54 +08:00
namespace ShrlAlgoToolkit.Revit.Extensions;
2025-04-24 20:56:44 +08:00
2025-12-28 11:47:54 +08:00
public static class CategoryExtension
2025-04-24 20:56:44 +08:00
{
public static Element ToElement(this ElementId elementId, Document doc)
{
return doc.GetElement(elementId);
}
public static Category ToCategory(this BuiltInCategory builtInCategory, Document doc)
{
return Category.GetCategory(doc, builtInCategory);
}
public static BuiltInCategory ToBuiltInCategory(this Category category)
{
#if REVIT2018 || REVIT2020
var builtInCategory = (BuiltInCategory)category.Id.IntegerValue;
#elif REVIT2025
var builtInCategory = (BuiltInCategory)category.Id.Value;
#endif
return Enum.IsDefined(typeof(BuiltInCategory), builtInCategory)
? builtInCategory
: throw new ArgumentNullException(nameof(category), "不存在该内建类别");
}
}