马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
大批量制作幻灯片中的bmslide.lsp运行后为何生成如下:
正在处理 等一下...error: null function
(VL-DIRECTORY-FILES PATH nil 1)
(FOREACH NAME (VL-DIRECTORY-FILES PATH nil 1) (IF (= (STRCASE
(VL-FILENAME-EXTENSION NAME) T) ".dwg") (PROGN (VL-CMDF "-insert" (STRCAT PATH
"\\" NAME) (QUOTE (0 0 0)) "" "" "") (VL-CMDF "zoom" "e" "zoom" "0.95x")
(VL-CMDF "mslide" (STRCAT PATH "\\" (VL-FILENAME-BASE NAME))) (VL-CMDF "erase"
"all" "") (WRITE-LINE (VL-FILENAME-BASE NAME) FN) (SETQ N (1+ N))) nil))
(C:BMSLIDE)
*Cancel*
为何不能用?他的原程序为:

- ;;; 将指定目录中的DWG文件全部做成SLD文件,保存在相同目录中,并生成SLD文件
- ;;; 名列表文件: Bmslide.
- (defun c:bmslide (/ path #time time-1 fn n name time-2 time-last)
- (setq path (getstring "\n请指定 DWG 文件目录:"))
- (princ "\n 正在处理,等一下...")
- (princ)
- (setq cmdecho-save (getvar "CMDECHO"))
- (setvar "CMDECHO" 0)
- (setq #time (getvar "DATE")) ;Time1
- (setq time1 (* 86400.0 (- #time (fix #time)))) ;Time1
- (setq fn (open (strcat path "\" "namelist.txt") "a"))
- (setq n 0)
- (foreach name (vl-directory-files path nil 1)
- (if (= (strcase (vl-filename-extension name) t) ".dwg")
- (progn
- (vl-cmdf "-insert" (strcat path "\" name) '(0 0 0)"""""")
- (vl-cmdf "zoom" "e" "zoom" "0.95x")
- (vl-cmdf "mslide" (strcat path "\" (vl-filename-base name)))
- (vl-cmdf "erase" "all" "")
- (write-line (vl-filename-base name) fn)
- (setq n (1+ n))
- );end progn
- nil
- );endf if
- );end foreach
- (close fn)
- (princ)
- (princ "\n 完成了!")(princ)
- (setvar "CMDECHO" cmdecho-save)
- (setq #time (getvar "DATE")) ;Time2
- (setq time2 (* 86400.0 (- #time (fix #time)))) ;Time2
- (setq time-last (- time2 time1)) ;time-last
- (alert (strcat " 搞定啦! 搞定啦!\n\n"
- "有 " (rtos n) " 个 SLD 文件s生成,存放在目录\n\n"
- " " path " 里."
- "\n\n共耗时 " (rtos time-last) " 秒s.")
- )
- )
|