我正在尝试创建一个按钮,当按下该按钮时,会标记出绘图的位置。现在,这个方法看起来像这样。
[CommandMethod("MARKPOS", CommandFlags.Session)]
public void MarkPosition()
{
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
ed.Command("UNDO", "M");
}但是,当我尝试执行该方法时,我得到了下面所示的错误,并且无法确定原因。

*在c:\ Autodesk.AutoCAD.EditorInput.Editor.Command(Object[] \Autodesk.AutoCAD.EditorInput.Editor.Command(Object[]\Documents\All Code\autocad-adapter\IOAutoCADHandler\myCommands.cs:line 186 at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi,Object commandObject,Boolean bLispFunction) at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi,Object commandObject,Boolean bLispFunction) at Autodesk.AutoCAD.Runtime.PerDocumentCommandClass.Invoke(MethodInfo mi,Boolean bLispFunction) at Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.Invoke()
发布于 2015-04-29 20:46:40
SendStringToExecute将一直工作到AutoCAD 2014年。在AutoCAD 2015 (和更高版本)上,这被Editor.Command或Editor.CommandAsync所取代。
关于原始代码,请尝试使用
[CommandMethod("MARKPOS")]
public static void MarkPosition()
{
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
ed.Command(new object[]{"UNDO", "M"});
}发布于 2018-03-24 04:27:06
使用CommandFlags.Session时不能使用ed.command()
发布于 2015-04-16 00:50:26
使用以下命令:
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecutehttps://stackoverflow.com/questions/29496996
复制相似问题