1.EditorEditor ed = Application.DocumentManager.MdiActiveDocument.Editor;
2.AttachXref(绑定参照的方法)
string strN1, strN2;
Autodesk.
AutoCAD.DatabaseServices.ObjectId objId;
strN1 = "c:/1.dwg";
//返回不具有拓展名的文件名.-> 返回1
strN2 = System.IO.Path.GetFileNameWithoutExtension(strN1);
调用方法 实现绑定
objId = Application.DocumentManager.MdiActiveDocument.Database.AttachXref(strN1, strN2);
3.调用com对象.
Autodesk.AutoCAD.Interop.Common.AcadLine l1;
4.数据库对象
//定义一个Datebase变量.
Autodesk.AutoCAD.DatabaseServices.Database acCurDb;
//把当前的数据库赋值给变量
acCurDb = Application.DocumentManager.MdiActiveDocument.Database;
5.创建一个图层
public static void tt()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (Transaction trs = db.TransactionManager.StartTransaction())
{
LayerTable laytab;
laytab = trs.GetObject(db.LayerTableId, OpenMode.ForRead) as LayerTable;
if (laytab.Has("tt") != true)
{
laytab.UpgradeOpen();
LayerTableRecord laytb_rec=new LayerTableRecord();
laytb_rec.Name="tt";
laytab.Add(laytb_rec);
trs.AddNewlyCreatedDBObject(laytb_rec,true);
trs.Commit();
}
}
}
6.使用遍历输出图层名.
[CommandMethod("t1")]
public static void t1()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
Database db = doc.Database;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
LayerTable laytab;
laytab = tr.GetObject(db.LayerTableId,OpenMode.ForRead)as LayerTable;
foreach (ObjectId item in laytab)
{
LayerTableRecord lay_rec;
lay_rec = tr.GetObject(item, OpenMode.ForRead) as LayerTableRecord;
ed.WriteMessage("\n输出了一个什么鬼.:" + lay_rec.Name);
ed.WriteMessage("\n");
}
ed.WriteMessage("输出结束.");
}
}