AutoCAD 資料庫包含以下9個符号表:
* Block Table(塊表)
* Layer Table(層表)
* TextStyle Table(文字樣式表)
* DimStyle Table(尺寸樣式表)
* Linetype Table(線型表)
* UCS Table(使用者坐标系表)
* View Table(視圖表)
* Viewport Table(視口表)
* RegApp Table(應用程式系統資料庫)
開發者不能建立或删除符号表,但可以周遊、增加、修改符号表中的記錄。
以下代碼展示如何周遊層表,周遊其它符号表類同。
[CommandMethod("Test")]
public void Test()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
LayerTable layerTbl = tr.GetObject(db.LayerTableId, OpenMode.ForRead) as LayerTable;
foreach (ObjectId oid in layerTbl)
{
LayerTableRecord layer = tr.GetObject(oid, OpenMode.ForRead) as LayerTableRecord;
doc.Editor.WriteMessage("Layer: {0}\n", layer.Name);
}
}
}
Database類中存儲了以上9個符号表的ID:
* ViewTableId
* ViewportTableId
* BlockTableId
* DimStyleTableId
* LayerTableId
* LinetypeTableId
* RegAppTableId
* TextStyleTableId
* UcsTableId