autocad.net 监测命令执行的事件
时间: 2023-05-19 12:06:12 浏览: 71
Autocad.net 提供了一个名为 CommandEnded 的事件,可以用来监测命令执行的结束。当一个命令执行结束时,该事件会被触发,从而可以在代码中进行相应的处理。以下是一个示例代码:
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
public class MyCommands
{
[CommandMethod("MyCommand")]
public void MyCommand()
{
// 在这里执行你的命令
// 监测命令执行结束的事件
Application.DocumentManager.CommandEnded += DocumentManager_CommandEnded;
}
private void DocumentManager_CommandEnded(object sender, CommandEventArgs e)
{
// 在这里处理命令执行结束的事件
}
}
相关问题
autocad.net的添加对象事件
Autocad.net 的添加对象事件可以通过以下代码实现:
```
public void AddObjectEventHandler()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
BlockTableRecord btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
Line line = new Line(new Point3d(0, 0, 0), new Point3d(10, 10, 0));
btr.AppendEntity(line);
tr.AddNewlyCreatedDBObject(line, true);
line.Modified += new EventHandler(ObjectModified);
tr.Commit();
}
}
public void ObjectModified(object sender, EventArgs e)
{
// Do something when object is modified
}
```
这段代码可以在 Autocad.net 中添加一个 Line 对象,并为其添加一个 Modified 事件处理程序。当 Line 对象被修改时,ObjectModified 方法将被调用。
autocad.net添加对象事件
Autocad.net 可以通过添加对象事件来响应对象的各种操作,例如对象的创建、修改、删除等。要添加对象事件,可以使用 AddEventHandler 方法,该方法需要指定要添加事件的对象、事件类型和事件处理程序。下面是一个示例代码:
```
[CommandMethod("AddObjectEvent")]
public void AddObjectEvent()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
BlockTableRecord btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
// 创建一个线段对象
Line line = new Line(new Point3d(0, 0, 0), new Point3d(10, 10, 0));
// 将线段对象添加到模型空间中
btr.AppendEntity(line);
tr.AddNewlyCreatedDBObject(line, true);
// 添加对象事件处理程序
line.Modified += new EventHandler(ObjectModified);
tr.Commit();
}
}
private void ObjectModified(object sender, EventArgs e)
{
// 处理对象修改事件
// ...
}
```
这段代码演示了如何在 Autocad.net 中添加对象事件,具体来说,它创建了一个线段对象并将其添加到模型空间中,然后为该对象的 Modified 事件添加了一个事件处理程序。当该对象被修改时,事件处理程序将被调用。