转发::: ;;钻孔圆分类标注. (defun c:ttt(/ ALIST CENPT ENTDATA1 ENTNAME1 FUZ I J N R SS1) (setq aList '((5.0 "A") (8.0 "B") (12.0 "C")));用户自己根据需要定义半径. (setq fuz 0.00001) (prompt "\n【提示】选择圆对象....") (while (not (setq SS1 (ssget '((0 . "CIRCLE")))))) (ayOSMode nil);关闭捕捉. (setq i 0) (while (< i (sslength SS1)) (setq entName1 (ssname SS1 i)) (setq entData1 (entget entName1)) (setq cenPt (cdr (assoc 10 entData1))) (setq R (cdr (assoc 40 entData1))) (setq j 0) (while (< j (length aList)) (setq n (nth j aList)) (if (equal R (car n) fuz) (progn (vl-cmdf "-Text" "J" "MC" cenPt "" 0.0 (cadr n)) (setq j (length aList)) );end_progn );end_if (setq j (+ j 1)) );end_while j (setq i (+ i 1)) );end_while i (ayOSMode T);打开捕捉. (princ) );end_defun ;;;************************** ;;; No.0 对象捕捉开关 函数 ;;;************************** (defun ayOSMode (isOpenSnap) (if isOpenSnap (setvar "osmode" (rem (getvar "osmode") 16384));打开捕捉. (setvar "osmode" (+ (rem (getvar "osmode") 16384) 16384));关闭捕捉. );end_if );end_defun |