本帖最后由 winerfjy 于 2015-11-4 14:51 编辑
 - (defun c:ak(/ a ss b c d);按块选择功能
- (setvar "cmdecho" 0)
- (princ "\n选择要选的块样")
- (setq a(cdr (assoc 2 (entget (car (entsel))))))
- (setq d(substr a 1 1));到得第一个数
- (if (= "*" d)
- (setq c(strcat "`" a))(setq c a))
- (setq b (uINT 1 "" "1.手选范围,2.全图选中" 1))
- (if (= 1 b)
- (prompt "\n选择一个区域:"))
- (if (= 1 b)
- (SETQ ss (ssget (list '(0 . "INSERT")(cons 2 c)))))
- (if (= 2 b)
- (SETQ ss(ssget "x"(list '(0 . "INSERT")(cons 2 c)))))
- (sssetfirst nil ss)
- (princ (STRCAT "共有图块" (ITOA(SSLENGTH ss))"个"))
- (prin1)
- (princ))
- (defun uint (bit kwd msg def / inp)
- (if def
- (setq msg (strcat "\n" msg "<" (itoa def) ">:") ;Test for a default
- bit (- bit (boole 1 bit 1)) ; A default and no null bit code
- ) ;setq
- (if (= "" (substr msg (strlen msg) 1))
- (setq msg (strcat "\n" (substr msg 1 (1- (strlen msg))) ":"))
- ;Then strip space
- ;else msg is OK
- (setq msg (strcat "\n" msg ":"))
- )
- ) ;if,if
- (initget bit kwd)
- (setq inp (getint msg))
- (if inp
- inp
- def
- )
- )
|