首页 > 编程语言 >C# AutoCAD 利用Editor.CommandAsync 同步监测自带命令的执行情况

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

时间:2023-09-24 09:00:09浏览次数:51  
标签:AutoCAD C# ed tr CommandAsync Application Editor var

#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);
            }
        }

测试命令是可以执行的,达到了我们要求。

 

 

标签:AutoCAD,C#,ed,tr,CommandAsync,Application,Editor,var
From: https://www.cnblogs.com/NanShengBlogs/p/17725592.html

相关文章

  • 解密TCP连接断开:四次挥手的奥秘和数据传输的安全
    TCP连接断开在当今数字化时代,互联网已经成为了人们生活中不可或缺的一部分。而在互联网的基础之上,TCP协议扮演着关键的角色,它负责着数据在网络中的可靠传输。在TCP连接的建立过程中,我们已经了解了三次握手的过程和原理。然而,连接的建立只是TCP协议的一部分,同样重要的是连接的断......
  • chapter 10:Sh 编程
    chapter10:Sh编程摘要本章主要内容是sh编程,解释了sh脚本和不同版本的sh。它将sh脚本与C程序进行了比较,并指出了解释型语言和编译型语言之间的区别。10.1sh脚本sh脚本是一个包含sh语句的文本文件,用于执行命令解释器sh的命令sh脚本的第一行通常以#!开头,这被称为shebang,指定......
  • C++面试可能会用到的Cache
    LRUCache描述:考虑维护一个按照最近的使用时间来排序的链表,查询操作去哈希表中查当前key所对应的节点的指针,然后把该节点删除后再插入到链表首。插入操作的话先查询当前的key是否存在,如果存在的话先把当前key所对应的节点删除;如果链表已经满了的话就把链表尾部的元素删除,考虑完这......
  • TienChin-课程管理-配置课程字典
    课程类型课程适用人群......
  • C#里面输入中文,数据库里面显示?
    问题解决只要在我们需要输入中文的前面加一个N就行啦!问题解决啦!......
  • 基于CSS实现回到页面顶部的几种写法(从实现到增强)
    前面整理了一个JS实现回到顶部的功能,但没有给出具体的界面样式,这次从网上找几个好看的参考,自己动手也实现一下,后续打算结合这两篇文章,根据JS和CSS使用油猴来实现一下。效果图如下: 代码如下:<!DOCTYPEhtml><htmllang="cn"><head><metacharset="UTF-8"><title>......
  • AtCoder Beginner Contest 321
    A-321-likeChecker(abc321A)题目大意给定一个数,问从高位到低位,数字是不是递减的。解题思路可以以字符串读入,然后依次判断即可。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;intmain(void){ios::sync_with_stdio(false);......
  • JavaScript-实例对象与 new 命令
    对象是什么 面向对象编程(ObjectOrientedProgramming,缩写为OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数据、发出信息等任务。对象可以......
  • excel文件未保存进行关闭找回历史记录
    https://m.baidu.com/sf?pd=topone_trustpaper&resource_id=55858&word=excel%E6%96%87%E6%A1%A3%E6%9C%AA%E4%BF%9D%E5%AD%98%E6%80%8E%E4%B9%88%E5%8A%9E&ext=%7B%22url%22%3A%22https%3A%5C%2F%5C%2Fyingyongge.com%5C%2Fw5C5.html%22%2C%22srcid%22%3A%222842......
  • [已解决]报错: Error response from daemon: conflict
    报错内容:Errorresponsefromdaemon:conflict:unabletodeletef5b6ef70d79b(mustbeforced)-imageisbeingusedbystoppedcontainer0a740a8a885c解决办法:先删除容器,再删除镜像删除所有已停止的容器dockerrm$(dockerps-a-q)删除所有镜像dockerrmi$(do......