乐筑天下

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

[编程交流] 教程:加载程序Aut

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:59:38 | 显示全部楼层 |阅读模式
我终于开始写这篇教程,希望它涵盖了用户在启动时加载程序这一主题上可能需要知道的一切。
 
自动加载程序
 
一如既往,如果您有任何改进建议、批评意见或确实发现内容中的错误,欢迎您提供反馈。
 
享受
 
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 10:11:20 | 显示全部楼层
很好的教程李。
谢谢你的教训,我的朋友
 
问你一个问题。
是否建议加载编程为加载时运行的lisp,而不是作为当前活动lisp的子对象?
 
  1. (defun c:Drawline ()
  2.   (setq ...)
  3.         (if ()
  4.    (load "C:\\My Folder\\MyProgram\\ChangeProgram")
  5.    )
  6. )
  1. (defun c:ChangeMe ()
  2.   (...
  3.    ...)
  4. );defun
  5. (c:ChangeMe)

 
还是这样更好?
 
  1. ;;ACADDOC.lsp
  2. (.......
  3. (autoload "LineProgram" '("DrawLine"))
  4. (autoload "ChangeProgram" '("ChangeMe"))
  5. (.....

 
 
  1. (defun c:Drawline ()
  2.   (setq ...)
  3.         (if ()
  4.    (ChangeMe)
  5.    )
  6. )

 
或者两者都没有?
或者更好地坚持使用工具箱函数中的子程序?
 
这是我收集的“Vlisp编码的坏习惯:不要这样做”中的一些
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:14:22 | 显示全部楼层
谢谢pBe
 
关于你的问题,如果LISP编程为加载时自动运行,那么使用“自动加载”将导致LISP运行两次,因为自动加载功能也会在加载后调用程序。
 
我想这取决于你想要什么样的行为。例如,对于某些反应器,您可能希望它们在打开新图形时在后台加载和运行,因此将其编程为在加载时运行,然后使用ACADDOC中的“加载”功能。lsp可能是最简单的解决方案。
 
然而,如果您只是想加载一个普通的程序,在用户需要时在命令行调用它,那么我只会使用ACADDOC中的“自动加载”功能。lsp将为您处理第一次加载(否则,可能编写您自己的自动加载函数,如此处所示)。
 
回复

使用道具 举报

2

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:22:21 | 显示全部楼层
另一个id是当你有一个CUI文件和相应的。在同一文件夹中具有相同名称的MNL(Lisp)文件,MNL文件将与cui文件一起自动加载。
 
我就是这么做的
回复

使用道具 举报

4

主题

19

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:29:28 | 显示全部楼层
谢谢你的指导。
 
不过我确实有个问题。在ACADDOC中使用自动加载命令是否有利。lsp在测试新代码时,以便每次我输入函数名时,它都会重新加载文件以及自我打开图形以来所做的任何更改?
 
只是想知道。
谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:34:39 | 显示全部楼层
 
不客气
 
 
Autoload不会在每次键入命令语法时“重新加载”函数-它只会在用户第一次键入命令时加载文件一次。
 
为什么不使用VLIDE编辑/重新加载代码?
回复

使用道具 举报

4

主题

19

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:39:10 | 显示全部楼层
谢谢,我已经自学AutoLisp大约一年了,但是有很多小技巧我还没有学会。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:45:25 | 显示全部楼层
 
VLIDE确实是一个不错的选择——即使你只是想使用AutoLISP而不是进入Visual——它有很好的调试功能,帮助文档只需点击一下。
 
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:52:15 | 显示全部楼层
见鬼,我之所以使用它,只是因为它具有自动格式化功能,您可以将其直接加载到AutoCAD中进行测试等等。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:59:18 | 显示全部楼层
 
确切地我有时使用Notepad++,因为它有更多的格式化技巧,但主要是VLIDE,因为可以直接加载某些内容。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:29 , Processed in 0.385884 second(s), 72 queries .

© 2020-2025 乐筑天下

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