Quantcast
Channel: RevitNetAddinWizard & NavisworksNetAddinWizard
Viewing all articles
Browse latest Browse all 872

Revit .NET API: Categorize Revit Categories (pt. 7) - Based on IsTagCategory

$
0
0

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 IsTagCategory criteria that the Category object itself carries on.

        public static Dictionary<string, List<Category>> CategorizeCategories7(RvtDocument doc)
        {
            string tempFile = @"c:\temp\CategorizedCategories7.txt";
            Dictionary<string, List<Category>> ret = new Dictionary<string, List<Category>>();
            ret.Add("IsTagCategory", new List<Category>());
            ret.Add("NOT IsTagCategory", new List<Category>());
            try
            {
                foreach (Category c in doc.Settings.Categories)
                {
                    if (c.Id.IntegerValue != (int)BuiltInCategory.INVALID)
                    {
                        if (c.IsTagCategory == 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:

IsTagCategory
    Air Terminal Tags
    Analytical Beam Tags
    Analytical Brace Tags
    Analytical Column Tags
    Analytical Floor Tags
    Analytical Isolated Foundation Tags
    Analytical Link Tags
    Analytical Node Tags
    Analytical Slab Foundation Tags
    Analytical Wall Foundation Tags
    Analytical Wall Tags
    Area Load Tags
    Area Tags
    Assembly Tags
    Cable Tray Fitting Tags
    Cable Tray Tags
    Callout Heads
    Casework Tags
    Ceiling Tags
    Communication Device Tags
    Conduit Fitting Tags
    Conduit Tags
    Curtain Panel Tags
    Data Device Tags
    Detail Item Tags
    Door Tags
    Duct Accessory Tags
    Duct Fitting Tags
    Duct Insulation Tags
    Duct Lining Tags
    Duct Tags
    Electrical Equipment Tags
    Electrical Fixture Tags
    Elevation Marks
    Fabrication Part Tags
    Fire Alarm Device Tags
    Flex Duct Tags
    Flex Pipe Tags
    Floor Tags
    Foundation Span Direction Symbol
    Furniture System Tags
    Furniture Tags
    Generic Model Tags
    Grid Heads
    Internal Area Load Tags
    Internal Line Load Tags
    Internal Point Load Tags
    Level Heads
    Lighting Device Tags
    Lighting Fixture Tags
    Line Load Tags
    Mass Floor Tags
    Mass Tags
    Mechanical Equipment Tags
    Nurse Call Device Tags
    Parking Tags
    Part Tags
    Pipe Accessory Tags
    Pipe Fitting Tags
    Pipe Insulation Tags
    Pipe Tags
    Planting Tags
    Plumbing Fixture Tags
    Point Load Tags
    Property Line Segment Tags
    Property Tags
    Railing Tags
    Revision Cloud Tags
    Roof Tags
    Room Tags
    Section Marks
    Security Device Tags
    Site Tags
    Space Tags
    Span Direction Symbol
    Specialty Equipment Tags
    Spot Elevation Symbols
    Sprinkler Tags
    Stair Landing Tags
    Stair Run Tags
    Stair Support Tags
    Stair Tags
    Structural Area Reinforcement Symbols
    Structural Area Reinforcement Tags
    Structural Beam System Tags
    Structural Column Tags
    Structural Connection Tags
    Structural Fabric Reinforcement Symbols
    Structural Fabric Reinforcement Tags
    Structural Foundation Tags
    Structural Framing Tags
    Structural Path Reinforcement Symbols
    Structural Path Reinforcement Tags
    Structural Rebar Tags
    Structural Stiffener Tags
    Structural Truss Tags
    Telephone Device Tags
    Title Blocks
    View Reference
    View Titles
    Wall Tags
    Window Tags
    Wire Tags
    Zone Tags
NOT IsTagCategory
    Analytical Floors
    Ramps
    Cable Tray Fittings
    Structural Connections
    Planting
    Analytical Wall Foundations
    Mass
    Air Terminals
    Stair Tread/Riser Numbers
    Communication Devices
    Piping Systems
    Panel Schedule Graphics
    Reference Lines
    Analytical Spaces
    Plumbing Fixtures
    Ceilings
    Section Boxes
    Pipe Segments
    Conduit Fittings
    Sprinklers
    Doors
    Lighting Devices
    Curtain Systems
    Parking
    Ducts
    Revision Clouds
    Imports in Families
    Conduits
    Multi-Category Tags
    Analytical Isolated Foundations
    Flex Pipes
    Analytical Links
    Structural Trusses
    HVAC Zones
    Site
    Analytical Columns
    Duct Systems
    Duct Placeholders
    Reference Planes
    Multi-Rebar Annotations
    Matchline
    Duct Accessories
    Furniture Systems
    Telephone Devices
    Lines
    Wires
    Pipes
    Topography
    Project Information
    Fabrication Parts
    Structural Internal Loads
    Analysis Display Style
    Pipe Insulations
    Flex Ducts
    Rebar Cover References
    Assemblies
    Structural Load Cases
    Structural Area Reinforcement
    Plan Region
    Structural Framing
    Electrical Fixtures
    Data Devices
    Structural Annotations
    Lighting Fixtures
    Duct Insulations
    Section Line
    Cable Tray Runs
    Pipe Color Fill
    Generic Models
    Analysis Results
    Scope Boxes
    Render Regions
    Electrical Equipment
    Curtain Panels
    Fire Alarm Devices
    Analytical Braces
    Displacement Path
    Roads
    Floors
    Point Clouds
    Analytical Foundation Slabs
    Windows
    Structural Path Reinforcement
    Rebar Shape
    Parts
    Columns
    Routing Preferences
    Generic Annotations
    Filled region
    Structural Fabric Reinforcement
    Connection Symbols
    Raster Images
    Adaptive Points
    Sections
    Curtain Wall Mullions
    Structural Loads
    Walls
    Conduit Runs
    Spot Slopes
    Keynote Tags
    Rebar Set Toggle
    Pipe Color Fill Legends
    Pipe Fittings
    Structural Columns
    Pipe Placeholders
    Guide Grid
    Grids
    Callouts
    Schedule Graphics
    Cable Trays
    Curtain System Tags
    Structural Stiffeners
    Entourage
    Callout Boundary
    Contour Labels
    Nurse Call Devices
    Areas
    Materials
    Roofs
    Structural Fabric Areas
    Structural Rebar
    Reference Points
    Shaft Openings
    Duct Fittings
    Cameras
    Elevations
    Specialty Equipment
    Pipe Accessories
    Masking Region
    Structural Foundations
    Duct Color Fill Legends
    Analytical Beams
    Curtain Grids
    Levels
    Brace in Plan View Symbols
    Structural Connection Handlers
    Security Devices
    Spot Coordinates
    Railings
    Viewports
    Duct Color Fill
    Stair Paths
    Duct Linings
    Structural Beam Systems
    Views
    Sheets
    Casework
    Analytical Surfaces
    Material Tags
    Mechanical Equipment
    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:

Download RevitNetAddinWizardPro and/or Donate


Viewing all articles
Browse latest Browse all 872

Trending Articles