明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1143|回复: 4

菜鸟求教:应该怎么来运行这个LSP呢?

[复制链接]
发表于 2011-7-13 14:18:13 | 显示全部楼层 |阅读模式
在论坛里得到如下一些网友写的LSP代码 ,我是想把一个文件夹里几千个文件里面所有的图层颜色都改成某一个颜色,将使所有对象颜色都随层。看这个程序有可能实现这个功能,于是复制到记事本,另存为lsp后缀文件,在AutoCAD2004里的“工具”菜单下面的“加载应用程序”,显示已成功加载,但如何运行它才能开始指处理文档呢?由于对LSP一窍不通,看着像defun后面的PURGEALL,但输入PURGEALL显示未知命令,这到底应该怎么运行呢,由于看不懂代码,所以无从下手,本人知道这个问题实在是菜,还请大家不吝赐教。

下载的LSP代码如下:
;;一个VLISP的批量处理范例
;;从这个范例可以了解VLISP批量处理图档
;;虽然速度慢了点,但非常实用
;;By LUCAS(龙龙仔)
;;从文件移除未使用之具名参考                                 
;;                                                           
;;虽配合Expresstools__(acetutil.arx)                        
;;为加度程序执行,程序将设定系统变量ACADLSPASDOC              
;;即<只载入 acad.lsp 至 AutoCAD 执行期所开启的第一个图面>   
;;当然程序结束后,会还原系统变量ACADLSPASDOC
;;                 
;;Usage: (PURGEALL <循环次数>)                                                            
;;Usage: (PURGEALL 5)                                       

(arxload "acetutil.arx" NIL)
(vl-load-com)
(defun PURGEALL (times/ HOLDECHO APP DWGNAME PREFIX_DWG NN QQ HOLDLSP
   WW)
  (setq HOLDECHO (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq PREFIX_DWG
  (strcat
    (strcase (acet-ui-pickdir
        "选择目录"
        (vl-string-right-trim "\\" (getvar "dwgprefix"))
        "移除未使用之具名参考"
      )
    )
    "\\"
  )
  )
  (setq HOLDLSP (getvar "ACADLSPASDOC"))
  (setvar "acadlspasdoc" 0)
  (setq QQ (vl-directory-files PREFIX_DWG "*.DWG"))
  (setq NN 0)
  (if (/= QQ NIL)
    (progn
      (setq APP (vlax-get-acad-object))
      (repeat (length QQ)
(setq DWGNAME (strcase (strcat PREFIX_DWG (nth NN QQ))))
(setq WW (vla-open (vla-get-documents APP) DWGNAME))
(repeat TIMES (vla-purgeall WW))
(vla-save WW)
(prompt (strcat "\n" DWGNAME " !!!"))
(vla-close WW :vlax-false)
(setq NN (1+ NN))
      )
      (vlax-release-object WW)
      (vlax-release-object APP)
    )
    (prompt "\n所选目录中未有任何图档!!!")
  )
  (setvar "acadlspasdoc" HOLDLSP)
  (setvar "cmdecho" HOLDECHO)
  (princ)
)
(princ)
发表于 2011-7-13 14:33:38 | 显示全部楼层
在命令行输入 (PURGEALL <循环次数>)                                    
如 (PURGEALL 5)            
发表于 2011-7-13 14:37:26 | 显示全部楼层
不应该输入PURGEALL,而应该是输入(PURGEALL)
 楼主| 发表于 2011-7-13 16:02:51 | 显示全部楼层
回复 zyhandw 的帖子

 输入(PURGEALL 5)的话返回“错误:参数太小“是咋回事啊?
 楼主| 发表于 2011-7-14 08:37:20 | 显示全部楼层
已解决,谢谢楼上两位帮忙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-10 04:10 , Processed in 0.122429 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表