134 Remove Other Sub Categories
Chris McKeown / July 1, 2025
Power
Welcome to this demonstration on Bonus Tools – 134 Remove Other Sub Categories. This powerful family cleanup tool automatically removes all subcategories from non-active categories in family files, including nested families, preventing unnecessary category pollution in your projects.
Table of Contents
Key Features
- Automatic Cleanup: Removes all subcategories from inactive categories
- Nested Family Processing: Recursively processes and cleans all nested families
- Smart Retention: Keeps subcategories from the family's active category
- Detailed Reporting: Color-coded output shows retained, deleted, and failed operations
- Transaction Safety: Uses transactions with rollback protection
- Real-Time Feedback: Progress updates during processing
- Comprehensive Logging: Complete audit trail of all operations
- Family Reload: Automatically reloads cleaned nested families
Understanding the Problem
What Are "Other Subcategories"?
The Issue: When you create or edit families, subcategories from various categories can accumulate:
- Categories from copied geometry
- Categories from imported families
- Legacy categories from old workflows
- Unintended categories from paste operations
The Impact: These unwanted subcategories:
- Pollute project category lists
- Create confusion for users
- Increase file size
- Complicate project standards
- Make category management difficult
Example Scenario
Furniture Family (Active Category: Furniture)
Desired State:
- Furniture: [Subcategory A]
- Furniture: [Subcategory B]
Problem State:
- Furniture: [Subcategory A]
- Furniture: [Subcategory B]
- Casework: [Imported Subcategory] ← Should not be here
- Doors: [Copied Subcategory] ← Should not be here
- Generic Models: [Legacy Subcategory] ← Should not be here
After Tool:
- Furniture: [Subcategory A] ✓ Retained
- Furniture: [Subcategory B] ✓ Retained
- Casework subcategories ✗ Removed
- Doors subcategories ✗ Removed
- Generic Models subcategories ✗ Removed
Why This Matters
Project Impact:
- Clean families = clean projects
- Reduces category clutter
- Maintains project standards
- Simplifies user experience
- Improves file performance
Family Quality:
- Professional, clean families
- Easier maintenance
- Clear category structure
- Better documentation
- Reduced confusion
Requirements
Essential Components
- Valid Bonus Tools License: Active license key required
- Family Environment: Tool ONLY works in family editor (not projects)
- Editable Family: Family must be open for editing
- Nested Family Access: Nested families must be editable
Recommended Setup
- Backup First: Save a copy before running
- Test on Copy: Try on duplicate family first
- Close Projects: Work in family editor only
- Save Work: Save family after running tool
What Gets Processed
Included:
- Current family file
- All nested families (recursive)
- All subcategories in all categories
- Editable nested families only
Excluded:
- System families (not editable)
- Specific system annotation families:
- Level Lead/Target families
- Section Head Min families
- Section Tail Filled families
- Section Tail Upgrade families
How It Works
Processing Sequence
1. Initial Analysis
- Opens output window for logging
- Identifies family's active category
- Scans all categories and subcategories
2. Nested Family Processing
- Finds all nested families
- Recursively processes each nested family
- Edits and cleans nested families
- Reloads cleaned families back into parent
3. Parent Family Processing
- Processes main family last
- Identifies subcategories to retain
- Identifies subcategories to delete
- Attempts deletion with error handling
4. Reporting
- Generates color-coded output
- Shows retained subcategories (green)
- Shows deleted subcategories (blue)
- Shows failed deletions (blue-violet)
- Displays totals
Category Logic
Retention Rules:
Family Category: Furniture
RETAIN:
- Furniture: [Any Subcategory]
DELETE:
- All other categories: [Any Subcategory]
- Casework: [Subcategories]
- Doors: [Subcategories]
- Windows: [Subcategories]
- Generic Models: [Subcategories]
- etc.
Smart Handling:
- If subcategory appears in both lists, retained
- If deletion fails, marked as unable to delete
- Transaction ensures atomic operation
- Rollback on errors
Nested Family Handling
Recursive Processing:
Parent Family
├── Nested Family A
│ ├── Process and clean
│ └── Reload into parent
├── Nested Family B
│ ├── Nested Family C
│ │ ├── Process and clean
│ │ └── Reload into B
│ ├── Process and clean B
│ └── Reload into parent
└── Process parent last
Benefits:
- Complete cleanup throughout family tree
- Prevents subcategory reintroduction
- Maintains family hierarchy
- Ensures thorough cleaning
Step-by-Step Guide
Basic Workflow
1. Prepare Family
- Open family in Family Editor
- Verify it's the correct family
- Save current state (backup)
- Close any projects
2. Launch Tool
- Go to Bonus Tools ribbon
- Click "134 Remove Other Sub Categories"
- Output window opens automatically
3. Monitor Process
- Watch output window for progress
- See nested families being processed
- Observe subcategories being evaluated
- Note any errors or warnings
4. Review Results
- Check "Final list" section in output
- Review retained subcategories (green)
- Review deleted subcategories (blue)
- Note any unable to delete (blue-violet)
- Read total counts
5. Verify and Save
- Check family properties
- Verify category list
- Review subcategories in browser
- Save family if satisfied
- Test in project if needed
Advanced Workflow: Batch Family Cleanup
Goal: Clean multiple families systematically
Steps:
- Create list of families to clean
- For each family:
- Open in Family Editor
- Run tool
- Review output
- Save if successful
- Document results
- Test cleaned families in project
- Verify category lists clean
- Update family library
Output and Logging
Output Window Sections
1. Processing Log (Real-Time)
Running: 134 Remove Other Sub Categories
Nested Family: [Family Name]
Adding to retained list: Furniture : Custom Subcategory
Removing from delete list: Generic Models : Wrong Category
Deleted: Casework : Imported Subcategory
Failed to remove category: Doors : Locked Subcategory
Loaded Nested Family: [Family Name] into: [Parent Name]
Parent Family: [Parent Name]
2. Final Summary
Final list
Retained: Furniture : Subcategory A
Retained: Furniture : Subcategory B
Total Retained: 2
Deleted: Casework : Subcategory X
Deleted: Doors : Subcategory Y
Deleted: Generic Models : Subcategory Z
Total Deleted: 3
Unable to Deleted: Windows : Locked Subcategory
Total unable to Deleted: 1
Color Coding
Black: General information, family names, totals Green: Subcategories retained (correct category) Blue: Subcategories deleted (wrong category) Purple: Subcategories removed from delete list Blue-Violet: Subcategories unable to delete Red: Errors and failures
Understanding Output
"Adding to retained list"
- Subcategory belongs to family's active category
- Will be kept in family
- Correct and desired
"Removing from delete list"
- Subcategory was marked for deletion
- But found in nested family's correct category
- Moved to retained list
"Deleted"
- Subcategory successfully removed
- From inactive category
- Operation successful
"Unable to Deleted"
- Deletion attempt failed
- May be in use or locked
- Requires manual review
"Failed to remove category"
- Error during deletion
- See error details below in output
- May need manual intervention
Example Workflows
Workflow 1: Clean Downloaded Family
Goal: Remove unwanted categories from downloaded family library content
Steps:
- Download family from manufacturer or library
- Open family in Family Editor
- Review current categories (Manage → Project Browser)
- Note unwanted subcategories
- Run "134 Remove Other Sub Categories"
- Review output window:
- Check retained list matches expectations
- Verify deleted list contains unwanted items
- Note any unable to delete
- Verify category list now clean
- Save family with descriptive name
- Test in project
- Add to company library
Expected Results:
- Only family category subcategories remain
- All other category subcategories removed
- Clean, professional family
Workflow 2: Nested Family Cleanup
Goal: Clean parent family and all nested families
Steps:
-
Open parent family
-
Note number of nested families (Project Browser)
-
Run tool
-
Monitor output for each nested family:
Nested Family: Insert A [Processing messages] Loaded Nested Family: Insert A into: Parent Nested Family: Insert B [Processing messages] Loaded Nested Family: Insert B into: Parent Parent Family: Parent Name [Processing messages] -
Review final summary
-
Check all totals reasonable
-
Save family
-
Test nested families still work correctly
Verification:
- Each nested family processed
- Nested families reloaded properly
- Parent family cleaned last
- All levels of nesting addressed
Workflow 3: Template Family Standardization
Goal: Clean template families before distributing to team
Steps:
- Open template family
- Document current category structure
- Run cleanup tool
- Review output carefully
- Verify only template category retained
- Test all functionality preserved
- Save as template
- Document cleanup in family notes
- Distribute to team with instructions
Quality Checks:
- Template functionality intact
- No unwanted categories
- Clean for users
- Professional appearance
Workflow 4: Legacy Family Modernization
Goal: Update old families to current standards
Steps:
- Create backup of original family
- Open in current Revit version
- Upgrade if prompted
- Run subcategory cleanup
- Review extensive delete list (old families have many)
- Check for "unable to delete" items
- Manually investigate locked subcategories
- Re-run tool if manual changes made
- Test thoroughly
- Save with version note
Considerations:
- Legacy families may have many unwanted categories
- Some subcategories may be in use (can't delete)
- May need manual intervention
- Test functionality after cleanup
Workflow 5: Post-Copy Cleanup
Goal: Clean family after copying geometry from other families
Scenario:
- Copied details from door family into furniture family
- Door subcategories now in furniture family
Steps:
- Finish geometry copying and editing
- Before saving, run cleanup tool
- Review output - should see door categories deleted
- Verify furniture subcategories retained
- Check copied geometry still visible
- Verify subcategories assigned correctly
- Save cleaned family
Prevention:
- Run tool after any copy operations
- Prevents category pollution
- Maintains clean families
Workflow 6: Pre-Project Family Audit
Goal: Clean all families before starting new project
Process:
- Create list of families for project
- Create backup of all families
- For each family:
- Open in Family Editor
- Run cleanup tool
- Document results
- Save if successful
- Note any issues
- Compile report of all cleaned families
- Test sample families in project
- Verify category lists clean
- Proceed with project using cleaned families
Documentation:
- Spreadsheet of families processed
- Before/after category counts
- Any families with issues
- Test results
Tips and Best Practices
Before Running Tool
Preparation:
- Always backup families before cleaning
- Test on copies first
- Close projects (tool only works in families)
- Save current work
- Document current state if needed
Verification:
- Confirm family category is correct
- Review existing subcategories
- Note any custom subcategories needed
- Check nested family structure
During Processing
Monitoring:
- Watch output window closely
- Note processing of each nested family
- Observe retained vs. deleted lists building
- Watch for error messages
- Allow process to complete (don't interrupt)
Understanding Progress:
- Nested families processed first
- Multiple nested levels processed recursively
- Parent family processed last
- Color coding helps track status
After Processing
Verification Steps:
- Review final summary totals
- Check "unable to delete" list
- Verify retained list correct
- Ensure expected deletions occurred
- Test family functionality
- Check in project if applicable
Save Strategy:
- Save with new version number if tracking
- Include "Cleaned" in description
- Document cleanup in family notes
- Keep pre-cleanup version temporarily
Category Management
What to Retain:
- Family's active category subcategories
- Custom subcategories you created
- Standard project subcategories
- Subcategories in use by geometry
What Gets Deleted:
- Other categories' subcategories
- Imported subcategories
- Copied subcategories
- Legacy subcategories
- Accidental subcategories
Manual Review Needed:
- "Unable to delete" items
- Locked subcategories
- Subcategories with dependencies
- Questionable deletions
Nested Family Considerations
Editing Permissions:
- Nested families must be editable
- System families skipped automatically
- Locked families can't be processed
- May need to replace locked nested families
Processing Order:
- Deepest nested families first
- Working up to parent
- Each level reloaded after cleaning
- Parent processed last
Quality Control
Post-Cleanup Checks:
- Review category list in project browser
- Verify geometry visibility
- Check subcategory assignments
- Test family parameters
- Verify type catalog (if applicable)
Project Testing:
- Load into test project
- Check Object Styles list
- Verify visibility graphics
- Test in multiple views
- Confirm tag behavior
Common Use Cases
Library Management
Family Library Cleanup:
- Clean all library families
- Standardize category structure
- Remove legacy categories
- Maintain professional library
New Content Addition:
- Clean before adding to library
- Verify category compliance
- Document cleanup process
- Quality control step
Project Preparation
Template Families:
- Clean before distributing
- Ensure only relevant categories
- Professional appearance
- User-friendly
Project Standards:
- Clean families match project standards
- Consistent category structure
- Reduce user confusion
- Improve project quality
Content Creation
Family Development:
- Clean during development
- Prevent category accumulation
- Maintain quality throughout
- Final cleanup before release
Custom Content:
- Remove test categories
- Clean development artifacts
- Professional final product
- Ready for distribution
Troubleshooting Projects
Category Pollution:
- Clean source families
- Reload into project
- Reduce category clutter
- Improve user experience
Standards Compliance:
- Ensure families meet standards
- Remove non-compliant categories
- Document compliance
- Maintain standards
Troubleshooting
Common Issues
Problem: "Action only available in the Family environment"
- Cause: Tool run in project instead of family
- Solution:
- Close project
- Open family in Family Editor (Edit Family)
- Run tool again
- Tool only works in family environment
Problem: "No subcategories deleted (all retained)"
- Cause: Family may already be clean, or all subcategories belong to active category
- Solution:
- This may be correct if family is already clean
- Verify family category
- Check subcategory list manually
- Review output for confirmation
Problem: "Many subcategories 'Unable to Deleted'"
- Cause: Subcategories in use by geometry or locked
- Solution:
- Review which subcategories failed
- Check if geometry uses these subcategories
- Reassign geometry to correct subcategories
- Delete unused geometry
- Re-run tool after corrections
Problem: "Nested family not processed"
- Cause: Nested family not editable or is system family
- Solution:
- Check if family is editable (not system)
- Verify permissions on nested family
- Replace with editable family if needed
- System families automatically skipped (expected)
Problem: "Tool runs but nothing happens"
- Cause: Family may have no other subcategories to remove
- Solution:
- Check output window for details
- Review retained list
- Verify delete list is empty
- Family may already be clean
Problem: "Process very slow with many nested families"
- Cause: Recursive processing of deep nesting hierarchy
- Solution:
- Be patient (this is normal)
- Watch output window for progress
- Each nested family must be processed
- Consider simplifying nesting structure
Problem: "Family won't save after cleanup"
- Cause: Family may have issues or dependencies
- Solution:
- Review output for errors
- Check family warnings
- Verify geometry integrity
- May need to manually address issues
- Check if family corrupted
Problem: "Subcategories return after reload"
- Cause: May be from unprocessed nested families or new geometry
- Solution:
- Ensure all nested families processed
- Re-run tool
- Check for new copied geometry
- Verify nested families saved correctly
Problem: "Wrong subcategories retained"
- Cause: Family category may not be set correctly
- Solution:
- Check family category (Family Category and Parameters)
- Verify correct category selected
- Change category if needed
- Re-run tool
Error Messages
"Failed to remove category: [name]"
- Specific subcategory deletion failed
- Check if in use
- Review dependencies
- May need manual intervention
"Failed to process nested family [name]"
- Nested family couldn't be edited
- Check if locked or system family
- Review permissions
- May need to replace
"Failed to remove categories"
- Transaction failed
- Check for family issues
- Review output for specific errors
- May need manual cleanup
"Global fail to remove categories"
- Major error in processing
- Review output window completely
- Check family integrity
- Contact support if persistent
Performance Issues
Slow Processing:
- Normal for complex families
- Many nested families take time
- Deep nesting requires more processing
- Be patient and monitor output
Memory Usage:
- Large families use more memory
- Many nested families increase usage
- Close other applications if needed
- Consider simplifying family structure
Verification Issues
Category List Still Cluttered:
- Check if tool completed successfully
- Review "unable to delete" list
- Manual cleanup may be needed
- Consider running again
Functionality Lost:
- Some geometry may have been affected
- Check subcategory assignments
- Verify visibility settings
- Test thoroughly before saving
Need Help? Contact support or refer to additional Bonus Tools documentation.
Thank you for using Bonus Tools - 134 Remove Other Sub Categories!