乐筑天下

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

[编程交流] 没什么变化,但现在lisp

[复制链接]

37

主题

158

帖子

124

银币

后起之秀

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

铜币
205
发表于 2022-7-6 08:47:25 | 显示全部楼层 |阅读模式
当我创建这个时,它工作得很好。更改了命令行颜色,没有错误。现在它告诉我
  1. Program ERROR
  2. Resetting environment ; error: An error has occurred inside the *error*
  3. functionbad argument type: consp nil

 
  1. (defun c:PST (/ pickstyle)
  2. (if (= (getvar "pickstyle") 1) (setvar "pickstyle" 0) (setvar "pickstyle" 1))
  3. (if (= (getvar "pickstyle") 1) (CmdCol 255 0 0) (CmdCol 255 255 255))
  4. (defun CmdCol (r g b)
  5. (vl-load-com)
  6. (vla-put-TextWinBackgrndColor
  7.    (vla-get-Display
  8.      (vla-get-Preferences
  9.        (vlax-get-acad-object))) (+ r (* 256 g) (* 65536 b))))
  10. (princ (getvar "pickstyle"))
  11. (princ)
  12. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:00:14 | 显示全部楼层
由于您的代码没有定义局部*error*函数,因此您似乎正在运行其他LISP例程,这些例程覆盖默认*error*函数,而不是重置它(有关详细信息,请参阅此处)。
 
这不会解决您的问题,但会提供有关错误的更多信息;在命令行中键入:
 
然后重新运行上述代码。
 
将IF语句移到CmdCol函数定义下方,因为否则调用函数时不会定义该函数。
 
回复

使用道具 举报

37

主题

158

帖子

124

银币

后起之秀

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

铜币
205
发表于 2022-7-6 09:08:02 | 显示全部楼层
谢谢它现在这样说
  1. Command: pst ; error: no function definition: CMDCOL

 
我在定义中添加了“cmdcol”
但仍然得到相同的错误
 
  1. (defun c:PST (/ pickstyle CmdCol)
  2. (if (= (getvar "pickstyle") 1) (setvar "pickstyle" 0) (setvar "pickstyle" 1))
  3. (if (= (getvar "pickstyle") 1) (CmdCol 255 0 0) (CmdCol 255 255 255))
  4. (defun CmdCol (r g b CmdCol)
  5. (vl-load-com)
  6. (vla-put-TextWinBackgrndColor
  7.    (vla-get-Display
  8.      (vla-get-Preferences
  9.        (vlax-get-acad-object))) (+ r (* 256 g) (* 65536 b))))
  10. (princ (getvar "pickstyle"))
  11. (princ)
  12. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:10:32 | 显示全部楼层
请从子函数中删除变量CmdCol,然后重试
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:23:40 | 显示全部楼层
 
^^重新阅读。
回复

使用道具 举报

37

主题

158

帖子

124

银币

后起之秀

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

铜币
205
发表于 2022-7-6 09:28:58 | 显示全部楼层
好了,这个现在可以用了
 
  1. 5
回复

使用道具 举报

37

主题

158

帖子

124

银币

后起之秀

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

铜币
205
发表于 2022-7-6 09:36:53 | 显示全部楼层
 
第一次错过了。执行此操作并删除子功能def。
现在起作用了
谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:44:01 | 显示全部楼层
 
好东西。
 
但是,您可能仍然希望调查在正在运行的另一个LISP程序中没有重置“error”函数的问题。
回复

使用道具 举报

37

主题

158

帖子

124

银币

后起之秀

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

铜币
205
发表于 2022-7-6 09:54:50 | 显示全部楼层
 
我阅读了你发送的链接。我仍然不确定是否在另一个程序中找到错误。我知道它可能不会重置,因为我可能在命令完成一半时按了esc。但我不知道如何找到它
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 08:04 , Processed in 0.376553 second(s), 70 queries .

© 2020-2025 乐筑天下

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