找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1055|回复: 5

[LISP程序]:一个初学者关于LISP控制台的问题

[复制链接]
发表于 2006-10-5 20:17:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我装的是CAD 2004,刚学习LISP,遇到一个问题。在帮助中有下面一段话:
gp:getPointInput 函数完成运行时,变量以及赋给变量的值都将不复存在。因此,您可以将用户提供的值保存在局部变量中。下面是函数的实现代码:

(defun gp:getPointInput        (/ StartPt EndPt HalfWidth)
  (if (setq StartPt (getpoint "\nStart point of path: "))
    (if (setq EndPt (getpoint StartPt "\nEndpoint of path: "))
      (if (setq HalfWidth (getdist EndPt "\nHalf width of path: "))
          T
      )
    )
  )
)
在引导函数开始的 defun 语句中,局部变量的声明位于斜线的后面。函数第一次调用 getpoint 时会提示用户指定起点,然后要求用户依据输入的起点指定端点。在选择端点时,用户会看到一条从起点延伸出来的拖引线。与此类似,在设置小路半宽值时,用户也会看到一条由端点伸出的拖引线,但这次它表示的是距离。

查看 gp:getPointInput 如何工作的步骤

[B]1、在 VLISP 控制台窗口中键入 gp:getPointInput 代码。 [/B]  
2、将控制台窗口光标放在代码块的最后一个括号后(或它下面的那一行),然后按 ENTER 键,这样就可以替换以前加载的任何版本的 gp:getPointInput。
3、在控制台窗口的控制台提示下输入 (gp:getPointInput) 就可以执行该函数。
4、依次输入点以响应提示,然后输入小路半宽值。


我将上面的代码复制到控制台按回车键,出现下面的提示:
GP:GETPOINTINPUT-----输入回车后出现的
_$ GP:GETPOINTINPUT----自己输入的命令
#<USUBR @046b27e4 GP:GETPOINTINPUT/>---输入命令后出现的提示。(见下图)
这是怎么回事?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 7067个

财富等级: 富甲天下

发表于 2006-10-5 22:17:17 | 显示全部楼层
_$ GP:GETPOINTINPUT
#<USUBR @03633244 GP:GETPOINTINPUT>
_$ (GP:GETPOINTINPUT)            ;; <======== Try like this
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-5 22:50:28 | 显示全部楼层
GP:GETPOINTINPUT 是你定义的函数,当然显示的是usubr了
查看 gp:getPointInput 如何工作的步骤相当于调试程序,你要先设置断点,不然你还是不知道程序的工作步骤。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-12-19 10:40:09 | 显示全部楼层
也遇到这样的问题,最后直接在CAD里加载应用程序完成测试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-12-19 11:05:25 | 显示全部楼层
_$ gp:getPointInput #<USUBR @0000000032f86750 GP:GETPOINTINPUT> _$ (gp:getPointInput) ; 错误: no function definition: *HALFWIDTH _$ 在测试时要加上()才能正确测试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-12-19 11:06:33 | 显示全部楼层
_$ gp:getPointInput
#<USUBR @0000000032f86750 GP:GETPOINTINPUT>
_$ (gp:getPointInput)
; 错误: no function definition: *HALFWIDTH
_$

带上()后才能真正进入测试状态
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-23 10:29 , Processed in 0.184432 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表