20/11/2013
Удаление неиспользуемых имен приложений из базы
Метод Database.Purge API можно использовать для идентификации неиспользуемых имён приложений. Когда имена неиспользованных приложений получены, так сразу можно использовать метод “erase” для удаления их из базы.
Код - C#: [Выделить]
- [CommandMethod("PurgeApplicationName")]
- public static void PurgeApplicationName()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Editor ed = doc.Editor;
- using (Transaction Tx =
- db.TransactionManager.StartTransaction())
- {
- RegAppTable table = Tx.GetObject(db.RegAppTableId,
- OpenMode.ForRead) as RegAppTable;
- ObjectIdCollection regIds = new ObjectIdCollection();
- foreach (ObjectId id in table)
- {
- regIds.Add(id);
- }
- // этот метод позволяет удалить из массива
- // все использованные в чертеже имена приложений
- db.Purge(regIds);
- foreach (ObjectId id in regIds)
- {
- DBObject obj = Tx.GetObject(id, OpenMode.ForWrite);
- obj.Erase();
- }
- Tx.Commit();
- }
- }
Обсуждение: http://adn-cis.org/forum/index.php?topic=332
Опубликовано 20.11.2013