|
发表于 2003-4-4 12:46:00
|
显示全部楼层
;;以现有BLOCK作替换
;;BLOCK名稱為"1","2","3".........
(defun C:CH_DIA
(/ HOLDOSMODE HOLDZIN HOLDECHO SS N DIA DIA1 CENT ENT BNAME)
(setq HOLDECHO (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(command "_.UNDO" "_GROUP")
(setq HOLDOSMODE (getvar "OSMODE"))
(setq HOLDZIN (getvar "DIMZIN"))
(setvar "DIMZIN" 8)
(setvar "OSMODE" 0)
(setq SS (ssget "x" '((0 . "CIRCLE"))))
(setq N 0)
(repeat (sslength SS)
(setq ENT (ssname SS N))
(setq DIA (cdr (assoc 40 (entget ENT))))
(setq CENT (cdr (assoc 10 (entget ENT))))
(if (or (tblsearch "BLOCK" (setq DIA1 (rtos (* 2.0 DIA))))
(setq DIA1 (findfile (strcat (rtos (* 2.0 DIA)) ".DWG")))
)
(progn
(entdel ENT)
(command "_.INSERT" DIA1 CENT "" "" "")
)
)
(setq N (1+ N))
)
(setvar "OSMODE" HOLDOSMODE)
(setvar "DIMZIN" HOLDZIN)
(command "_.UNDO" "_END")
(setvar "CMDECHO" HOLDECHO)
(princ)
) |
|