CadJunky 发表于 2022-7-5 16:19:25

问题:有多少个Defun逗号

嘿,伙计们。也许很简单。如何检索一个主lisp文件中的所有defuns。我有一个lisp文件,其中有数百个单独的命令。

David Bethel 发表于 2022-7-5 16:41:13

欢迎来到CADTutor。
 
这实际上可能是一个棘手的问题。
 
如果:
[列表]
[*]主文件尚未加载
[*]加载时不会覆盖defun名称
[*]defun名称不是受保护的符号
[*]主文件中的所有变量都已本地化
[*]等等等等
[/列表]
那么这可能会起作用:

(defun c:ldefun (/ dl oldatoms newatoms)

(setq oldatoms (atoms-family 1))

(load "file_name")

(setq newatoms (atoms-family 1))
(foreach a newatoms
   (if (not (member a oldatoms))
       (setq dl (cons a dl))))
(prin1 dl)

(prin1))

 
否则,如果在编码实践中非常一致,则可以读取主文件中的每一行,搜索字符串defun,并提取该行中的下一个单词作为函数名。
 
-大卫

Lee Mac 发表于 2022-7-5 17:02:39

你可以试试这个老程序,但它绝不是防弹的。

CadJunky 发表于 2022-7-5 17:17:59

谢谢你,李。你的日常工作完全符合我的要求。非常感谢。
 
@大卫-谢谢你的回复。我很感激。

BIGAL 发表于 2022-7-5 17:31:22

另一种方法是逐行读取lisp文件,查找“(defun”,然后将该行写入文本文件。它将找到所有命令defuns、纯rtd和用户AH:getval等
页: [1]
查看完整版本: 问题:有多少个Defun逗号