C# AutoCAD 利用Editor.CommandAsync 同步监测自带命令的执行情况

c#,autocad,利用,editor,commandasync,同步,监测,自带,命令,执行,情况 · 浏览次数 : 22

小编点评

**官方文档解释:** 该方法用于绘制圆形,并可以通过修改颜色来进行更改。 **代码示例:** ```csharp 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); } } ``` **其他说明:** * `ColorMethod.ByAci` 用于指定颜色的名称,其中 150 代表红色。 * 该示例假设圆形已存在于文档中,并具有默认颜色。

正文

#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 利用Editor.CommandAsync 同步监测自带命令的执行情况相似的内容:

C# AutoCAD 利用Editor.CommandAsync 同步监测自带命令的执行情况

#1官方文档并无相关解释:AutoCAD 2023 Developer and ObjectARX Help | Editor.CommandAsync Method | Autodesk #2 上例子,我用自带的命令画一个圆,画完后我要修改它的颜色,此时该如何操作呢,下面是可用的代码 [Comma

AutoCAD C# 程序插入OLE图片

参考博客地址 https://www.cnblogs.com/edata/p/17474704.html var fn = @"D:\NetDriveDir\OneDrive\软件工具\MNYT.png"; var bm = Bitmap.FromFile(fn); Clipboard.SetIma

C# 开发技巧 轻松监控方法执行耗时

前言 MethodTimer.Fody 是一个功能强大的库,可以用于测量 .NET 应用程序中的方法的执行时间。允许你在不修改代码的情况下,自动地测量和记录方法的执行时间。 这个工具是基于.NET的 weaving 技术,通过修改IL(Intermediate Language,中间语言)代码来插入

C#开源、简单易用的Dapper扩展类库 - Dommel

前言 今天大姚给大家分享一个C#开源(MIT License)、免费、简单易用的Dapper扩展类库,帮助.NET开发者使用Dapper的CRUD操作变得更简单:Dommel。 项目特性 Dommel 使用 IDbConnection 接口上的扩展方法为 CRUD 操作提供了便捷的 API。 Dom

C语言指针易混淆知识点总结

指针 定义 指针是一个变量,存储另一个变量的内存地址,它允许直接访问和操作内存中的数据,使得程序能够以更灵活和高效的方式处理数据和内存。 获取变量地址:使用取地址符 &。 访问地址上的数据:使用解引用符 *。 例子1 指针是存储另一个变量地址的变量。通过使用取地址符 & 和解引用符 *,我们可以灵活

C++如何在main函数开始之前(或结束之后)执行一段逻辑?

1. 问题 2. 考察的要点 3. 解决策略 3.1. 方案一:使用GCC的拓展功能 3.2. 方案二:使用全局变量 3.3. 方案三:atexit 4. Demo测试 4.1. 测试代码 4.2. 执行结果 5. 程序异常退出场景 5.1. 存在的问题 5.2. 解决方案 5.2.1. 原理 5.

C#/.NET这些实用的编程技巧你都会了吗?

DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.NET Core各种编程常用语法、算法、技巧、中间件、类库等等。 GitHub开源地址:https:/

C# 使用模式匹配的好处,因为好用所以推荐~

类型检查和转换:当你需要检查对象是否为特定类型,并且希望在同一时间内将其转换为那个类型时,模式匹配提供了一种更简洁的方式来完成这一任务,避免了使用传统的as和is操作符后还需要进行额外的null检查。 复杂条件逻辑:在处理复杂的条件逻辑时,特别是涉及到多个条件和类型的情况下,使用模式匹配可以使代码更

【C++】使用ort推理yolov10

【C++】使用ort推理yolov10 前言:由于笔者是编导专业,想玩玩yolo模型,搜来搜去全是python,所以在学会之后写一篇文章帮助和笔者同样情况的人 环境 Windows 10 C++17 onnxruntime18.1(DML版本) opencv4.9 visual studio2022

C++使用gnuplot-cpp库绘制图像

最近想要对一些时变的变量进行可视化,搜索来搜索去选择了使用gnuplot这个工具。 sudo apt-get install gnuplot sudo apt-get install gnuplot-x11 # 使其支持linux终端 这样就安装完gnuplot了。接着可以在命令行中键入gnuplo