我还要看一下你正在使用的代码 代码的VL替代方案:
(defun c:nfcon (/ lay app)
(vl-load-com)
(if (not (vl-catch-all-error-p
(setq lay
(vl-catch-all-apply
(function vla-item)
(list (vla-get-layers
(vla-get-ActiveDocument
(setq app (vlax-get-acad-object)))) "tb|nfc")))))
(vla-put-freeze lay :vlax-false))
(vla-ZoomExtents app)
(vla-save (vla-get-ActiveDocument app))
(princ))
你是快李麦克!如果你不介意的话,请帮我理解几件事。我检查了ACad中的txt窗口,它显示“_.open”有效,但它将*file*显示为未知命令,然后没有继续执行“(c:nfcon)”。为什么?这三个例程是否相互不关联,这就是你提出上述建议的原因?或(总是,谢谢!) 对不起,我是想问。。。什么是VL?
好的,我想我们可能一路上有点困惑。*文件*只是一个“令牌”,我只在我的脚本程序中使用它来表示图形的文件名。
因此,用户输入他/她想要在一组图形上执行的一行操作,但将图形的文件路径替换为*file*令牌。
然后,我的程序将编写一个脚本,对选定目录中所有图形的文件路径进行编码,以代替*file*标记。
然后可以运行脚本对这些图形进行操作。
优点是用户不必手动复制/粘贴/键入脚本的每一行,而只需第一行。
Visual LISP-具有额外功能的标准AutoLISP的扩展 没关系,李,你可以说“我”一路上很困惑。我是个新手,所以每一件小事都是从字面上理解的。
因此,我打开了任何ACad dwg,并在命令行中放置“_.open z:\xxx\xxx.dwg(c:nfcon)close”,然后它将运行您的“wScript.lsp”,打开我的许多dwg,并运行“nfcon”。为了创建脚本,该命令行条目在哪里提取“wScript.lsp”?
对不起,这些疯狂的问题。。。只要知道,你正在种下一粒种子,我会种下去的。谢谢 别担心,我会帮你解决的。
[列表]
[*]打开AutoCAD以查看任何新图形
[*]确保我的WScript。lsp已加载
[*]在命令行键入WScript
[*]输入脚本行[即_.打开*文件*(c:ncfcon)_.关闭]
[*]选择要处理的目录
[*]选择脚本文件的位置
现在脚本文件已经写入,我们可以运行它了。
[列表]
[*]在AutoCAD中,在命令行键入“script”
[*]选择我们刚刚创建的脚本文件,单击“确定”。
希望这能为您澄清一些事情,但如果您在这方面有任何问题,请告诉我,我很乐意提供更多帮助。
李 哦,哇!
太阳出来真的很有帮助,不是吗?一切都像你布置的那样完美。这正是我想做的。
谢谢,下一次我将从非常小的需求开始。当我刚开始的时候,我真的不知道我想做什么。我想这将是一个瞬间齐心协力。。。不适合我。。。还没有。你是最棒的,非常感谢!!
没问题,我很乐意。
这是一个陡峭的学习曲线,现在您知道下次您要在多个图形上操作
李
页:
1
[2]