皇上快溜 发表于 2016-6-29 17:23:00

错误: 参数类型错误: numberp: nil

(DEFUN C:XGF()
(SETQ A (SSGET))
(SETQ N (SSLENGTH A))
(SETQ UNIPRS (getreal "价格:"))
(SETQ THICK (getreal "厚度:"))
(SETQ MINPRS1 (GETREAL "每孔的最低价格:<80>"))
(IF (= MINPRS1 nil) (SETQ MINPRS 80) (SETQ MINPRS MINPRS1))
(SETQ INDEX 0)
(SETQ TL 0)
(SETQ HOLENO 0)
(SETQ TLPRS 0)
(REPEAT N
   (SETQ B (ENTGET (SSNAME A INDEX)))
   (SETQ INDEX (1+ INDEX))
   (SETQ B1 (ASSOC 0 B))
   (IF (= "LINE" (CDR B1))
       (PROGN
         (SETQ SP (ASSOC 10 B))
         (SETQ SPC (CDR SP))
         (SETQ EP (ASSOC 11 B))
         (SETQ EPC (CDR EP))
         (SETQ LD (DISTANCE SPC EPC))
         (SETQ UTPRS (* UNIPRS (* LD THICK)))
      )
   )
   (IF (= "CIRCLE" (CDR B1))
       (PROGN
         (SETQ RA (ASSOC 40 B))
         (SETQ RAL (CDR RA))
         (SETQ LD (* 2 (* Pi RAL)))
         (SETQ UTPRS1 (* UNIPRS (* LD THICK)))
         (SETQ UTPRS UTPRS1)
         (IF (< UTPRS1 MINPRS)
             (PROGN
               (SETQ UTPRS 0)
               (SETQ LD 0)
               (SETQ HOLENO (+ 1HOLENO))
             )
          )
      )
   )
   (IF (= "ARC" (CDR B1))
       (PROGN
         (SETQ RA (ASSOC 40 B))
         (SETQ RAL (CDR RA))
         (SETQ AS (ASSOC 50 B))
         (SETQ ASV (CDR AS))
         (SETQ AE (ASSOC 51 B))
         (SETQ AEV (CDR AE))
         (IF (< AEV ASV) (SETQ ASV (- ASV (* 2 Pi))))
         (SETQ LD (* RAL (ABS (- AEV ASV))))
         (SETQ UTPRS (* UNIPRS (* LD THICK)))
       )
   )
    (SETQ TL (+ TL LD))
    (SETQ TLPRS (+ TLPRS UTPRS))
    (SETQ THPRS (* MINPRS HOLENO))
    (SETQ TPRS (+ TLPRS THPRS))
)
(TEXTSCR)(TERPRI)
(PROMPT "******************************************************************")(TERPRI)
(princ "$")(PRINC MINPRS)(PRINC " * ")(PRINC HOLENO)(PRINC "    +    ")(princ "$")(PRINC UNIPRS)
(PRINC " * ")(PRINC THICK)(PRINC " * ")(PRINC TL)(PRINC "   = ")(princ "$")(PRINC TPRS)(TERPRI)
(PROMPT "******************************************************************")(TERPRI)
)


各位大哥,请问这个程序错在哪里?

xiaolong1487 发表于 2016-6-30 00:43:24

此程序只支持圆、圆弧、直线,不支持多段线!

皇上快溜 发表于 2016-6-30 12:53:06

xiaolong1487 发表于 2016-6-30 00:43 static/image/common/back.gif
此程序只支持圆、圆弧、直线,不支持多段线!

你好,如果让程序支持直线和由直线和圆弧串接的多义线的话,是不是要做很大改动?

皇上快溜 发表于 2016-6-30 13:24:03

xiaolong1487 发表于 2016-6-30 00:43 static/image/common/back.gif
此程序只支持圆、圆弧、直线,不支持多段线!

你好,能不能帮请你在程序上加几句代码,把计算结果用TEXT文本写出来

waterchen 发表于 2016-6-30 20:46:27

改动了一下.

皇上快溜 发表于 2016-6-30 21:28:01

waterchen 发表于 2016-6-30 20:46 static/image/common/back.gif
改动了一下.

多谢waterchen ,程序很好用,也精简了不少
能不能请你加几句代码,把计算结果用TEXT文本写出来,有点贪心,,,惭愧
曾尝试比对了多个有写TEXT文本的程序,想拆借其中的语句拼接起来,都没成功

waterchen 发表于 2016-7-1 10:37:53

皇上快溜 发表于 2016-6-30 21:28 static/image/common/back.gif
多谢waterchen ,程序很好用,也精简了不少
能不能请你加几句代码,把计算结果用TEXT文本写出来,有点贪 ...

已增加写至txt文件,路径可以在lisp改你想要的。

皇上快溜 发表于 2016-7-1 14:03:49

waterchen 发表于 2016-7-1 10:37 static/image/common/back.gif
已增加写至txt文件,路径可以在lisp改你想要的。

谢谢你,辛苦了

皇上快溜 发表于 2016-7-1 21:45:24

waterchen 发表于 2016-7-1 10:37 static/image/common/back.gif
已增加写至txt文件,路径可以在lisp改你想要的。

你好,程序最后写写txt文件没成功。我曾想先根据你的蓝本自己折腾一下,,,折腾一下也没摸到边,无奈,想再次麻烦你一回,好吗,

皇上快溜 发表于 2016-7-1 22:21:35

本帖最后由 皇上快溜 于 2016-7-1 22:23 编辑

发错,,,,
页: [1] 2
查看完整版本: 错误: 参数类型错误: numberp: nil