乐筑天下

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

[编程交流] 李';今天的提示

[复制链接]

9

主题

27

帖子

20

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 15:48:39 | 显示全部楼层 |阅读模式
大家好。首先,让我感谢李·麦克对LISP所做的一切,以及他如何帮助他人。他对社会很有价值。
 
现在,对于这个问题,我一直在努力让他每天的提示Lisp程序。我的启动套件中有lisp,它和文本文件都位于支持文件搜索路径中,并且在一天开始时不会显示提示。Lisp确实可以加载,因为我可以键入(LM:tip)并且它显示了一个提示,它只是没有显示当天第一个dwg的任何内容。问题是我使用的是Civil 3D 2015吗?可能是因为它的变量太大而导致了这个问题?
 
http://www.lee-mac.com/tipoftheday.html
回复

使用道具 举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 15:57:13 | 显示全部楼层
你好。只是在黑暗中拍摄。
 
函数是定义的,所以问题似乎出在s::startup定义上。这就是它被处理的地方。
  1. (if (= 'list (type s::startup))
  2.    (if (not (member '(LM:tip) s::startup))
  3.        (setq s::startup (append s::startup '((LM:tip))))
  4.    )
  5.    (defun-q s::startup nil (LM:tip))
  6. )

我的猜测是:可能在LM tip of the day之后加载的另一个函数在执行之前重新定义::startup?要查看是否是这种情况,请尝试键入(defun-q-list-ref的::startup),这将显示绑定到s::startup的列表。它应该返回“(nil(LM:TIP))”或一个更长的列表,该列表末尾包含(LM:TIP)。如果不是这样,那么在LM:tip发挥其神奇作用之后,一些东西重新定义了::startup。
 
@李。如果s::startup不是列表,则s::startup将与(LM:tip)一起取消调谐-q。当我看s::startup的AKN示例时,它们使用defun(type=SUBR)。按原样编写代码,如果有人使用defun定义了s::startup,那么根据我所做的测试,我发布的LM:tip部分将覆盖它。
我认为需要(=(类型s::startup)'SUBR),但如果是这样的话,是否有一种解决方法可以“附加”到使用Defun创建的s::startup?
 
干杯
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:10:13 | 显示全部楼层
 
据我所知,正式文档始终建议将s::启动函数定义为一个列表(即使用defun-q/defun-q-list-set),例如,如Autodesk的这篇相互矛盾的文档所示。
 
因此,考虑到这一点,我认为如果s::startup函数不是列表数据类型,那么应该正确地重新定义它。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:18:33 | 显示全部楼层
 
谢谢你的客气话,我感谢你对我对社区的贡献。
 
测试Jef!”根据上述假设,您可以尝试将代码中的第210-215行(包括第210-215行)替换为:
  1. (LM:tip)
回复

使用道具 举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 16:19:38 | 显示全部楼层
我不会反对defun-q是最好的方法,因为它支持使用defun-q-list-ref,支持不同的附加和/或setq。
我可能会争辩说,如果有人有一个使用defun的第三方应用程序,或者选择使用defun,那就是他的选择。据我所知,这只是因为有人偶然发现了一段相互矛盾的Adesk文档。即使我不同意,也认为应该正确地重新定义它,我仍然不会跳过subr验证,而只是覆盖它。
 
和往常一样,我非常感谢你的反馈。
干杯
回复

使用道具 举报

9

主题

27

帖子

20

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 16:32:55 | 显示全部楼层
这似乎是它现在在启动时弹出提示的问题。问题是,我用启动套件加载了其他每一个lisp,它们都没有改变s::startup函数。它还打开了一个空白的绘图,我想它会等到用户选择了一个绘图打开。谢谢你们的帮助。
回复

使用道具 举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 16:34:12 | 显示全部楼层
要查看它是否已定义,可以键入!s: :startup,根据这里所说的,它应该返回如下内容#
除此之外,通过启动套件,它可以在acad中的菜单、vlx中定义。lsp或acaddoc。lsp、vba或由上述任何一个首先加载的任何其他源中。您可以搜索s::startup(在windows资源管理器中),但如果它是在加密文件中定义的,您将找不到它。狩猎快乐!
 
我很高兴能帮上忙!
祝你周末愉快!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:44:44 | 显示全部楼层
 
我很高兴听到这个项目现在对你很有效;如果希望仅为保存的图形显示tip,可以在加载程序时评估(LM:tip)函数之前测试DWGTITLE系统变量。
回复

使用道具 举报

9

主题

27

帖子

20

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 16:55:17 | 显示全部楼层
谢谢你们,你们帮了大忙。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 1.444806 second(s), 70 queries .

© 2020-2025 乐筑天下

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