- 积分
- 526
- 明经币
- 个
- 注册时间
- 2005-9-21
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2017-12-1 17:07:59
|
显示全部楼层
(defun c:delcircle (/ dir ndir files_list numfiles i file ss ys)
(setvar "CMDECHO" 0)
(setq dir (getfiled "指定要操作的文件夹内任一文件"
"指指定要操作的文件夹内任一文件"
"dwg"
32
)
)
(setq dir (vl-filename-directory dir))
(setq ndir (strcat dir "\\已处理"))
(if (not (findfile (strcat ndir)))
(vl-mkdir ndir)
)
(setq files_list (vl-directory-files dir "*.dwg" 1)) ;文件名列表
(setq numfiles (length files_list)
i 0
)
(while (and (setq file (car files_list))
(not (tblobjname "block" (vl-filename-base file)))
)
(setq ss (ssget "x" ())) ;所有图元
(command "erase" ss "")
(command "-purge" "a" "*" "n" "")
(setq filestr (strcat dir "\\" file))
(command "-insert" filestr "0,0" 1 1 0 "") ;插入文件
(command "explode" (entlast) "")
(setq ss_circle (ssget "x" '((0 . "circle"))))
(command "erase" ss_circle "")
(command "wblock" (strcat ndir "\\" file) "" "0,0,0" (ssget "x" ()) "")
(vl-file-delete filestr)
(setq i (1+ i))
(setq files_list (cdr files_list))
(princ (strcat "\n该文件夹共计"
(itoa numfiles)
"个图形文件,当前已处理第 "
(itoa i)
" 个图形!"
)
)
)
(princ "\n END")
(setvar "CMDECHO" 1)
)
|
|