乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: tofuannie

[编程交流] lisp can的新手';t获取#0

[复制链接]

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 12:22:51 | 显示全部楼层
好的,我知道我的“新”正在上映。我只是迫不及待地想试试你的帮助,但我仍然需要更多的指导。这个脚本程序太棒了。我真的一点都不懂,但我明白了要点。我最终要做的是搜索脚本中列出的每个变量的信息,也许在未来的某个地方,它会开始凝结!回到问题上来。。我按照你的建议更改了我的lsp,除了名称是“nfcon.lsp和nfcoff.lsp”(我有一个用于解冻层,另一个用于冻结层)之外,我创建了ACADDOC。lsp并添加了您建议的行,除了我的外,还包括路径。。(加载“z:/blah/blah/nfcon.lsp”)。我将你的脚本文件保存在记事本中的“wScript.lsp”中,并将其保存在我的“nfcon.lsp”的同一位置。然后在命令行中剪切并粘贴“_u.open*file*(c:nfcon)close”。你的脚本运行并打开对话框来选择我的文件(非常酷);他们开放了,但“nfcon”并没有解冻这一层。除了最后一块,一切都很顺利。我做错了什么?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:28:42 | 显示全部楼层
只是澄清一下,如果我的程序成功地将脚本创建到您选择的保存位置,您仍然需要使用AutoCAD中的“脚本”命令运行该脚本-我的例程只是编写脚本。
 
我还要看一下你正在使用的代码
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:29:27 | 显示全部楼层
代码的VL替代方案:
 
  1. (defun c:nfcon (/ lay app)
  2. (vl-load-com)
  3. (if (not (vl-catch-all-error-p
  4.             (setq lay
  5.               (vl-catch-all-apply
  6.                 (function vla-item)
  7.                   (list (vla-get-layers                           
  8.                           (vla-get-ActiveDocument
  9.                             (setq app (vlax-get-acad-object)))) "tb|nfc")))))
  10.    
  11.    (vla-put-freeze lay :vlax-false))
  12. (vla-ZoomExtents app)
  13. (vla-save (vla-get-ActiveDocument app))
  14. (princ))
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 12:34:34 | 显示全部楼层
你是快李麦克!如果你不介意的话,请帮我理解几件事。我检查了ACad中的txt窗口,它显示“_.open”有效,但它将*file*显示为未知命令,然后没有继续执行“(c:nfcon)”。为什么?这三个例程是否相互不关联,这就是你提出上述建议的原因?或(总是,谢谢!)
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 12:36:13 | 显示全部楼层
对不起,我是想问。。。什么是VL?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:39:48 | 显示全部楼层
 
好的,我想我们可能一路上有点困惑。*文件*只是一个“令牌”,我只在我的脚本程序中使用它来表示图形的文件名。
 
因此,用户输入他/她想要在一组图形上执行的一行操作,但将图形的文件路径替换为*file*令牌。
 
然后,我的程序将编写一个脚本,对选定目录中所有图形的文件路径进行编码,以代替*file*标记。
 
然后可以运行脚本对这些图形进行操作。
 
优点是用户不必手动复制/粘贴/键入脚本的每一行,而只需第一行。
 
 
Visual LISP-具有额外功能的标准AutoLISP的扩展
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 12:42:14 | 显示全部楼层
没关系,李,你可以说“我”一路上很困惑。我是个新手,所以每一件小事都是从字面上理解的。
 
因此,我打开了任何ACad dwg,并在命令行中放置“_.open z:\xxx\xxx.dwg(c:nfcon)close”,然后它将运行您的“wScript.lsp”,打开我的许多dwg,并运行“nfcon”。为了创建脚本,该命令行条目在哪里提取“wScript.lsp”?
 
对不起,这些疯狂的问题。。。只要知道,你正在种下一粒种子,我会种下去的。谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:45:41 | 显示全部楼层
别担心,我会帮你解决的。
 
[列表]
  • 打开AutoCAD以查看任何新图形
  • 确保我的WScript。lsp已加载
  • 在命令行键入WScript
  • 输入脚本行[即_.打开*文件*(c:ncfcon)_.关闭]
  • 选择要处理的目录
  • 选择脚本文件的位置
    现在脚本文件已经写入,我们可以运行它了。
     
    [列表]
  • 在AutoCAD中,在命令行键入“script”
  • 选择我们刚刚创建的脚本文件,单击“确定”。
    希望这能为您澄清一些事情,但如果您在这方面有任何问题,请告诉我,我很乐意提供更多帮助。
     
  • 回复

    使用道具 举报

    1

    主题

    10

    帖子

    9

    银币

    初来乍到

    Rank: 1

    铜币
    5
    发表于 2022-7-6 12:48:46 | 显示全部楼层
    哦,哇!
     
    太阳出来真的很有帮助,不是吗?一切都像你布置的那样完美。这正是我想做的。
     
    谢谢,下一次我将从非常小的需求开始。当我刚开始的时候,我真的不知道我想做什么。我想这将是一个瞬间齐心协力。。。不适合我。。。还没有。你是最棒的,非常感谢!!
    回复

    使用道具 举报

    114

    主题

    1万

    帖子

    1万

    银币

    中流砥柱

    Rank: 25

    铜币
    543
    发表于 2022-7-6 12:53:45 | 显示全部楼层
     
    没问题,我很乐意。
     
    这是一个陡峭的学习曲线,现在您知道下次您要在多个图形上操作
     
    回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

    QQ|关于我们|小黑屋|乐筑天下 繁体中文

    GMT+8, 2025-3-6 01:59 , Processed in 0.684489 second(s), 70 queries .

    © 2020-2025 乐筑天下

    联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表