(initget 1)
(setq pt1 (entsel "\n请指定标注起点:"))
(initget 1)
(setq pt2 (entsel "\n请指定标注终点:"))
(command "dimlinear" (cadr pt1) (cadr pt2) pause)
(princ)
)
ZZXXQQ 发表于 2014-11-8 21:49 static/image/common/back.gif
Z版,和原来的程序相差太远了啊!
原来的:
1:点左键时,光标没有落在任何图元上,程序退出,如果点左键时,光标落在图元上,程序就可以继续运行到点第二点,如果点第二点时,光标没有落在任何图元上,程序退出,如果点第二点时,光标落在图元上,程序标出一个线性标注并循环到开始
2:按右键,可以选一根线,标出一个线性标注,并循环到开始
现在想改为:当程序顺利运行到要点第二点时,如果第二点没有落在任何图元上,程序不退出,直到点到图元或按右键退出 (defun c:`q();線性
(setq bz? (getpoint "\n左鍵標兩點,右鍵選線"))
(setq gbwz (grread 3));游標位置
(if (member (car gbwz) '(3 5))
(setq od (cadr gbwz)));滑鼠位置
(if bz?
(bz)
(bzz)
)
(princ))
(defun bz()
(if (ssget od)
(progn
(while (not (ssget (setq pt2 (getpoint od "\n請指定標注終點:")))))
(command"dimlinear" od pt2)
(while (= 1 (getvar "cmdactive"))(command pause))
(c:`q)
)
)
(princ))
(defun bzz()
(command "dimlinear""")
(while (= 1 (getvar "cmdactive"))(command pause))
(c:`q)
(princ))
页:
1
[2]