本帖最后由 Gu_xl 于 2012-11-15 15:26 编辑
copy后的实体图元名保存在回调函数第三个参数里,但在回调函数里不能对该实体进行任何读写,因为反应器没结束,该实体处于保护状态!
请看测试代码:
- (defun c:tt()
- (setq e (car(entsel)))
- (if e
- (progn
- ;;添加反应器
- (vlr-object-reactor (list (vlax-ename->vla-object e)) nil '((:vlr-copied . obj-copied)))
- )
- )
- (princ)
- )
- ;;回调函数
- (defun obj-copied (obj vlrobj vlr-list)
- (if (= 'ename (type (car vlr-list)))
- (progn
- (princ (car vlr-list))
- (if (vlax-write-enabled-p (car vlr-list))
- (princ "可读写")
- (princ "不可读写")
- )
- ;;此处entget得到的是nil
- (princ (entget (car vlr-list)))
- )
- )
- )
|