找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1801|回复: 15

[求助] [求助]:如何使area命令等待我选点??急!!!

[复制链接]
发表于 2005-8-5 19:03:55 | 显示全部楼层 |阅读模式

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

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

×
prompt "\n请准备捕捉计算面积:")
                                            (command "area" )
        (setq s_0 (getvar "area"))
        (setq s (/ s_0 cos_jd)) )
……
在以上语句中,执行完area后直接执行下边的语句了,而没有让我选点,应该如何呀。

找了一下午了!!!!555555555555555555555
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-8-5 19:44:16 | 显示全部楼层
(command "area" "o")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-5 19:50:03 | 显示全部楼层
(defun c:chuliang_s()
(setvar "blipmode" 0)
(prompt "\n面积计算  二○○五年八月五日")

        (setq yesno (getstring "\n是手工输入面积值吗?(手工输入 y /捕捉量取 n)"))
  
                (if (=  yesno "y")
                  
                          ( progn
                          (setq s_0 (getreal "\n请输入平面面积(平方米):"))
                                                   
                          )
                  
                          (progn
                                (prompt "\n请准备捕捉计算面积:")
                                            (command "area" "o" ) ;;在此需要捕捉若干角点,因为图形比较复杂,也不知道是否闭合……
                                            (setq s_0 (getvar "area"))
                                         
                          
                          )
                  
                  )
                  
  
;;放置平面面积
                (setq aa_zifu (rtos s_0 2 0))
                          (setq aa_point (getpoint "\n请指定放置平面面积位置:"))  ;;指定放置点
                                (command "text" aa_point ht 0 aa_zifu)        ;;自动放置



                  (setvar "osmode" 16383)
  
(prin1)
)
(prompt "\n面积计算 chuliang_s 二○○五年八月五日")
(prin1)



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

使用道具 举报

发表于 2005-8-5 20:39:14 | 显示全部楼层
连续几个帖子都是引用cad命令又搞不清楚交互方式造成的,
建议在用command之前调用以下cad命令试试,即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-6 02:02:46 | 显示全部楼层
cad下可以,但一到lisp中就不行了,逐句调试也通过了。
我这里是小地方,找不到可以探讨的人,麻烦了。
但这个忙请帮一下好吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-6 08:35:28 | 显示全部楼层
[php](defun c:test ()
  (setq pt0 (getpoint"\n面积起点 : "))
  (command"area" pt0)
  (while (setq pt1 (getpoint pt0"\n下一点<退出> : "))
    (command pt1)
    (setq pt0 pt1)
    )
  (command)
  (setq s_0 (getvar "area"))
  (princ (rtos s_0 2 2))
  (princ)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-6 09:04:47 | 显示全部楼层
3楼修改:
  1. [FONT=courier new]
  2. (defun c:chuliang_s ()
  3.                                         ;(cmdla0)
  4.   (setvar "blipmode" 0)
  5.   (setvar "cmdecho" 0)
  6.   (setq
  7.     yesno (getstring "\n是手工输入面积值吗?(手工输入 y /捕捉量取 n)")
  8.   )
  9.   (if (= yesno "y")
  10.     (setq s_0 (getreal "\n请输入平面面积(平方米):"))
  11.     (progn
  12.       (setq pt0 (getpoint "\n面积起点 : "))
  13.       (command "area" pt0)
  14.       (while (setq pt1 (getpoint pt0 "\n下一点<退出> : "))
  15.         (command pt1)
  16.         (setq pt0 pt1)
  17.       )
  18.       (command)
  19.       (setq s_0 (getvar "area"))
  20.     )
  21.   )
  22.   ;;放置平面面积
  23.   (setq aa_zifu (rtos s_0 2 0))
  24.   (setq aa_point (getpoint "\n请指定放置平面面积位置:"))
  25.   ;;指定放置点
  26.   (command "text" "j" "mc" aa_point "300" 0 aa_zifu)
  27.   ;;自动放置
  28.   (setvar "osmode" 16383)
  29.   (prin1)
  30.                                         ;(cmdla1)
  31. )
  32. (prompt "\n面积计算 : chuliang_s")
  33. (prin1)[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-6 11:19:38 | 显示全部楼层
成功,谢谢了!真的太谢谢了!!!


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

使用道具 举报

发表于 2005-8-6 22:01:14 | 显示全部楼层
最初由 cy956 发布
[B]连续几个帖子都是引用cad命令又搞不清楚交互方式造成的,
。。。。。。 [/B]


是呀,以下这两个帖子

1.如何执行line命令后显示ok
2.如何画完云线(revcloud命令)再回到原图层

都是讨论怎样先执行一个autocad命令再返回lisp程序的问题。

要搞清这个问题, 必须首先把command 函数的概念搞清才行。这也是我在上述第一个帖子 中才弄明白的。

然后,必须知道如何让lisp程序知道autocad命令的执行情况,通用的方法应该是使用vlr-command-reactor 函数(AutoCAD 命令反应器),用法和例子在上述第二个帖子里。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-6 23:30:42 | 显示全部楼层
谢谢豆包,您推荐的两个帖子我都看了一遍,收获较大,我现在急于用最简单的语句来解决一些简单的问题,自学近一个月来长进不少,我是边学边解决一些问题。因此提出的一些问题可能比较稚嫩,见笑了!
我还要请您解决一个问题,7楼老师的帖子我一开始试的时候结果很好,但试的次数多了后,就总是返回0值,不知为什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-7 00:05:41 | 显示全部楼层
(defun c:chuliang_s ()
                                        ;(cmdla0)
  (setvar "blipmode" 0)
  (setvar "cmdecho" 0)
  (setq
    yesno (getstring "\n是手工输入面积值吗?(手工输入 y /捕捉量取 n)")
  )
  (if (= yesno "y")
    (setq s_0 (getreal "\n请输入平面面积(平方米):"))
    (progn
      (setq pt0 (getpoint "\n面积起点 : "))
      (command "area" pt0)
      (while (setq pt1 (getpoint pt0 "\n下一点<退出> : "))
        (command pt1)
        (setq pt0 pt1)
      )
     (command "")                     ;<--------------------------把这行改为这个就行了
      (setq s_0 (getvar "area"))
    )
  )
  ;;放置平面面积
  (setq aa_zifu (rtos s_0 2 0))
  (setq aa_point (getpoint "\n请指定放置平面面积位置:"))
  ;;指定放置点
  (command "text" "j" "mc" aa_point "300" 0 aa_zifu)
  ;;自动放置
  (setvar "osmode" 16383)
  (prin1)
                                        ;(cmdla1)
)
(prompt "\n面积计算 : chuliang_s")
(prin1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-7 00:16:24 | 显示全部楼层
最初由 doubao 发布
[B]

是呀,以下这两个帖子

[URL=http://p4.xdcad.net/forum/showthread.php?s=&postid=... [/B]

尽量不要用vlr-command-reactor 函数,这可不是“通用的方法”。
修改:
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR]
  11. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  12. [url]http://www.mjtd.com/bbs/dispbbs.asp?boardID=3&ID=37554&page=1[/url]|;

  13. (defun c:chuliang_s ()
  14.   (cmdla0)
  15.   (setq TX1 (UKWORD 1 "1 2" "\n1-手工输入面积值/2-捉量取" TX1))
  16.   (if (= TX1 "1")
  17.     (setq s_0 (getreal "\n请输入平面面积(平方米):"))
  18.     (progn
  19.       (setq pt0 (getpoint "\n面积起点 : "))
  20.       (command "area" pt0)
  21.       (while (setq pt1 (getpoint pt0 "\n下一点<退出> : "))
  22.         (grvecs (list 1 pt0 pt1))
  23.         (command pt1)
  24.         (setq pt0 pt1)
  25.       )
  26.       (command "")
  27.       (setq s_0 (getvar "area"))
  28.     )
  29.   )
  30.   (setq        aa_zifu         (rtos s_0 2 0)
  31.         aa_point (getpoint "\n请指定面积放置点 : ")
  32.   )
  33.   (command "text" "j" "mc" aa_point "300" 0 aa_zifu)
  34.   (cmdla1)
  35. )
  36. (prompt "\n面积计算 : chuliang_s")
  37. (princ)[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-7 01:03:46 | 显示全部楼层
谢谢高手们的指教,一个月来,是这个论坛给我树立了信心,也解决了不少实用的问题。谢谢高手们了!!!!
我今天晚上可以睡觉了!!!

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

使用道具 举报

发表于 2005-8-7 01:40:22 | 显示全部楼层
前几天都没睡觉?精神可嘉
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-7 10:57:28 | 显示全部楼层
最初由 xyp1964 发布
[B]
尽量不要用vlr-command-reactor 函数,这可不是“通用的方法”。
... [/B]

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 11:11 , Processed in 0.285080 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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