butelys 发表于 2022-7-5 23:01:33

错误:输入列表格式不正确

大家好,需要一些lisp的帮助,请在错误处划线。
 
我修正了你告诉大家的,但新的错误来了,不知道去哪里找。编辑了程序。
 
错误:错误的参数类型:numberp:nil
 
;Funkcija pavercianti laipsnius i radianus

(defun dtr (alfa)
(* pi (/ alfa 180.0))
)
;Duomenų įvedimas

(defun duom ()
(setq t0 (getpoint "\n Pažymėti pradžios tašką t0:"))
(if (null t0) (setq t0 (list 10.0 10.0)))
(setq h (getdist "\n Įveskite aukšti h: <30>:"))
(if (null h) (setq h 30))
(setq L (getdist "\n Įveskite ilgį L: <25>:"))
(if (null L) (setq L 25))
(setq R1 (getdist "\n Įveskite spindulį R1: <9>:"))
(if (null R1) (setq R1 9))
(setq R2 (getdist "\n Įveskite spindulį R2: <18>:"))
(if (null R2) (setq R2 18))
(setq W (getdist "\n Įveskite linijos plotį W: <0.5>:"))
(if (null W) (setq W 0.5))
)
;Koordinačių priskyrimas

(defun koord ()
(setq t1 (polar t0 (dtr 90) h))
(setq t2 (polar t1 (dtr 0) (- L R1)))
(setq T3 (polar t2 (dtr 270) R1))
(setq t4 (list (+ (- L R1) (- (sqrt(- (* (+ R1 R2) (+ R1 R2)) (* (- h R1) (- h R1)))) (/(* (sqrt(- (* (+ R1 R2) (+ R1 R2)) (* (- h R1) (- h R1)))) R2) (+ R1 R2)))) (/(* R2 (- h R1)) (+ R1 R2))))
(setq T6 (list (+ (car t3) (sqrt(- (* (+ R1 R2) (+ R1 R2)) (* (- h R1) (- h R1))))) (cadr t0)))
(setq t5 (list (- (car T6) R2) (cadr t0)))
)
;--Braižymas
   (defun braiz ()
    (command "PLINE" t0 "w" W "" t1 t2 "ARC" "A" "-90" "CE" t3 t4 "CE" T6 t5 "L" t0 "")
(setq pl (entlast))
   (command "hatch" "ansi31" 1 0 pl "")
   )
;Pagrindine programa
(defun C:PRZC()
(duom)
(koord)
(braiz)
(princ)
)

dbroada 发表于 2022-7-5 23:05:14

我不会回答,但会指出,如果您使用了
tags you wouldn't get the smiley faces.

neophoible 发表于 2022-7-5 23:10:59

这似乎是最令人反感的部分。首先,请看下面的内容。我没有试着检查日常生活。我只指出你在某处遗漏了几个括号。这只是一个示例更正。
;Koordinaciu priskyrimas
(defun koord ()
; use setq, don't write equations (except as comments)
s1=(+ R1 R2)
s2=(sqrt(-(* s1 s1) (* (- h R1) (- h R1))))
s3=(/(* s2 R2) s1)
(setq t1 (polar t0 (dtr 90) h))
(setq t2 (polar t1 0 (- L R1)))
(setq T3 (polar t2 (dtr 270) R))
(setq t4 (list (+ (- L R1) (- s2 s3)) (/(* R2 (- h R1)) s1) ))
(setq t5 (list (- (car T6) R2) (cadr t0)) )
   (setq T6 (list (+ (car t3) s2) (cadr t0)) )
)

butelys 发表于 2022-7-5 23:12:37

按照你说的改变了程序,但错误变了。有什么想法吗?

neophoible 发表于 2022-7-5 23:15:05

当然这里有三点:1。修复第一个条目,将其包含在代码标记中。2、在代码标签中发布最新版本。3、报告您遇到的错误。
 
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南

butelys 发表于 2022-7-5 23:20:30

看看第一篇文章,它是经过编辑的。

neophoible 发表于 2022-7-5 23:21:03

也许吧,但你忘了回复其他评论。

butelys 发表于 2022-7-5 23:26:07

对不起,我是新来的。按你的要求编辑所有内容。

hmsilva 发表于 2022-7-5 23:29:28

也许是这样的

Code:
;Funkcija pavercianti laipsnius i radianus

(defun dtr (alfa)
(* pi (/ alfa 180.0))
)
;Duomenu ivedimas

(defun duom ()
(setq t0 (getpoint "\n Pažymeti pradžios taška t0:"))
(if (null t0) (setq t0 (list 10.0 10.0)))
(setq h (getdist "\n Iveskite aukšti h: <30>:"))
(if (null h) (setq h 30))
(setq L (getdist "\n Iveskite ilgi L: <25>:"))
(if (null L) (setq L 25))
(setq R1 (getdist "\n Iveskite spinduli R1: <9>:"))
(if (null R1) (setq R1 9))
(setq R2 (getdist "\n Iveskite spinduli R2: <18>:"))
(if (null R2) (setq R2 18))
(setq W (getdist "\n Iveskite linijos ploti W: <0.5>:"))
(if (null W) (setq W 0.5))
)
;Koordinaciu priskyrimas

(defun koord ()
(setq t1 (polar t0 (dtr 90) h))
(setq t2 (polar t1 (dtr 0) (- L R1)))
(setq T3 (polar t2 (dtr 270) R1));; R don't exists I did change it to R1 for testing...
(setq t4 (list (+ (- L R1) (- (sqrt(- (* (+ R1 R2) (+ R1 R2)) (* (- h R1) (- h R1)))) (/(* (sqrt(- (* (+ R1 R2) (+ R1 R2)) (* (- h R1) (- h R1)))) R2) (+ R1 R2)))) (/(* R2 (- h R1)) (+ R1 R2))))
;(setq t5 (list (- (car T6) R2) (cadr t0)));; T6 is not set yet
(setq T6 (list (+ (car t3) (sqrt(- (* (+ R1 R2) (+ R1 R2)) (* (- h R1) (- h R1))))) (cadr t0)))
(setq t5 (list (- (car T6) R2) (cadr t0)))
)
;--Braižymas
   (defun braiz ()
    (command "PLINE" t0 "w" W "" t1 t2 "ARC" "A" "-90" "CE" t3 t4 "CE" T6 t5 "L" t0 "")
(setq pl (entlast))
   (command "hatch" "ansi31" 1 0 pl "")
   )
;Pagrindine programa
(defun C:PRZC()
(duom)
(koord)
(braiz)
(princ)
)
HTH
亨里克

butelys 发表于 2022-7-5 23:31:07

谢谢hmsilva,有人能告诉我这条线有什么不好的地方吗,还是我的设定值有问题?附上照片,我想得到什么,我得到什么。
(command "PLINE" t0 "w" W "" t1 t2 "ARC" "A" "-90" "CE" T3 t4 "CE" T6 t5 "L" t0 "")

页: [1] 2
查看完整版本: 错误:输入列表格式不正确