乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 90|回复: 19

[编程交流] Lisp例程加载问题u

[复制链接]

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:15:39 | 显示全部楼层 |阅读模式
我对Lisp程序完全一无所知。不幸的是,我们办公室里那个让事情继续发展的家伙跑掉了,加入了马戏团,带走了他所有的玩具,我们中的一些人正在尝试升级,同时仍在维护我们的宏。如果您能提供任何帮助,我们将不胜感激。
 
之前在2007年Acad2007中,他让我们使用复制此Acaddoc。lsp文件到我们所有的支持目录(Acad、Land Desktop、Civil3d)。我们还将所有lisp例程复制到桌面/笔记本电脑。当时的想法是,网络驱动器将始终是最新的和更新的,但如果我们远离网络,我们仍然可以从我们的电台运行东西。
 
不幸的是,在升级到Acad2009和Acad2011 Civil3D后,我一直无法使其工作,我不知道我做错了什么。
 
这是阿卡多克。我们使用的lsp:
 
  1. ;;;    ACADDOC.LSP Created to Load Earth Tech Routines
  2. ;;;
  3. (setq S::STARTUP (append S::STARTUP AecCStartup))
  4. (princ "Starting Load")
  5. (princ "Network Check...  ");
  6. (if (findfile "L:/library/cadmasters/acadsta/acad/lisp/network.up")
  7.    (progn
  8.      (princ "OK.\n")
  9.      (defun ETload (parm / full_filename)
  10.        (setq full_filename (strcat "L:/library/cadmasters/ACADSTA/ACAD/LISP/" parm))
  11.        (if (findfile (strcat full_filename ".lsp"))
  12.          (load full_filename)
  13.          (princ (strcat "AutoLISP File (" full_filename ") Not Found\n"))
  14.        );End if
  15.        (princ)
  16.      );End def
  17.    );Pend
  18.    (progn
  19.      (princ "\nServer DOWN...  Resetting LISP To C: Drive...  ")
  20.      (getstring "Press <RETURN> To Acknowledge Problem: ")
  21.      (defun whload (parm / full_filename)
  22.        (setq full_filename (strcat "C:/ACAD/LISP/" parm))
  23.        (if (findfile (strcat full_filename ".lsp"))
  24.          (load full_filename)
  25.          (princ (strcat "AutoLISP File (" full_filename ") Not Found\n"))
  26.        );End if
  27.        (princ)
  28.      );End def
  29.    );Pend
  30. );End if
  31. ;--  Load Earth Tech Standard LISP Routines
  32.    (ETload "Earth-Tech")
  33. ;--  Set All Default Variables
  34. (setvar "UCSICON" 0)
  35. (setvar "CMDECHO" 0)
  36. (princ)

 
我知道它正在寻找Earth-Tech.lsp。它在C:/Acad/Lisp处加载。如果需要的话,我可以把它打印出来。
 
下面是我得到的错误:
 
  1. ; error: no function definition: ETLOAD
  2. AutoCAD menu utilities loaded.Starting LoadNetwork Check...
  3. Server DOWN...  Resetting LISP To C: Drive...  Press <RETURN> To Acknowledge
  4. Problem: *Cancel*
  5. ; error: Function cancelled

 
宏无法工作。我怀疑我在错误的位置归档了一些东西,但我不知道是什么或在哪里。
 
坦率地说,我真的不需要在网络上查找例程,我很乐意只在我的笔记本电脑上运行它,所以如果你想建议取消网络检查,以及如何摆脱它,这对我来说是可行的。我们中的大多数人现在都在笔记本电脑上,可以在远离网络的情况下工作,所以现在这并不那么重要。
 
我很乐意接受任何建议,并且可以尝试回答任何关于文件位置或其内容的问题。
 
非常感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:19:20 | 显示全部楼层
你好,GWelch,
 
如果您只想从笔记本电脑上的已知位置加载LISP文件,这样就足够了:
 
  1. (load "C:\\YourFolder\\YourLISP.lsp" "Failed to Load YourLISP")
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:24:48 | 显示全部楼层
这些也可能有帮助:
 
http://lee-mac.com/autoloading.html
 
http://lee-mac.com/autoloader.html
 
http://lee-mac.com/acaddoccreator.html
回复

使用道具 举报

19

主题

119

帖子

100

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 07:27:14 | 显示全部楼层
(ETload“Earth Tech”)
 
据我所知,那句话没有任何意义。有人告诉我,如果我错了。但据我所知,错误是告诉您要“ETLoad”一些东西,但这不是一个有效的LISP命令。
 
尝试将该行更改为(加载“Earth Tech”)
 
重新加载,重新启动AC,然后重试。
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 07:31:15 | 显示全部楼层
格韦尔奇,
显然,此位置中没有名为“network.up”的文件:“L:/library/cadmasters/acadsta/acad/lisp/”。它指示程序不要定义“ETLOAD”函数。
我认为线索是找到提到的文件并将其放在相应的文件夹中。
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 07:32:55 | 显示全部楼层
 
结果,ETLoad在代码中以条件方式定义。问题是由于缺少以下积极条件造成的:(if(findfile“L:/library/cadmasters/acadsta/acad/lisp/network.up”)。。。
回复

使用道具 举报

KJB

3

主题

26

帖子

19

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 07:35:48 | 显示全部楼层
一旦确定了所需的LSP文件,请使用APPLOAD和Startup Suite为每个AutoCAD会话自动加载它们。
回复

使用道具 举报

19

主题

119

帖子

100

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 07:40:41 | 显示全部楼层
啊。。。。我明白你在说什么。现在这里有一个问题,在错误中,GWelch似乎没有连接到服务器。它试图在C盘上寻找lsp。。。。
 
我看你是对的,没有找到合适的文件来加载ETload命令。。。。但可能是因为没有连接到服务器?
 
@格沃奇:我同意你需要找到那个文件。。。我只是想理解其余的代码。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:43:46 | 显示全部楼层
 
众所周知,StartupSuite在某些版本中存在漏洞——使用ACADDOC要可靠得多。lsp在启动时加载程序。
 
 
结果,以下是代码流程的简短说明:
 
通过将“whload”函数重命名为“ETload”,可以解决该问题。
回复

使用道具 举报

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:45:36 | 显示全部楼层
 
我试试看。
 
 
 
如果我的无俱乐部感现在还没有完全显现出来,那么如何重新载入《阿卡多克》。lsp?只有重启Acad才能解决这个问题吗?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 10:15 , Processed in 0.819311 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表