首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用AutoCAD中的Editor类执行命令

使用AutoCAD中的Editor类执行命令
EN

Stack Overflow用户
提问于 2015-04-08 00:57:19
回答 3查看 5K关注 0票数 3

我正在尝试创建一个按钮,当按下该按钮时,会标记出绘图的位置。现在,这个方法看起来像这样。

代码语言:javascript
运行
复制
[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()

EN

回答 3

Stack Overflow用户

发布于 2015-04-29 20:46:40

SendStringToExecute将一直工作到AutoCAD 2014年。在AutoCAD 2015 (和更高版本)上,这被Editor.Command或Editor.CommandAsync所取代。

关于原始代码,请尝试使用

代码语言:javascript
运行
复制
[CommandMethod("MARKPOS")]
public static void MarkPosition()
{
  Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
  ed.Command(new object[]{"UNDO", "M"});
}
票数 1
EN

Stack Overflow用户

发布于 2018-03-24 04:27:06

使用CommandFlags.Session时不能使用ed.command()

票数 1
EN

Stack Overflow用户

发布于 2015-04-16 00:50:26

使用以下命令:

代码语言:javascript
运行
复制
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecute
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29496996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档