;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;幕匠LISP实验室;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序功能：创建并插入匿名块  [备注：创建并插入匿名块]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(DEFUN C:MJ81 (/ ins_pt num ss1 i n) 
   (if (/= (getvar "HANDLES") 1) (command "HANDLES" "ON"))
   (setq f1 (open "handfile.txt" "w"))
   (write-line "项目名称和处理文件" f1)
   (close f1)
   (setq f1 (open "handfile.txt" "a"))
   (setq more t)
   (while more
      (initget "eXit")
      (setq ins_pt nil)
      (setq ins_pt (getpoint "\n插入点/<eXit>： "))
      (if (or (= ins_pt nil) (= ins_pt "eXit"))
         (progn
            (setq more nil)
         ); progn
         (progn
            (entmake (list '(0 . "BLOCK")'(2 . "*U")'(70 . 1)(cons 10 ins_pt)))
            (prompt "\n选择实体")
            (setq ss1 (ssget) i (sslength ss1) n (- 1))
            (repeat i
               (entmake (cdr (entget (ssname ss1 (setq n (1+ n))))))
            ); repeat
            (setq num (entmake '((0 . "ENDBLK")) ))
            (entmake (list '(0 . "INSERT")(cons 2 num)(cons 10 ins_pt)))
            (command "move" "L" "" ins_pt pause "redraw")
            (setq hndl (cdr (assoc 5 (entget (entlast)))))
            (setq zzname (getstring "\n项目名称： "))
            (write-line (strcat zzname " " hndl) f1)
         ); progn
      ); if
   ); while
   (close f1)
   (princ)
); ablock