La classe RegAppTable est une table de symboles qui contient tous les noms d'applications enregistrées dans un dessin AutoCAD. Les applications doivent s'enregistrer avant d'attacher des XData (données d'entité étendues) aux objets.
Autodesk.AutoCAD.DatabaseServices
System.Object
└─ RXObject
└─ DBObject
└─ SymbolTable
└─ RegAppTable
| Méthode | Type de Retour | Description |
|---|---|---|
Has(string) |
bool |
Vérifie si une application est enregistrée |
this[string] |
ObjectId |
Obtient l'ObjectId de l'app enregistrée par nom (indexeur) |
using (Transaction tr = db.TransactionManager.StartTransaction())
{
RegAppTable rat = tr.GetObject(db.RegAppTableId, OpenMode.ForRead) as RegAppTable;
string appName = "MonApp";
if (!rat.Has(appName))
{
rat.UpgradeOpen();
RegAppTableRecord ratr = new RegAppTableRecord();
ratr.Name = appName;
rat.Add(ratr);
tr.AddNewlyCreatedDBObject(ratr, true);
ed.WriteMessage($"\nApplication enregistrée '{appName}'");
}
tr.Commit();
}using (Transaction tr = db.TransactionManager.StartTransaction())
{
RegAppTable rat = tr.GetObject(db.RegAppTableId, OpenMode.ForRead) as RegAppTable;
ed.WriteMessage("\nApplications enregistrées :");
foreach (ObjectId appId in rat)
{
RegAppTableRecord ratr = tr.GetObject(appId, OpenMode.ForRead) as RegAppTableRecord;
ed.WriteMessage($"\n {ratr.Name}");
}
tr.Commit();
}- Database - Contient RegAppTableId
- RegAppTableRecord - Application enregistrée
- XData - Données d'entité étendues