找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1752|回复: 5

[求助] [求助]:LISP程序,是循环错了还是变量问题

[复制链接]
发表于 2009-9-21 18:00:54 | 显示全部楼层 |阅读模式

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

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

×
(defun c:bili ()
   (setvar "cmdecho" 0)
   (setq re 1)
   (while (= re 1)
    (princ "\n本程序用于钻孔分层<For 2004>")
    (SETQ jq (GETreal "\n请输入钻孔分层深度:"))
    (setq jq2 (GETdist"\n请输入钻孔最后一层深度:"))
    (if (= jq2 nil)(print"未输入最大孔深"))
    (if (/= jq nil)
    (progn


    (if (<= jq2 43);小于等43米比例尺为1:200
    (progn
     (command "text" "37.667,242.086,0" "2.5" "0d" "1:200" "" )
     (setq ks1 (* jq 5))
     )
    )
         (if (> jq2 43);大于43米比例尺为1:500
        (progn
          (command "text" "37.667,242.086,0" "2.5" "0d" "1:500" "")   
          (setq ks1 (* jq 2))
         )
        )
      
    (setq pa1 (polar '(0 238) 4.712389 ks1))
    (setq pa2 (polar '(36 238) (* pi 1.5) ks1))
    (setq pa3 (polar '(46 238) (* pi 1.5) ks1))
    (command "pline" pa1 pa2 "")
    (command "pline" pa2 pa3 "")   
    )
  
  (princ "\n没有输入分层深度!")
  )
  (setq Re (getvar "useri1"))
  )
  (prompt "*************** << C:bili >> *****************")
  (prin1)
)
改了一下程序,现在可以用了,只是出现提示,说命令未定义。可有高人帮指出问题?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2009-9-21 18:47:06 | 显示全部楼层
看不懂,高人啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-9-22 01:54:51 | 显示全部楼层

我需要这个,谢谢

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

使用道具 举报

已领礼包: 7073个

财富等级: 富甲天下

发表于 2009-9-22 08:39:17 | 显示全部楼层
(command "text" "37.667,242.086,0" "2.5" "0d" "1:500" "")
===>
(command "text" "37.667,242.086,0" "2.5" "0d" "1:500")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-9-22 11:13:02 | 显示全部楼层
将(command "text" "37.667,242.086,0" "2.5" "0d" "1:200" "" )和(command "text" "37.667,242.086,0" "2.5" "0d" "1:500" "") 最后的 "" 去掉。

  1.   [FONT=courier new]
  2. (defun c:bili ()
  3.   (setvar "cmdecho" 0)
  4.   (princ "\n本程序用于钻孔分层")
  5.   (while (SETQ jq (GETreal "\n请输入钻孔分层深度:"))
  6.     (setq jq2 (GETdist"\n请输入钻孔最后一层深度:"))
  7.     (if jq2
  8.       (progn
  9.         (if (<= jq2 43);小于等43米比例尺为1:200
  10.           (progn
  11.            (command "text" "37.667,242.086,0" "2.5" "0d" "1:200")
  12.            (setq ks1 (* jq 5))
  13.           )
  14.         )
  15.         (if (> jq2 43);大于43米比例尺为1:500
  16.           (progn
  17.             (command "text" "37.667,242.086,0" "2.5" "0d" "1:500")
  18.             (setq ks1 (* jq 2))
  19.           )
  20.         )
  21.         (setq pa1 (polar '(0 238) 4.712389 ks1))
  22.         (setq pa2 (polar '(36 238) (* pi 1.5) ks1))
  23.         (setq pa3 (polar '(46 238) (* pi 1.5) ks1))
  24.         (command "pline" pa1 pa2 "")
  25.         (command "pline" pa2 pa3 "")   
  26.       )
  27.     )  
  28.     (setq Re (getvar "userr1"))
  29.   )
  30.   (prompt "*************** << C:bili >> *****************")
  31.   (prin1)
  32. )
  33.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 18:30 , Processed in 0.347986 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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