乐筑天下

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

[编程交流] 组合Lisp例程

[复制链接]

18

主题

59

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 23:44:42 | 显示全部楼层 |阅读模式
也许我对Lisp程序这个东西太陌生了,但我已经通过了很多论坛,对于外行,也就是我来说,似乎没有什么能真正解释清楚。
 
我的公司对LISP似乎也很陌生,但他们有一个LISP的“主”列表,他们已经使用了一段时间。此列表加载到每个人的CAD中。我发现还有其他几个我想添加到这个主列表中,但我不知道它们是如何分离和加载的。
 
我们的想法是用新命令更新这个主列表,让其他人能够在下次加载原始lisp时再次启动CAD时使用这些命令。是否有加载其他位置的快速例程?
 
我得到了这种风格的线路,并告诉它会做这样的事情,但我一定还是做错了什么
  1. (load "brkblk")
  2. (load "BreakObjects18")
  3. (load "CCC")
  4. (load "Copy2DrawingsV1-2")
  5. (load "Copy2LayoutsV1-1")
  6. (load "DoubleOffsetV1-1")
  7. (load "Dynamic-Offset")
  8. (load "MCOPY")
  9. (load "QuickDimAligned-QDA")
  10. (load "ROT2ENT")
  11. (princ (load "BreakObjects18" "\nBreakObjects18.LSP file not loaded.."))
  12. (princ (load "CCC" "\nCCC.LSP file not loaded.."))
  13. (princ (load "Copy2DrawingsV1-2" "\nCopy2DrawingsV1-2.LSP file not loaded.."))
  14. (princ (load "Copy2LayoutsV1-1" "\nCopy2LayoutsV1-1.LSP file not loaded.."))
  15. (princ (load "DoubleOffsetV1-1" "\nDoubleOffsetV1-1.LSP file not loaded.."))
  16. (princ (load "Dynamic-Offset" "\nDynamic-Offset.LSP file not loaded.."))
  17. (princ (load "MCOPY" "\nMCOPY.LSP file not loaded..."))
  18. (princ (load "QuickDimAligned-QDA" "\nQuickDimAligned-QDA.LSP file not loaded..."))
  19. (princ (load "ROT2ENT" "\nROT2ENT.LSP file not loaded..."))

 
谢谢你的耐心,
 
-诺布尔
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 23:52:58 | 显示全部楼层
我使用这个场景;比如说ycopy。lsp包含c:ycopy的定义
  1. (defun c:yc () (if (not c:ycopy) (load "YCOPY"))(c:ycopy))

 
这样,您就可以按需使用资源来定义快捷键。
 
我的acad(文档)中有大约400个这样的文件。lsp文件
 
 
你需要为每一个例行程序做一个单独的defun。
 
你总可以有一个大图书馆。包含许多例程但必须在每个会话中完全加载的lsp文件。浪费资源(IMO)更不用说很难调试。
 
 
-大卫
回复

使用道具 举报

2

主题

10

帖子

8

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 23:57:35 | 显示全部楼层
嗨,诺布尔
我对这一切也是新手,但我想你可能想看看Acad。Lsp文件
关于这一点,有很多资源,请访问:
http://www.afralisp.net/autolisp/tutorials/loading-autolisp-files.php
http://lee-mac.com/autoloading.html
我希望这有帮助。
 
干杯
安迪
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 00:04:09 | 显示全部楼层
请注意,因为David的示例使用了两个字母的名称“YC”,而不是用lisp名称替换ACAd命令。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 00:04:52 | 显示全部楼层
 
 
acad除外。pgp,我知道没有其他核心ACAD命令只有2个字母长。也许是新的?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:11:03 | 显示全部楼层
我的问题是你只能通过键盘访问吗?
 
如果您使用菜单或工具栏,则可以要求加载不在主lisp中的单个lisp。我对一个100多个lisp的大方案采取了不同的方法。我有一个通用的函数库,可以自动加载一些东西,比如动态设置正确的层。每个lisp都是从菜单中调用的,但一旦加载,就可以通过键盘再次调用。很难记住每个lisp的关键代码,因此菜单。
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 00:16:59 | 显示全部楼层
大卫,
 
在命令提示下键入“BH”时会发生什么情况。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:21:33 | 显示全部楼层
大多数快捷命令都列在acad中。pgp非常确定BH边界图案填充是express的一部分,因此不在acad中。所以你们两个都是对的。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 00:29:29 | 显示全部楼层
是的,看起来像是acad之外的一条捷径。pgp公司
004447ihdnrrsyvb8bsrhs.jpg
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 00:33:05 | 显示全部楼层
还有很多这样的双字母快捷方式(对不起,我没有列表),作为预防措施,OP应该在使用双字母名称命名LISP函数之前测试任何特定双字母快捷方式的存在性。
 
我不相信这两个字母的命令是express工具的一部分,因为它们也适用于BricsCAD。
 
布鲁斯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:14 , Processed in 0.694168 second(s), 74 queries .

© 2020-2025 乐筑天下

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