您的位置:网站首页 > CAD教程 > 常见问题

CAD中autolisp代码的解决办法

时间:2011-08-01 19:49:54 来源:未知

CAD中autolisp代码的解决办法

CAD中了一段LISP代码后在每次CAD启动时都显示一个小窗口显示“程序和作者QQ:252545152…”这样的相关提示,虽然不影响程序使用,但是感觉很不爽啊,所以要去除这段代码的影响就得删除它。

这是一个专门针对CAD的lisp程序,不是传统意义上的病毒,因此,用诺顿、金山毒霸等是不能杀除的。它的作用机制是这样的:某台机器上没有这个病毒程序,在通过网上邻居拷贝别人的图纸时,大家经常会把整个目录拷贝过来,如果拷贝的这个目录中包含有acad.lsp和acadapp.lsp,你的机器就被复制了这个病毒,但是这时还没有起作用。而当你用CAD打开这个文件时,CAD会自动加载该目录下的acad.lsp,这个LISP程序会检测你的CAD支持support目录下是否有这两个文件,如果没有,它会自动在那里创建他们的副本。这里就厉害了,以至于后CAD图纸的地方最终都会产生这样一些文件。

以后,在你打开别的图纸时,它会在判断你要打开的图纸目录下有没有这两个文件,如果没有,它又在该目录下创建这两个文件的副本。就这样,你的机器上的dwg文件目录中逐步都有了这个程序。随着别人按照目录拷贝你的dwg文件,他们也感染上了。

如果单独拷贝CAD图纸,就是单纯的*.dwg文件是安全的,本身图纸是不包含进这段代码的。

 

通过进入CAD文件夹,分别查到acad.fas,acad.lsp和acadapp.lsp,acad.mnl,acad.chw,lcm.fas后删除;
到C:Documents and Settings(你的用户名)Application DataAutodeskAutoCAD 2004R16.0chsSupport下(AutoCAD的版本不同2004和16有可能不同)搜索acad.fas,acad.lsp和acadapp.lsp,acad.mnl,acad.chw,lcm.fas后删除;
全盘搜索acad.fas,acad.lsp后删除。

另外在执行目录查找acad.fas与lcm.fas时必须进入单个的目录下手动查找删除,在CAD安装目录下单纯查找是无法找到这样的文件的,

不想进去目录查找可以直接输入下面的字符到CAD命令行里面回车执行:
(while (or (setq a (findfile “acad.fas”)) (setq a (findfile “lcm.fas”))) (vl-file-delete a))

前几天在同事机子上拷贝图纸,连同文件夹一起拷贝过来的,于是也感染了这段代码,就是通过以上在命令行输入上面这段代码解决的,查找目录手工删除就比较繁琐,还不一定查杀干净。