A .dgn file is a compressed hierarchal document or database of the entities
representing drawings. These databases can be loaded into memory and operated
on without ever being rendered to the screen or other device. Therefore, you
may never have the need to load the dynamic libraries which can be used for
graphically representing the entities in the database. However, if the system
you are developing does render these entities graphically, you will need the
entities broken down to primary components, or “vectorized”, using
a vectorizer.
A vectorizer is a platform-dependent device wrapper. There are several provided
interfaces to the commonly used rendering libraries, or graphical interface
libraries. They are developed in the Kernel\Extensions\ExRender subdirectory The
most commonly used are OpenGL, Bitmap, and GDI (Windows Graphical Device Interface).
The source code generates these device wrappers as .txv files. The example application
OdaDgnApp.exe shows the separation between these vectorization libraries and
the database libraries. The separation can be seen by observing that when a
file is opened in the application, a simple place-holder frame window is shown,
signifying the successful load of the file into the internal data structures
and file references. There is also a button on the application toolbar to render
the file into frame child windows for each visible view of the file. Until a
rendering library or vectorizer is located and loaded for the application, the
application will not be able to render the drawings of the file.