jimpcfd 发表于 2022-7-7 01:55:33

从旧菜单到新cui菜单

我无法在2010年使用旧的菜单命令(R14),它调用lisp例程。
 
这是调用^C^C(if(not(boundp'p$layer))(p$load“p$layer”))(p$layer 1)。
有办法得到这份工作吗?
 
干杯

lpseifert 发表于 2022-7-7 02:03:38

看看这是否有效
其中lispfilename是lisp文件名,commandcall是运行lisp函数的命令

jimpcfd 发表于 2022-7-7 02:13:51

好的,我试试看。
 
 
非常感谢。

jimpcfd 发表于 2022-7-7 02:19:24

嗨,lpseifert
 
我没有运气,这就是我所做的。。。
 
^c^c(如果(非c:p$layer)(加载“lp$layer”nil))p$layer 1
 
您认为创建一个lisp文件来进行调用是否更好?
 
谢谢
jimpcfd

lpseifert 发表于 2022-7-7 02:25:32

如果要发布lisp文件和/或代码,则更容易进行故障排除

jimpcfd 发表于 2022-7-7 02:29:02

你好
 
我附上了3个文件acad。正在调用的lsp和2 lisp文件。
 
非常感谢
jimpcfd
ACAD。LSP
P$LAYER。LSP
P$LLIST。LSP

lpseifert 发表于 2022-7-7 02:37:13

首先,确保文件位于acad的支持路径中,这可能是问题的症结所在
您在第一篇文章中提供的代码应该可以使用
我不知道acad的目的。lsp文件,但如果变量acadlsdoc设置为0,则将仅加载一次-而不是在每个图形中加载(有关acad.lsp文件的信息,请参阅帮助)
如果你知道你需要P$LAYER的功能。lsp&P$LLIST。lsp在每个图形中,将其添加到acaddoc。lsp文件。如果你没有阿卡多克。lsp文件,创建一个(同样,请在帮助中查找acaddoc.lsp文件)
1

jimpcfd 发表于 2022-7-7 02:43:54

我猜是阿卡多克。lsp与acad相同。lsp。
我的所有支持路径都是正确的,我认为问题似乎是调用的参数p$layer 1 number是层列表pllist。lsp。
我会试试你的建议。
 
再次感谢

BlackBox 发表于 2022-7-7 02:54:35

 
危险将罗宾逊!
 
阿卡多克。lsp和ACAD。lsp绝对不一样。。。
 
[编辑]
ACAD。lsp在每个会话中加载一次(在开始时),而ACADDOC。lsp将在每个图形打开时加载。
 
一般来说,用户只修改其ACADDOC是公认的良好做法。lsp,离开ACAD。lsp由其高级CAD管理人员管理。诚然,并非所有情况都是如此。
 
我强烈建议您使用ACADDOC。lsp用于所有自定义设置、例程等。
[/编辑]

jimpcfd 发表于 2022-7-7 03:01:11

好的,谢谢,我会小心的。
页: [1]
查看完整版本: 从旧菜单到新cui菜单