gufeng 发表于 2013-8-5 11:29:41

问下自动保存与回调函数完成后的问题

本帖最后由 gufeng 于 2013-8-5 11:31 编辑

程序是目的是:
   打开图形,然后运行tt命令,程序会修改 自动保存的时间间隔为1分钟,自动保存的时候执行函数 (savecomplete),绘制一个圆.
问题,执行完回调函数(savecomplete) 后,如果CAD窗口没有任何操作,图形就不会再自动保存了,有什么方法可以让图形继续自动保存 在不动CAD窗口的前提下,附上程序代码.

添加代码文字的好像不能用的...

(defun c:tt (/)
;;_pt i 不能设置为局部变量
(if (not $dj_SaveReactor001$)
    (setq $dj_SaveReactor001$ (vlr-editor-reactor nil '((:vlr-savecomplete . savecomplete))));_保存时触发函数
    (vlr-add $dj_SaveReactor001$);_启用反应器
    )
(setvar "SAVETIME" 1);_设置自动保存时间1分钟
(setq pt '(0 0))
(setq i 1)
(princ)
)
;;_vlr-savecomplete的回调函数
(defun savecomplete (reactor_object lst /)
;;_pt 不能设置为全局变量
(setq pt (list (+ (car pt) 20) (+ (cadr pt) 20)));_确定圆心
(entmakex (list '(0 . "CIRCLE")
       '(100 . "AcDbEntity")
       '(100 . "ACDbCircle")
       (cons 10 pt)
       (cons 40 2.5)
       (cons 8 "0")
       (cons 62 2)
       '(210 0. 0. 1.)
      )
   );_绘制圆
)
页: [1]
查看完整版本: 问下自动保存与回调函数完成后的问题