h008 发表于 2015-7-23 17:22:59

今天画图所想到的。。。

为了保护我们想要的图元,我们一般就将这个图层锁定,可是这样一来也就没法编辑了,边复制移动这些都不行

想想有没有什么高招让一个图层上的图元只是不能被删除,其它编辑都不受限呢???

是否又要高端的反应器啊。。。

edata 发表于 2015-7-23 17:23:00

本代码指定 xx图层无法用 ERASE删除,可以其他操作。

(vl-load-com)
(if (= hyp-rctCmds nil)
(setq        hyp-rctCmds
       (vlr-command-reactor
           nil
           '((:vlr-commandCancelled . hyp-cmdAbort)
             (:vlr-commandEnded . hyp-cmdAbort)
             (:vlr-commandCancelled . hyp-cmdAbort)
             (:vlr-commandWillStart . hyp-cmdStart)

          )
       )
)
)
(defun hyp-cmdAbort (param1 param2)
(vla-put-lock
    (vlax-ename->vla-object (tblobjname "layer" "xx"))
    :vlax-false
)
)
(defun hyp-cmdStart (param1 param2 / currentlayer)
(cond
    ((or
       (= (car param2) "ERASE")
   )
   (vla-put-lock
       (vlax-ename->vla-object (tblobjname "layer" "xx"))
       :vlax-true
   )
    )
)
)
;关闭反应器
(defun c:tt()
(vlr-remove hyp-rctCmds)
)

h008 发表于 2015-7-24 08:59:19

高人啊,你们在哪

fl202 发表于 2015-7-24 14:36:24

锁定 、解锁 很简单的操作。
你搞个删不掉的图元,回头要删的时候怎么办?

429014673 发表于 2015-7-24 18:21:19

不能删?自己要修改怎么办

edata 发表于 2015-7-24 18:25:35

命令反应器。

hehoubin 发表于 2015-8-1 21:49:07

虽然想法用处不大 。也支持下源码 好样的

iamhuangjinming 发表于 2016-6-26 19:08:00

脑洞很大啊,这都想得到

love1030312 发表于 2016-6-27 08:32:31

个人观点 简单的事情复杂化了纯属娱乐 没实战意义
页: [1]
查看完整版本: 今天画图所想到的。。。