嘿伙计们,
我一直在坚持这一点,尽管我相信这并没有那么复杂。。。我想制作一个宏,它执行以下操作:
1.检查是否加载了lisp文件(以便自定义创建的函数可用)
2.如果未加载,则检查文件本身是否存在(lisp文件在特定地图或支持文件路径之一中)
3、如果它在那里,则装载物品
4.如果不存在,则对问题发出警报,不管怎样,并停止命令。
5.如果lisp文件确实存在并已加载,则在lisp中执行命令。
这将是一个测试。lsp(仅举一个例子):
- [color=black](defun c:ttt()[/color]
- [color=black] (setq pt1 (getpoint "Point 1:")[/color]
- [color=black]pt2 (getpoint "Point 2:")[/color]
- [color=black] )[/color]
- [color=black] (command "line" pt1 pt2 "")[/color]
- [color=black] (princ)[/color]
- [color=black])[/color]
- [color=black](princ)[/color]
这是我目前为止的宏:
- [color=black]^C^C^P(if (and (findfile (strcat (getenv "programfiles") "[/color][url="file://\\MyMap\\Program\\test.lsp"))(not(c:ttt)))(load"][color=black]\\MyMap\\Program\\test.lsp"))(not(c:ttt)))(load[/color][/url][color=black] (strcat (getenv[u] "programfiles") "[/u][/color][url="file://\\MyMap\\program\\test.lsp"))(alert"][color=black]\\MyMap\\program\\test.lsp"))(alert[/color][/url][color=black] "Not found"))ttt;[/color]
我知道它不是所有对应的(lisp和宏),但我没有想出更好的。。。特别是“检查是否已准备好加载”部分。。。我完全不确定(不是(c:ttt))。
我们非常感谢您的帮助。 |