Добрый день.
Немного запутался. Помогите пожалста понять.
Пытаюсь разобраться в сохранении и восстановлении информации при записи и открытии файла. 
В основе код из примера "custobj.cpp".  В этом при мере созданный класс добавляется в словарь. 
Сам по себе он просто есть ничего не рисует и не делает.  И при открытии/закрытии файла вызываются функции этого класса dwgInFields/dwgOutFields.
Еще смотрю старые примеры, найденные здесь, "ProgProfile" и "TestDbx".
Здесь созданные объекты чтото рисуют.  Их добавляют в базу, а в словарь НЕ добавляют.  Почему ??
Если  в первом примере ( custobj.cpp ) кроме добавления в словарь еще добавить в базу
- AcDbDatabase database = acdbHostApplicationServices()->workingDatabase(); 
- Acad::ErrorStatus es; 
- if ((es = database.addAcDbObject(custobj)) != Acad::eOk) 
-         return; 
-   
то после этого dwgInFields/dwgOutFields не вызываются.
Задача создаваемого класса отслеживать некие изменения в чертеже автоматически  и хранить у себя эту информацию ( некое число ). И когда чертеж откроют то информация восстановится.
Нужно его в базу добавлять или не нужно?  !!!!!!!!!
В перспективе будет некая иерархия классов и всю информацию  нужно сохранять и восстанавливать.