Noticed over the years that there seems to be a lot of different 'databases' or data structures or engines that are used within the Bentley verticals.
For example:
Aecosim has 2-3 main 'databases' :
- Parts and Families (mainly now for controlling symbology, but has been used for other things).
- It also has something called Drawing Rules, that also controls symbology and annotation
- Data Group System. The Mech and Electrical tools also leverage MS Access and other more standard databases.
- Spaces: which can use either SQL Server or DGS
- Triforma: not sure how the TF Joined elements keep track of each other.
Mstn also has:
- Item Types: which is replacing Tags
- Element Templates: symbology
- Display Rules
- Rendering system: which seems be able to store all kinds of info for elements and subelements
- MSLink
- EngineeringLinks
- SQLite in future?
Speedikon has:
- Object Attributes.. Not expandable?
- QTO -
- ViewFilters
Prostructures:
- Display Classes
- Area Classes
- Part Families
- Groups
- Special Part Properties
- Assembly Properties
- Extended Entity Data
- Detail Center Views / Styles
OpenPlant:
- Spec Records (Access)
- Catalogs (Access)
- EC Framework
- Othrographics manager display settings
WaterCAD/GEMS:
- ??
- SQLite
etc etc etc
By now, Bentley Central must have a good idea about what types of databases or data engines would be typically required... something that needs to be user extendible could look at Aecosim's DGS or better Item Types (based in EC Framework which also what OpenPlant uses). If it is screen display related- Element Templates or Aecosim's Parts and Families.. needs to be quick to load so as to not delay the display system. Something that resymbolises and annotates- which will take a lot longer and require tight integration with the display system - Aecosim's Drawing Rules or Mstn's Display Rules? ProjectWise document checkin/out stuff (SQL Server). If it is 3d modeling related, would something like Aecosim's Triforma COM be handy? Need to get to solid at the face level? Why not use the Rendering materials database? Or D++'s rules base system. Not sure what something to do with dynamic / streaming data like WaterCAD's SCADA or AXSYS would use.
SQLite?
Does Bentley provide some templates to guide third party developers? This seems to an area where a lot of different approaches have been taken... but this has led to a lot of duplication.