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 IsReadOnly criteria that the Category object itself carries on.
public static Dictionary<string, List<Category>> CategorizeCategories6(RvtDocument doc)
{
string tempFile = @"c:\temp\CategorizedCategories6.txt";
Dictionary<string, List<Category>> ret = new Dictionary<string, List<Category>>();
ret.Add("IsReadOnly", new List<Category>());
ret.Add("NOT IsReadOnly", new List<Category>());
try
{
foreach (Category c in doc.Settings.Categories)
{
if (c.Id.IntegerValue != (int)BuiltInCategory.INVALID)
{
if (c.IsReadOnly == true)
ret.First().Value.Add(c);
else
ret.Last().Value.Add(c);
}
}
List<Category> sorted = ret.First().Value.OrderBy(f => f.Name).ToList();
ret.First().Value.Clear();
ret.First().Value.AddRange(sorted);
using (StreamWriter sw = new StreamWriter(tempFile))
{
foreach (KeyValuePair<string, 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:
IsReadOnly
NOT IsReadOnly
Part Tags
Pipe Insulation Tags
Analytical Floors
Mechanical Equipment Tags
Ramps
Cable Tray Fittings
Foundation Span Direction Symbol
Communication Device Tags
Analytical Wall Tags
Structural Connections
Planting
Ceiling Tags
Analytical Wall Foundations
Furniture Tags
Mass
Air Terminals
Pipe Accessory Tags
Security Device Tags
Window Tags
Stair Tread/Riser Numbers
Communication Devices
Piping Systems
Panel Schedule Graphics
Detail Item Tags
Reference Lines
Analytical Spaces
Plumbing Fixtures
Structural Framing Tags
Ceilings
Section Boxes
Elevation Marks
Data Device Tags
Pipe Segments
Conduit Fittings
Sprinklers
Doors
Lighting Fixture Tags
Lighting Devices
Assembly Tags
Duct Tags
Curtain Systems
Structural Rebar Tags
Parking
Ducts
Door Tags
Internal Area Load Tags
Revision Clouds
Imports in Families
Conduits
Multi-Category Tags
Analytical Isolated Foundations
Flex Pipes
Property Line Segment Tags
Curtain Panel Tags
Analytical Links
Structural Trusses
HVAC Zones
Mass Floor Tags
Site
Analytical Columns
Duct Systems
Zone Tags
Duct Placeholders
Reference Planes
Cable Tray Tags
Multi-Rebar Annotations
Matchline
Specialty Equipment Tags
Duct Accessories
Duct Fitting Tags
Furniture System Tags
Callout Heads
Furniture Systems
Telephone Devices
Lines
Wires
Pipes
Structural Stiffener Tags
Topography
Casework Tags
Project Information
Wall Tags
Cable Tray Fitting Tags
Fabrication Parts
Structural Internal Loads
Analysis Display Style
Pipe Insulations
Flex Ducts
Duct Insulation Tags
Rebar Cover References
Assemblies
Structural Load Cases
Stair Support Tags
Structural Area Reinforcement
Structural Truss Tags
Analytical Slab Foundation Tags
Plan Region
Structural Framing
Electrical Fixtures
Air Terminal Tags
Data Devices
Structural Annotations
Lighting Fixtures
Duct Insulations
Span Direction Symbol
Section Line
Cable Tray Runs
Section Marks
Pipe Color Fill
Generic Models
Lighting Device Tags
Floor Tags
Sprinkler Tags
Analysis Results
Scope Boxes
Line Load Tags
Render Regions
Structural Path Reinforcement Symbols
Electrical Equipment
Stair Landing Tags
Curtain Panels
Fire Alarm Devices
Analytical Braces
Displacement Path
Roads
Duct Lining Tags
Floors
Flex Duct Tags
Point Clouds
Analytical Wall Foundation Tags
Analytical Foundation Slabs
Windows
Structural Area Reinforcement Tags
Structural Path Reinforcement
Stair Run Tags
Rebar Shape
Parts
Nurse Call Device Tags
Columns
Area Load Tags
Routing Preferences
Generic Annotations
Area Tags
View Reference
Filled region
Analytical Column Tags
Structural Fabric Reinforcement
Connection Symbols
Conduit Fitting Tags
Raster Images
Structural Column Tags
Analytical Beam Tags
Adaptive Points
Fabrication Part Tags
Grid Heads
Sections
Room Tags
Curtain Wall Mullions
Stair Tags
Structural Loads
Revision Cloud Tags
Walls
Conduit Runs
Duct Accessory Tags
Spot Slopes
Keynote Tags
Space Tags
Rebar Set Toggle
Pipe Color Fill Legends
Pipe Fittings
Structural Columns
Pipe Placeholders
Guide Grid
Grids
Fire Alarm Device Tags
Planting Tags
Callouts
Schedule Graphics
Electrical Fixture Tags
Telephone Device Tags
Cable Trays
Curtain System Tags
Structural Stiffeners
Entourage
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
Nurse Call Devices
Areas
Materials
Roofs
Structural Fabric Areas
Structural Rebar
Reference Points
Shaft Openings
Spot Elevation Symbols
Internal Point Load Tags
Analytical Isolated Foundation Tags
Flex Pipe Tags
Duct Fittings
Cameras
Elevations
Specialty Equipment
Analytical Floor Tags
Pipe Accessories
Structural Connection Tags
Masking Region
Structural Foundations
Level Heads
Duct Color Fill Legends
Analytical Beams
Curtain Grids
Levels
Brace in Plan View Symbols
Railing Tags
Structural Connection Handlers
Structural Foundation Tags
Wire Tags
Security Devices
Site Tags
Pipe Tags
Analytical Link Tags
Spot Coordinates
Railings
Viewports
Title Blocks
Plumbing Fixture Tags
Pipe Fitting Tags
Duct Color Fill
Stair Paths
Duct Linings
Structural Beam Systems
Roof Tags
Views
Sheets
Casework
Conduit Tags
Point Load Tags
Analytical Surfaces
Structural Fabric Reinforcement Tags
Material Tags
View Titles
Mechanical Equipment
Parking Tags
Structural Beam System Tags
Analytical Brace Tags
Electrical Equipment Tags
Generic Model Tags
Switch System
Furniture
Rooms
Analytical Walls
Stairs
Text Notes
Detail Items
Spot Elevations
Analytical Nodes
Boundary Conditions
Color Fill Legends
Spaces
Dimensions
Enjoy!
If you find the article, the code, or the RevitNetAddinWizard(Pro) useful, please kindly make a donation through clicking the right button from the following link: