C# AutoCAD 利用Editor.CommandAsync 同步监测自带命令的执行情况
#1官方文档并无相关解释:AutoCAD 2023 Developer and ObjectARX Help | Editor.CommandAsync Method | Autodesk
#2 上例子,我用自带的命令画一个圆,画完后我要修改它的颜色,此时该如何操作呢,下面是可用的代码
[CommandMethod(nameof(tt_CommandAsync))] public void tt_CommandAsync() { try { var ed = Application.DocumentManager.MdiActiveDocument.Editor; var db = Application.DocumentManager.MdiActiveDocument.Database; Application.SetSystemVariable("filedia", 0); var cr = ed.CommandAsync("circle", "0,0,0", 500); cr.OnCompleted(() => { var psr = ed.SelectLast(); ed.WriteMessage($"" + Environment.NewLine); Application.SetSystemVariable("filedia", 1); if (psr.Status == PromptStatus.OK) { using (var tr = db.TransactionManager.StartTransaction()) { var ent = tr.GetObject(psr.Value[0].ObjectId, OpenMode.ForWrite) as Entity; if (ent != null) { ent.Color = Color.FromColorIndex(ColorMethod.ByAci, 150); tr.Commit(); } else tr.Abort(); } } } ); } catch (System.Exception ex) { Application.ShowAlertDialog(ex.StackTrace); } }
测试命令是可以执行的,达到了我们要求。
标签:
C# AUTOCAD NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具