If we are going for pie-in-the-sky- revit could use a major overhaul (Revit user since 2006)
This is in 5 parts:
- Family categories open for editing/purging -base system components remain with GUIDs intact
- Family-dependent subcategories with their own GUID- Creating "door.frame" makes the "frame" compatible with all "door" family types, scheduled by its own subtype, or as a subtype of door (e.g. door schedule parameter door.frame[all subcategories of door available here to door.frame]
- Linetypes editable//accessible by GUID in the linetype editor:
- Show/ Use [None |<System> | NickName | Generative]
- None= not allowed/shown for use in this project
- <System>=use default system name (greyed out for non-system items)
- NickName to show user-defined names for sets
- Generative = use generative system to generate names and sets (Given formula and data generate line type and name them by a formula)
- Substitute Linteype (For each non-conforming linetype)
- Map unused linetypes to the next adjacent
- Map imported mismatched linetypes to those allowed
- [conform] to permanently re-map the linetype
- [Save] list mappings [GUIDs -> Remapped]
- All components are shared and reliant upon #1 to identify family sub-content. Sub-content can be brought into a family along with generic annotations.
- Open database allows for any component and host components in families to be referenced using intellisense. E.g. in a door family, the "host<WALL>.structure.core.width" is accessible as a variable, as would be " host<WALL>.structure.core[1].material.identity.type
- Database integrated and accessible on a LIVE bases - e.g. Built into SQL
- where database can be queried,
- or manipulated by an outside source.
- Common database lookup could provide 'open source' subfamilies with common GUIDs provided VIA blessed content by Autodesk for use by all (Translated options available for "Nicknames" - GUIDS remain the same for same content- us Machine learning to map across languages and concepts).
VB style formulas with VB functions (Including concatenate, string manipulation and REGEX!)
All menu and components can be modified/remapped - e.g.
- coarse/med/fine can be remapped and supplemented: LOD100<Coarse>, LOD200<med>, LOD300, LOD400<fine>, LOD500
- Profiles and other components can tie into this system using the <SYSTEM> names or NickNames (Nick names appears on the list)
And soforth- a complete overhaul.