找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 741|回复: 7

[求助]:如何等待用户的多个输入?

[复制链接]
发表于 2005-4-9 18:41:23 | 显示全部楼层 |阅读模式

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

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

×
(command "-bhatch" "p" "solid" pause " ")

我想用上面的语句实现直接填充,但是-bhatch点选的时候是可以多选的,我这句只能点选一次,应该怎么样才可以实现多选?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-9 22:37:13 | 显示全部楼层
可以把最后面的" "去掉看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 00:35:26 | 显示全部楼层
我想实现这样的语句
(defun c:test()
(command "-color" "254")
(command "-bhatch" "p" "solid" pause)
(command "-color" "bylayer")
)
就是想换个颜色填充,然后设回原来的颜色。去掉最后的“”以后,好像最后就不能设回原来的颜色了,该怎么处理。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-10 12:17:52 | 显示全部楼层
你的程序里面采用的是增加选择方式,就是用鼠标逐一点选添加,这不利于判断你究竟需要选择多少个编辑对象。这样处理你看行不行,改为窗选选择对象的方式。这样选择的缺点是当图形中编辑对象比较多的时候可能会误选。你可以根据实际情况取舍我的建议。


  1.   [FONT=courier new]
  2. (defun c:test()
  3. (command "-color" "254")
  4. (command "-bhatch" "p" "solid" "s" "w" pause pause "" "")
  5. (command "-color" "bylayer")
  6. )
  7.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 13:46:52 | 显示全部楼层
其实我想实现的功能很简单,就是换一个颜色进行填充,然后切换会原来的图层的颜色。
-bhatch可以实现点选填充内部啊,自动分析边界。如果用窗选就没有优势了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-4-11 00:44:36 | 显示全部楼层
(defun c:test()
(command "-bhatch" "p" "solid" pause)
(while (= (getvar "cmdnames") "-BHATCH") (command pause))
(command "")
(command "line" "0,0,0" "10,10,0" "")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-11 13:47:35 | 显示全部楼层

感谢大大的帮助!

我也想过用while循环来实现不断pause,但是初学lisp,什么都不懂,不知道用什么来判断,现在好了,呵呵,拼凑了个快速自动填充的程序,做在菜单中,可以实现快速自动填充经常需要的样式。

  1.   [FONT=courier new]
  2. (defun quickhatch(HatchLayer HatchColor HatchStyle HatchX HatchAngle / CurentLayer CurentColor)
  3.     (setq CurentLayer (getvar "clayer"))
  4.     (setq CurentColor (getvar "cecolor"))
  5.     (if (= (tblsearch "layer" Hatchlayer) nil)
  6.         (progn
  7.            (initget "Yes No")
  8.            (if (= (getkword "填充层不存在,是否新建?(Yes/No):") "No")
  9.             (progn
  10.               (princ "放弃填充!\n")
  11.               (exit)
  12.             )
  13.             (progn
  14.               (command "-layer" "n" HatchLayer "c" HatchColor HatchLayer "")
  15.             )
  16.            )
  17.          )
  18.       )
  19.               (setvar "clayer" HatchLayer)
  20.               (setvar "cecolor" HatchColor)
  21.               (princ "点选填充区域:")
  22.               ( if (= HatchStyle "solid")
  23.                    (progn
  24.                      (command "-bhatch" "p" HatchStyle "dr" "b" pause)
  25.                      (while (= (getvar "cmdnames") "-BHATCH") (command pause))
  26.                    )
  27.                    (progn
  28.                      (command "-bhatch" "p" HatchStyle HatchX HatchAngle "dr" "b" pause)
  29.                      (while (= (getvar "cmdnames") "-BHATCH") (command pause))
  30.                    )
  31.               )
  32.                
  33.              (setvar "clayer" CurentLayer)
  34.              (setvar "cecolor" CurentColor)
  35. )
  36.   [/FONT]


我现在用这个命令是只能放在菜单中。因为定义成了函数。这样用鼠标右键就没法重复了,只能不断的选菜单。
但是如果定义成了CAD的命令,这样又不知道怎么传递参数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 06:11 , Processed in 0.190870 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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