找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1651|回复: 21

[求助] [求助]:我写的一个lsp不知道错在哪里?请指教

[复制链接]
发表于 2005-9-21 20:42:47 | 显示全部楼层 |阅读模式

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

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

×
知道顶点和三条边求一个三角型

(defun c:test()
   (setq ad (getpoint "\n选择一点:"))
   (setq a (getreal "\n一边长:"))
   (setq b (getreal "\n一边长:"))
   (setq c (getreal "\n一边长:"))
(setq bd (polar ad 0 a))
   (steq s (/ (+ (+ a b) c) 2))
   (steq area (sqrt (* s (- s a) (-s b) (-s c))))
   (steq h (/ (* 2 area) a))
   (setq a1 (sqrt (- (* c c) (* h h))))
   (steq anga (atan (/ h a1)))
(setq cd (polar ad anga c))
  (command "pline" ad bd cd "c")
     (prinl)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-9-21 21:01:55 | 显示全部楼层
错误太多:自己对照检查
  1. [FONT=courier new];|
  2. ;;;原程序
  3. (defun c:test()
  4. (setq ad (getpoint "\n选择一点:"))
  5. (setq a (getreal "\n一边长:"))
  6. (setq b (getreal "\n一边长:"))
  7. (setq c (getreal "\n一边长:"))
  8. (setq bd (polar ad 0 a))
  9. (steq s (/ (+ (+ a b) c) 2))
  10. (steq area (sqrt (* s (- s a) (-s b) (-s c))))
  11. (steq h (/ (* 2 area) a))
  12. (setq a1 (sqrt (- (* c c) (* h h))))
  13. (steq anga (atan (/ h a1)))
  14. (setq cd (polar ad anga c))
  15. (command "pline" ad bd cd "c")
  16. (prinl)
  17. )
  18. |;
  19. ;;;修改后:
  20. (defun c:test ()
  21.   (setq        ad   (getpoint "\n选择一点 : ")
  22.         a    (getreal "\n一边长 : ")
  23.         b    (getreal "\n一边长 : ")
  24.         c    (getreal "\n一边长 : ")
  25.         bd   (polar ad 0 a)
  26.         s    (/ (+ a b c) 2)
  27.         area (sqrt (* s (- s a) (- s b) (- s c)))
  28.         h    (/ (* 2 area) a)
  29.         a1   (sqrt (- (* c c) (* h h)))
  30.         anga (atan (/ h a1))
  31.         cd   (polar ad anga c)
  32.   )
  33.   (command "pline" ad bd cd "c")
  34.   (princ)
  35. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-21 21:37:41 | 显示全部楼层
露水2 兄,我谈谈自己的一点雏尧之见:
第一:你的赋值语句setq 不应该写成steq;
第二:减函数 -号要和 s分开书写;
第三:prinl 并非函数名,应该是princ
vlisp程序书写最好向xyp1964 斑竹那样,连续赋值时不要每个变量都使用setq赋值函数,可以避免错误。
该函数的格式为:
(setq 变量名 表达式 [变量名 表达式] ....) (方括号中为可选)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-21 21:52:34 | 显示全部楼层
谢谢wyp1964斑竹和似水无痕 兄!
只能说谢谢了
刚开始学,从一无所知到现在写出错的,那叫一个兴奋。今天是学习的第二天。你们指出的错误越多我进步的越快。自己检查了一下午,也没有检查到哪里错了?看见你们给我改的和指出的我才恍然明白,见笑了。
似水无痕 兄哈哈还得请教一下“雏尧”的解释?
查了词典没有找到他的意思,而且是第一次见这个词组。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-22 00:24:31 | 显示全部楼层
prinl不是函数名,不过prin1是函数名:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-22 01:21:25 | 显示全部楼层
是我自创的,你得到我的字典里找!
不好意思,我的语文水平不怎么样,让大家见笑了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-22 09:36:04 | 显示全部楼层
五楼楼主你好:
你说的prinL还是prin1(一) 前者还是后者,哪个是函数?
似水无痕,有创新的,向你学了一个新词组,哈哈快玩笑。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-22 10:47:54 | 显示全部楼层
五楼楼主 狂刀 兄说的是prin1(后面是数字一)
prin1函数功能为:将一个表达式打印(写)到命令行或一个已打开的文件中。只显示表达式,不包括换行和空格
漏水2 兄说我有创意,其实不敢当!引一个贾宝玉的话“除《四书》外,杜撰的太多,偏只我是杜撰不成?”
开个玩笑话,不要见惯!还希望漏水2 帮我改正一下,谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-22 12:04:47 | 显示全部楼层
prinl不是函数名,prin1也不是函数名!
prinl 不是函数名,prin1 才真正是函数名!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-22 12:23:50 | 显示全部楼层
prinl 可以是自定义函数,也可能不是
prin1 没有加载lsp支持,什么也不是
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-22 18:59:04 | 显示全部楼层
显示、打印功能函数
prin1(数字)将表达式打印于命令区或已打开的文件句柄字符则以"\"为前缀展开
上面写的程序是我按照吴永进老师书上的一个作业题做的。
他的例题里都是
(prin1)而不是(princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-23 14:12:36 | 显示全部楼层
配套教程上用的就是prin1(数字)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-23 18:49:10 | 显示全部楼层
又写了一个
主要想练习一下提示框
但是这个总是调不出来
不知道错在哪里?



(defun c:test()
    (setq sq (getreal "总和:")
            sw (getreal "\n数字个数:"))
   
(setq stra (strcat "总和=" (itoa sq)))
    (setq strb (strcat "数字个数=" (itoa sw)))
    (alert (strcat stra "\n"  strb ))

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

使用道具 举报

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-9-23 19:06:10 | 显示全部楼层
;输入整数不使用getreal函数
;;实数不能用itoa函数转换为字符串
;程序更改为如下:
(defun c:test()
(setq sq (getreal "总和:")
sw (getint "\n数字个数:"))

(setq stra (strcat "总和=" (rtos sq)))
(setq strb (strcat "数字个数=" (itoa sw)))
(alert (strcat stra "\n" strb ))

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

使用道具 举报

 楼主| 发表于 2005-9-23 19:30:07 | 显示全部楼层
及时
肯定
正确
谢了
哈哈
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 15:49 , Processed in 0.357202 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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