明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1793|回复: 12

[源码] 错误: 参数类型错误: numberp: nil

[复制链接]
发表于 2016-6-29 17:23:00 | 显示全部楼层 |阅读模式
(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 (+ 1  HOLENO))
             )
          )
        )
     )
   (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)
)


各位大哥,请问这个程序错在哪里?
发表于 2016-6-30 00:43:24 | 显示全部楼层
此程序只支持圆、圆弧、直线,不支持多段线!
 楼主| 发表于 2016-6-30 12:53:06 | 显示全部楼层
xiaolong1487 发表于 2016-6-30 00:43
此程序只支持圆、圆弧、直线,不支持多段线!

你好,如果让程序支持直线和由直线和圆弧串接的多义线的话,是不是要做很大改动?
 楼主| 发表于 2016-6-30 13:24:03 | 显示全部楼层
xiaolong1487 发表于 2016-6-30 00:43
此程序只支持圆、圆弧、直线,不支持多段线!

你好,能不能帮请你在程序上加几句代码,把计算结果用TEXT文本写出来
发表于 2016-6-30 20:46:27 | 显示全部楼层
改动了一下.

本帖子中包含更多资源

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

x
 楼主| 发表于 2016-6-30 21:28:01 | 显示全部楼层
waterchen 发表于 2016-6-30 20:46
改动了一下.

多谢waterchen ,程序很好用,也精简了不少
能不能请你加几句代码,把计算结果用TEXT文本写出来,有点贪心,,,惭愧
曾尝试比对了多个有写TEXT文本的程序,想拆借其中的语句拼接起来,都没成功
发表于 2016-7-1 10:37:53 | 显示全部楼层
皇上快溜 发表于 2016-6-30 21:28
多谢waterchen ,程序很好用,也精简了不少
能不能请你加几句代码,把计算结果用TEXT文本写出来,有点贪 ...

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

本帖子中包含更多资源

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

x
 楼主| 发表于 2016-7-1 14:03:49 | 显示全部楼层
waterchen 发表于 2016-7-1 10:37
已增加写至txt文件,路径可以在lisp改你想要的。

谢谢你,辛苦了
 楼主| 发表于 2016-7-1 21:45:24 | 显示全部楼层
waterchen 发表于 2016-7-1 10:37
已增加写至txt文件,路径可以在lisp改你想要的。

你好,程序最后写写txt文件没成功。我曾想先根据你的蓝本自己折腾一下,,,折腾一下也没摸到边,无奈,想再次麻烦你一回,好吗,
 楼主| 发表于 2016-7-1 22:21:35 | 显示全部楼层
本帖最后由 皇上快溜 于 2016-7-1 22:23 编辑

发错,,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-20 08:56 , Processed in 0.181774 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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