Drawings SDK Developer Guide > Working with .dwg Files > Working with Databases > Working with Database Containers > Working with Predefined Tables of Named Records > Basics of Predefined Tables of Named Records > Specific Classes of Predefined Table Objects
Specific Classes of Predefined Table Objects

The OdDbSymbolTable class is a predefined table object that provides the base interface for subclasses intended for collecting and manipulating database objects organized as tables of records in the database. This class is used only as a parent class for the classes that are derived from it to work with specific non-graphical objects. The following specific objects are organized as tables of records:  blocks, layers, linetypes, dimension styles, text styles, user coordinate systems, registered applications, views, and viewports. Collections of these objects are typified and have specific classes that provide the ability to work with their own predefined tables of the database. These specific classes are derived from the OdDbSymbolTable class (one class for each table of records). Each predefined table can store record objects only of its own type. The OdDbSymbolTable class is also derived from the OdDbObject class and inherits the standard database interface. The sub-hierarchy of specific classes is the following:

The OdDbSymbolTable class is not a self-contained class for creating instances or custom objects. This class is used only for deriving the following specific classes: OdDbBlockTable, OdDbLayerTable, OdDbLinetypeTable, OdDbViewTable, OdDbViewportTable, OdDbTextStyleTable, OdDbDimStyleTable, OdDbRegAppTable, and OdDbUCSTable, which are used for working with tables of the specific objects listed above.

The database does not use predefined tables for storing custom objects and working with them. This is due to the history of the Autodesk® DWG™ file format. Initially, the objects listed above were organized as tables of records in the database and their collections were fixed for each drawing. The dictionary's organization was introduced late and applying tables was not necessary for new and custom objects. The table's organization remains only for the objects listed above.

The OdDbSymbolTablePtr class is the typified smart pointer to the named table object. This class is used as a pointer for storing and passing references to the named table objects of the specific classes listed above. Any smart pointer to a specific class can be cast to this smart pointer, which can be cast back to the specific class. Pointers to the OdDbSymbolTable class are used for manipulating tables and casting specific pointers to one type, for example, selecting objects from the table independent of their type.

Working with predefined tables includes: adding records in the table, getting records from the table, checking whether records exist in the table, renaming records, and creating iterators.

See Also

Working with Predefined Tables of Named Records

Specific Classes of Named Record Objects

Iterating through Records

Adding, Naming, Deleting, and Recovering Records

Examples of Using the Record–Table and Dictionary Interfaces

Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.