tofuannie 发表于 2022-7-6 11:50:45

lisp can的新手';t获取#0

我是lisp新手,我拼凑了一些零碎的东西,尝试在几个文件上做我需要做的事情。这确实有效,但现在不行。我加载它,然后打开20多个图形,希望它打开外部参照中的一个图层(静态图层名/外部参照)。我用的是2007年。没有什么惊天动地的,但它让我发疯,因为它确实工作得很好,现在在处理完第一个文件后,我得到了“零”。非常感谢您的帮助。
 
(定义c:nfcon()
(setvar“cmdecho”0)
(命令“layer”“thaw”“tb | nfc”“))
(命令“_.zoom”“e”)
(setvar“cmdecho”1)
(命令“qsave”)
(普林斯)
)
(c:nfcon)

Lee Mac 发表于 2022-7-6 11:55:35

你是怎么装的?阿卡多克。lsp?ACAD。lsp?创业套件?
 
你的意思是通过脚本来运行它吗?

tofuannie 发表于 2022-7-6 11:58:29

谢谢你,李。因为我不想让它一直运行,所以当我想处理一些文件时,我通常只是在“工具”>“AutoLISP”>“加载应用”下加载它。我不使用脚本,我在一个网络实例上运行,在那里他们只打开了10个左右的文件(一旦加载了lsp),当每个文件打开lsp例程时,就运行了。网络程序与我的类似,只是它是清除而不是解冻一层。

Lee Mac 发表于 2022-7-6 12:00:34

请记住,加载与运行不同-加载代码时运行此代码的唯一原因是最后的(c:nfcon)。
 
你想要实现什么?如果您想在打开每个图形时运行代码,只需在ACADDOC中对其进行调用。lsp

tofuannie 发表于 2022-7-6 12:06:03

啊,这就是“新”的意义所在。我没有意识到这个例程不会在加载后运行。我的目标是在多达50个图形上打开或关闭冻结层,而不必逐个执行。我会试着给阿卡多克加个电话。lsp。谢谢

Lee Mac 发表于 2022-7-6 12:06:52

以下是我给你的建议:
 
将代码更改为:
 

(DEFUN c:nfcon ()
(setvar "cmdecho" 0)
(command "_.-layer" "_thaw" "tb|nfc" "")
(command "_.zoom" "_e")
(setvar "cmdecho" 1)
(command "_.qsave")
(princ))

 
假设您将其保存到文件名“mylisp.lsp”
 
在命令行中键入:
 

(findfile "ACADDOC.lsp")

 
如果返回nil,则打开一个新的记事本文档,并将其另存为ACADDOC。ACAD支持路径中的lsp。否则,请转到该位置并找到该文件。
 
打开阿卡多克。lsp并键入:
 
(load "mylisp.lsp")
 
确保mylisp。lsp文件也在支持路径中。
 
现在,要创建脚本,请看一下我的程序:
http://www.cadtutor.net/forum/showpost.php?p=295487&postcount=23
 
您可能要输入的脚本行是:
 

_.open *file* (c:nfcon) close

 
这将创建一个脚本,可以在50个图形上运行。
 

tofuannie 发表于 2022-7-6 12:12:18

哇,李,非常感谢你的帮助!只要把脚趾伸进Lisp程序的水中,我就知道我错过了什么。我会的!是时候买本书了。。有什么好的开始吗?

Lee Mac 发表于 2022-7-6 12:13:09

你真的不需要买任何东西,网上有这么多免费的资源:
 
启动LISP:
http://www.afralisp.net/
http://www.jefferypsanders.com/autolisptut.html
http://ronleigh.info/autolisp/index.htm
 
更高级的LISP教程:
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node1.html
 
DCL教程:
http://www.jefferypsanders.com/autolisp_DCL.html
http://www.afralisp.net/
 
Visual LISP编辑器:
http://www.afralisp.net/vl/vlisp.htm
http://www.afralisp.net/vl/vl-edit.htm
http://midpointcad.com/au/docs/lakose_The_Visual_LISP_Developers_Bible.pdf
 
LISP函数解释(文本替换):
http://www.cadtutor.net/forum/showpost.php?p=264546&postcount=15
 
本地化变量:
http://www.cadtutor.net/forum/showpost.php?p=265649&postcount=4
 
自动加载LISP(ACADDOC.lsp等):
http://www.theswamp.org/index.php?topic=30946.msg364983#msg364983
http://www.cadtutor.net/faq/questions/53/How+do+I+自动+加载+变量%3F
 
Car/Cadr/Caddr解释:
http://ronleigh.info/autolisp/afude09.htm
http://www.theswamp.org/index.php?topic=31473.0
 
 
那会让你忙个不停
 

tofuannie 发表于 2022-7-6 12:16:49

谢谢你,李。在我的书中,免费总是更好!感谢您的登录。。。前面有很多阅读!

Lee Mac 发表于 2022-7-6 12:21:19

不客气
页: [1] 2
查看完整版本: lisp can的新手';t获取#0