[CommandMethod("AddLayer")]
public void AddLayer_Method()
{
Database db = HostApplicationServices.WorkingDatabase;
Editor ed = MgdAcApplication.DocumentManager.MdiActiveDocument.Editor;
try
{
using (Transaction tr = db.TransactionManager.StartTransaction())
{
PromptStringOptions pStr = new PromptStringOptions("請輸入新建圖層名:\n");
PromptResult pRes = ed.GetString(pStr);
if (pRes.Status == PromptStatus.OK)
{
string layerName = pRes.StringResult;
LayerTable lt = (LayerTable)db.LayerTableId.GetObject(OpenMode.ForRead);
if (!lt.Has(layerName))
{
LayerTableRecord ltr = new LayerTableRecord();
ltr.Name = layerName;
lt.UpgradeOpen();
lt.Add(ltr);
db.TransactionManager.AddNewlyCreatedDBObject(ltr, true);
lt.DowngradeOpen();
}
lt = (LayerTable)db.LayerTableId.GetObject(OpenMode.ForRead);
if (lt.Has(layerName))
ed.WriteMessage("\n{0}圖層創建成功!", layerName);
else
ed.WriteMessage("\n{0}圖層創建失敗!", layerName);
}
tr.Commit();
}
}
catch (System.Exception ex)
{
Debug.WriteLine(ex.ToString());
ed.WriteMessage(ex.ToString());
}
}
AutoCAD.NET根據輸入名字添加指定圖層
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.