K Baden 发表于 2022-7-5 15:40:41

的启动运行问题

大家下午好!
 
这里的社区从未停止让我惊讶,所以,我有一个问题。我创建了一个例程,它运行多个其他例程来对我的图形进行一些常规维护。它已经成功运行了几个月了,所以我决定从原来的例程中挑选一些,并将它们放在一个单独的启动“自动”lisp中。当调用命令本身时,一切都很好,但由于某些原因,它在启动SITEPLAN图形时将不起作用。
 
我知道我的if语句正在工作,因为我让它发布了一条测试消息。但出于某种原因,它只是拒绝使用我调用的命令。
 
正如我所说,如果我在打开图形后直接运行它,这将非常有效,但不会在我放入acaddoc文件的这条语句中运行。
 
(if (wcmatch (getvar 'dwgname) "*SITEPLAN")
(c:AutoSiteScrub)
(print "This will print."))
(princ)
 
“This will print”在带有SITEPLAN的每张图纸上都会毫无疑问地弹出。其中包含dwg。我没有发现任何错误。在acaddoc的启动中调用这样的命令时,我是否遗漏了什么?
 
感谢您的帮助!谢谢
 
(如有必要,我可以发布我调用的命令的代码,但我真的不认为这是问题所在,因为它本身可以完美地工作,但请告诉我这是否有帮助)
 
编辑:我应该在调用命令之前使用progn吗?

Grrr 发表于 2022-7-5 16:00:48

wcmatch函数区分大小写,所以键入(getvar'dwgname)时的值是多少?
 
编辑:
第二眼。。
(wcmatch (getvar 'dwgname) "*SITEPLAN.dwg")
 
此外,这可能会引起兴趣:
粘贴到命令行时是否工作?

tombu 发表于 2022-7-5 16:35:21

正如Grrr所指出的,wcmatch区分大小写,您缺少一个星号:
3

ronjonp 发表于 2022-7-5 17:00:09

页: [1]
查看完整版本: 的启动运行问题