- (defun c:tt ()
- (setvar "CMDECHO" 0)
- (if (and (setq bnm (getstring "\n图块名 :"))
- (/= bnm "")
- (princ "\n选择圆 :")
- (setq ss (ssget '((0 . "CIRCLE")(40 . xxxx))))) ;;xxxx换成你需要的圆的半径
- (progn
- (setq i 0)
- (repeat (sslength ss)
- (setq pc (cdr(assoc 10 (entget (ssname ss i)))))
- (setq ely (cdr(assoc 8 (entget (ssname ss i)))))
- (command "-insert" bnm pc "" "" "")
- (command "change" (entlast) "" "p" "la" ely "co" "byl" "")
- (setq i (1+ i))
- )
- ;; (command ".erase" ss "");删去此句就保留圆
- ))
- (setvar "CMDECHO" 1)
- (princ)
- )
上面的程序只能针对半径是整数的圆,能否提高精度也可针对,如圆的半径为0.2345,即小数点后保留4位!!!
|