Besides those important parameters, built-in or custom, project or family, modifiable or read-only, Revit also has many categories, which can be categorized or grouped further based on different criteria or purposes.
In this post, let’s categorize Revit Categories based on the CategoryType that the Category object itself carries on.
public static Dictionary<CategoryType, List<Category>> CategorizeCategories1(RvtDocument doc)
{
string tempFile = @"c:\temp\CategorizedCategories1.txt";
Dictionary<CategoryType, List<Category>> ret = new Dictionary<CategoryType, List<Category>>();
try
{
foreach (Category c in doc.Settings.Categories)
{
if ( c.Id.IntegerValue != (int)BuiltInCategory.INVALID)
{
if (!ret.ContainsKey(c.CategoryType))
ret.Add(c.CategoryType, new List<Category>());
ret[c.CategoryType].Add(c);
}
}
using (StreamWriter sw = new StreamWriter(tempFile))
{
foreach(KeyValuePair<CategoryType, List<Category>> kvp in ret)
{
sw.WriteLine(kvp.Key.ToString());
foreach(Category c in kvp.Value)
{
sw.WriteLine(string.Format("\t{0}", c.Name));
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
return ret;
}
The output may be as follows:
Annotation
Part Tags
Pipe Insulation Tags
Mechanical Equipment Tags
Foundation Span Direction Symbol
Communication Device Tags
Analytical Wall Tags
Ceiling Tags
Furniture Tags
Pipe Accessory Tags
Security Device Tags
Window Tags
Stair Tread/Riser Numbers
Panel Schedule Graphics
Detail Item Tags
Reference Lines
Structural Framing Tags
Section Boxes
Elevation Marks
Data Device Tags
Lighting Fixture Tags
Assembly Tags
Duct Tags
Structural Rebar Tags
Door Tags
Internal Area Load Tags
Revision Clouds
Multi-Category Tags
Property Line Segment Tags
Curtain Panel Tags
Mass Floor Tags
Zone Tags
Reference Planes
Cable Tray Tags
Multi-Rebar Annotations
Matchline
Specialty Equipment Tags
Duct Fitting Tags
Furniture System Tags
Callout Heads
Structural Stiffener Tags
Casework Tags
Wall Tags
Cable Tray Fitting Tags
Duct Insulation Tags
Rebar Cover References
Stair Support Tags
Structural Truss Tags
Analytical Slab Foundation Tags
Plan Region
Air Terminal Tags
Structural Annotations
Span Direction Symbol
Section Line
Section Marks
Pipe Color Fill
Lighting Device Tags
Floor Tags
Sprinkler Tags
Scope Boxes
Line Load Tags
Render Regions
Structural Path Reinforcement Symbols
Stair Landing Tags
Displacement Path
Duct Lining Tags
Flex Duct Tags
Analytical Wall Foundation Tags
Structural Area Reinforcement Tags
Stair Run Tags
Nurse Call Device Tags
Area Load Tags
Generic Annotations
Area Tags
View Reference
Analytical Column Tags
Connection Symbols
Conduit Fitting Tags
Structural Column Tags
Analytical Beam Tags
Adaptive Points
Fabrication Part Tags
Grid Heads
Sections
Room Tags
Stair Tags
Revision Cloud Tags
Duct Accessory Tags
Spot Slopes
Keynote Tags
Space Tags
Rebar Set Toggle
Pipe Color Fill Legends
Guide Grid
Grids
Fire Alarm Device Tags
Planting Tags
Callouts
Schedule Graphics
Electrical Fixture Tags
Telephone Device Tags
Curtain System Tags
Internal Line Load Tags
Structural Fabric Reinforcement Symbols
Mass Tags
Analytical Node Tags
Property Tags
Structural Path Reinforcement Tags
Callout Boundary
Structural Area Reinforcement Symbols
Contour Labels
Reference Points
Spot Elevation Symbols
Internal Point Load Tags
Analytical Isolated Foundation Tags
Flex Pipe Tags
Cameras
Elevations
Analytical Floor Tags
Structural Connection Tags
Level Heads
Duct Color Fill Legends
Levels
Brace in Plan View Symbols
Railing Tags
Structural Foundation Tags
Wire Tags
Site Tags
Pipe Tags
Analytical Link Tags
Spot Coordinates
Viewports
Title Blocks
Plumbing Fixture Tags
Pipe Fitting Tags
Duct Color Fill
Stair Paths
Roof Tags
Conduit Tags
Point Load Tags
Structural Fabric Reinforcement Tags
Material Tags
View Titles
Parking Tags
Structural Beam System Tags
Analytical Brace Tags
Electrical Equipment Tags
Generic Model Tags
Text Notes
Spot Elevations
Color Fill Legends
Dimensions
AnalyticalModel
Analytical Floors
Analytical Wall Foundations
Analytical Spaces
Analytical Isolated Foundations
Analytical Links
Analytical Columns
Structural Internal Loads
Structural Load Cases
Analytical Braces
Analytical Foundation Slabs
Structural Loads
Analytical Beams
Analytical Surfaces
Analytical Walls
Analytical Nodes
Boundary Conditions
Model
Ramps
Cable Tray Fittings
Structural Connections
Planting
Mass
Air Terminals
Communication Devices
Piping Systems
Plumbing Fixtures
Ceilings
Pipe Segments
Conduit Fittings
Sprinklers
Doors
Lighting Devices
Curtain Systems
Parking
Ducts
Imports in Families
Conduits
Flex Pipes
Structural Trusses
HVAC Zones
Site
Duct Systems
Duct Placeholders
Duct Accessories
Furniture Systems
Telephone Devices
Lines
Wires
Pipes
Topography
Project Information
Fabrication Parts
Analysis Display Style
Pipe Insulations
Flex Ducts
Structural Area Reinforcement
Structural Framing
Electrical Fixtures
Data Devices
Lighting Fixtures
Duct Insulations
Cable Tray Runs
Generic Models
Analysis Results
Electrical Equipment
Curtain Panels
Fire Alarm Devices
Roads
Floors
Point Clouds
Windows
Structural Path Reinforcement
Rebar Shape
Parts
Columns
Routing Preferences
Filled region
Structural Fabric Reinforcement
Raster Images
Curtain Wall Mullions
Walls
Conduit Runs
Pipe Fittings
Structural Columns
Pipe Placeholders
Cable Trays
Structural Stiffeners
Entourage
Nurse Call Devices
Areas
Materials
Roofs
Structural Fabric Areas
Structural Rebar
Shaft Openings
Duct Fittings
Specialty Equipment
Pipe Accessories
Masking Region
Structural Foundations
Curtain Grids
Security Devices
Railings
Duct Linings
Structural Beam Systems
Sheets
Casework
Mechanical Equipment
Switch System
Furniture
Rooms
Stairs
Detail Items
Spaces
Internal
Assemblies
Structural Connection Handlers
Views
Enjoy!
If you find the article, the code, or the wizards/widgets/coders useful, please kindly make a donation through clicking the right button from the following link: