阿水被抢了 发表于 2012-2-14 09:48:19

求助:如何改写cad的命令

小弟想改写系统的删除命令,系统直接删除了,小弟想放到一个特定的层,有朋友知道吗?

liuxu042 发表于 2012-2-14 11:19:29

什么叫改写系统的删除命令,看你的意思就是程序注册一个命令,执行改变选择要素的层码操作

阿水被抢了 发表于 2012-2-14 13:11:24

liuxu042 发表于 2012-2-14 11:19 static/image/common/back.gif
什么叫改写系统的删除命令,看你的意思就是程序注册一个命令,执行改变选择要素的层码操作

不是,系统的删除命令我想重写一下

liuxu042 发表于 2012-2-14 13:47:58

本帖最后由 liuxu042 于 2012-2-14 13:51 编辑

阿水被抢了 发表于 2012-2-14 13:11 http://bbs.mjtd.com/static/image/common/back.gif
不是,系统的删除命令我想重写一下

为啥非得重写呢,自己再注册个新命令不行吗?
改写删除命令的话可以利用对象删除事件吧,

db.ObjectErased += new ObjectErasedEventHandler(db_ObjectErased);

static void db_ObjectErased(object sender, ObjectErasedEventArgs e)
{
       //添加相应代码   
            
}
个人观点

阿水被抢了 发表于 2012-2-14 15:15:14

liuxu042 发表于 2012-2-14 13:47 static/image/common/back.gif
为啥非得重写呢,自己再注册个新命令不行吗?
改写删除命令的话可以利用对象删除事件吧,



这个方法可行,进入 db_ObjectErased 函数后如何写?不然地物还是会被删除

shirazbj 发表于 2012-2-25 19:43:57

overrule
无意中撞到这个http://forums.autodesk.com/t5/NET/Problem-with-overruling-transformby/td-p/2935274

这个改写了系统的move命令吧。也就是让它转到自己的命令。static void doc_CommandWillStart(object sender, CommandEventArgs e)
{

   if (e.GlobalCommandName == "MOVE")
       {

          // Method to initialize transform overrule
         ToggleOverrule();

      }

}
页: [1]
查看完整版本: 求助:如何改写cad的命令