明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1864|回复: 5

求助:如何改写cad的命令

[复制链接]
发表于 2012-2-14 09:48:19 | 显示全部楼层 |阅读模式
小弟想改写系统的删除命令,系统直接删除了,小弟想放到一个特定的层,有朋友知道吗?
发表于 2012-2-14 11:19:29 | 显示全部楼层
什么叫改写系统的删除命令,看你的意思就是程序注册一个命令,执行改变选择要素的层码操作
 楼主| 发表于 2012-2-14 13:11:24 | 显示全部楼层
liuxu042 发表于 2012-2-14 11:19
什么叫改写系统的删除命令,看你的意思就是程序注册一个命令,执行改变选择要素的层码操作

不是,系统的删除命令我想重写一下
发表于 2012-2-14 13:47:58 | 显示全部楼层
本帖最后由 liuxu042 于 2012-2-14 13:51 编辑
阿水被抢了 发表于 2012-2-14 13:11
不是,系统的删除命令我想重写一下


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

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

这个方法可行,进入 db_ObjectErased 函数后如何写?不然地物还是会被删除
发表于 2012-2-25 19:43:57 | 显示全部楼层
overrule
无意中撞到这个http://forums.autodesk.com/t5/NE ... formby/td-p/2935274

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

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

  5.           // Method to initialize transform overrule
  6.            ToggleOverrule();

  7.         }

  8.   }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 18:44 , Processed in 0.193951 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表