satishrajdev 发表于 2022-7-6 06:49:26

错误:错误的参数类型:poin

大家好,
 
我正在编写一个lisp,如下所示:_
 
(defun c:1 (/ bpt cpt sbpt bppt kpd pt)

(setq bpt (getpoint "\nPick 0.0 KP: "))
(While (setq cpt (getpoint factp "\nPick KP point: ")
   sbpt (getpoint factp "\nPick Seabed Level: ")
   bppt (getpoint factp "\nPick Bottom Point of Pipe: ")
)

(setq kpd (rtos (distance bpt cpt)2 3))

(setq pt (rtos (distance sbpt bppt)2 3))

(alert (strcat "\n\ RESULT\t" ;;; Display the stuff
"\n"
"\n\KP value = " kpd
"\n"
"\n\Distance = " pt
       )
)
)
(princ)
)
 
但它给出了错误,即:-
error: bad argument type: point: nil
 
请帮我纠正一下
 
谢谢

gS7 发表于 2022-7-6 07:03:00

这是你的问题
 
(setq cpt(getpoint factp“\n点击KP点:”)
 
换成
 
(setq cpt(getpoint bpt“\n点击KP点:”)
 
再次运行
 
 
 
(defun c:1 (/ bpt cpt sbpt bppt kpd pt)

(setq bpt (getpoint "\nPick 0.0 KP: "))
(While (setq cpt (getpoint bpt "\nPick KP point: ")
   sbpt (getpoint bpt "\nPick Seabed Level: ")
   bppt (getpoint bpt "\nPick Bottom Point of Pipe: ")
)

(setq kpd (rtos (distance bpt cpt)2 3))

(setq pt (rtos (distance sbpt bppt)2 3))

(alert (strcat "\n\ RESULT\t" ;;; Display the stuff
"\n"
"\n\KP value = " kpd
"\n"
"\n\Distance = " pt
       )
)
)
(princ)
)
 
 
 
具有零值的变量factp
 
所以它返回错误:错误的参数类型:点:nil

satishrajdev 发表于 2022-7-6 07:13:13

非常感谢ganesh da:)
 
我没有注意到
 
Lisp现在正在为我完美地工作

gS7 发表于 2022-7-6 07:22:10

最受欢迎的satishrajdev
 
并尝试用李的调试工具来调试程序。
 
http://www.lee-mac.com/debugvlide.html
 
当做
甘尼什

satishrajdev 发表于 2022-7-6 07:30:13

非常感谢
 
那个很棒的yaar,它将帮助我发现更多错误。。。。。

gS7 发表于 2022-7-6 07:33:36

是的,它当然会告诉你错误
 
所有的功劳都归李先生所有

Lee Mac 发表于 2022-7-6 07:48:38

我建议进行以下修改:
(defun c:1 ( / bpt cpt sbpt bppt )
   (if (setq bpt (getpoint "\nPick 0.0 KP: "))
       (while
         (and
               (setq cpt(getpoint bpt "\nPick KP point: "))
               (setq sbpt (getpoint bpt "\nPick Seabed Level: "))
               (setq bppt (getpoint bpt "\nPick Bottom Point of Pipe: "))
         )
         (alert
               (strcat
                   "RESULT\n\nKP value = " (rtos (distancebptcpt) 2 3)
                   "\nDistance = "         (rtos (distance sbpt bppt) 2 3)
               )
         )
       )
   )
   (princ)
)
 
这说明了用户拒绝第一个提示,或未能在while循环中提供所有三个点的情况。
 
感谢您推荐gS7

gS7 发表于 2022-7-6 07:57:24

最受欢迎的李
页: [1]
查看完整版本: 错误:错误的参数类型:poin