;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;幕匠LISP实验室;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序功能：块替换  [备注：块替换]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(DEFUN C:MJ83 ()
  (setvar "osmode" 0)
  (princ "\n请选择作为源块的图块:")
  (setq a1 (ssget (list (cons 0 "insert"))))
  (setq stent (ssname a1 0))
  (setq stent (entget stent))
  (setq insname (assoc 2 stent))
  (setq insname (cdr insname))
  (princ insname)
  (princ "\n请选择将替换的图块:")
  (setq a (ssget (list (cons 0 "insert"))))
  (if (/= a nil)
    (progn
      (setq n (sslength a))
      (setq index 0)
      (repeat n
	(setq foent (ssname a index))
	(setq ent1 (entget foent))
	(setq index (+ index 1))
	(setq inspt (assoc 10 ent1))
	(setq inspt (list (nth 1 inspt) (nth 2 inspt)))
	(setq insang1 (assoc 50 ent1))
	(setq insang (cdr insang1))
	(if (/= insang 0)
	  (setq insang (/ (- insang 180) pi))
	)
	(command "erase" foent "")
	(command "insert" insname inspt 1 1 insang "")
      )
    )
  )
  (setvar "osmode" 687)
  (princ)
)
