找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1031|回复: 9

[求助] [求助]:请教一个问题

[复制链接]
发表于 2007-6-7 17:42:23 | 显示全部楼层 |阅读模式

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

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

×
请教高手,在LISP中用PLINE绘线时,如何出现像直接在CAD命令行使用PLINE命令绘线出现的U[回退]字样,即如何实现回退功能?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 10404个

财富等级: 富甲天下

发表于 2007-6-7 19:13:05 | 显示全部楼层
如果是用LISP动态模拟可以这样写
(DEFUN C:TEST ()
(SETVAR "CMDECHO" 0)
(COMMAND "PLINE")
(WHILE (NOT (ZEROP (GETVAR "CMDACTIVE"))) (COMMAND PAUSE))
(PRINC)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-6-7 19:49:17 | 显示全部楼层

Re: [求助]:请教一个问题

最初由 lotos1205 发布
[B]请教高手,在LISP中用PLINE绘线时,如何出现像直接在CAD命令行使用PLINE命令绘线出现的U[回退]字样,即如何实现回退功能? [/B]


  1. <span style="background-color: rgb(204, 204, 204);">;;;练习------在响应中添加选项</span></font>
  2. <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;;;日期:zml84 于 2007-05-30</span></font>
  3. <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">defun</font> <font face="Fixedsys">C:TT</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">/</font> <font face="Fixedsys">PT</font> <font face="Fixedsys">LST</font> <font face="Fixedsys">STR</font><font color="#ff0000" face="Fixedsys">)</font>

  4.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setvar</font> <font color="#ff00ff" face="Fixedsys">"CMDECHO"</font> <font color="#009900" face="Fixedsys">0</font><font color="#ff0000" face="Fixedsys">)</font>
  5.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">if</font>        <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">PT</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">getpoint</font> <font color="#ff00ff" face="Fixedsys">"\n指点起点:"</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>

  6.         <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">progn</font>
  7.             <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">command</font> <font color="#ff00ff" face="Fixedsys">"_.pline"</font> <font color="#ff00ff" face="Fixedsys">"non"</font> <font face="Fixedsys">PT</font><font color="#ff0000" face="Fixedsys">)</font>
  8.             <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">LST</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font face="Fixedsys">PT</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>

  9.             <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">while</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">progn</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">if</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">=</font> <font color="#ff0000" face="Fixedsys">(</font><font face="Fixedsys">length</font> <font face="Fixedsys">LST</font><font color="#ff0000" face="Fixedsys">)</font> <font color="#009900" face="Fixedsys">1</font><font color="#ff0000" face="Fixedsys">)</font>

  10.                               <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">STR</font> <font color="#ff00ff" face="Fixedsys">"\n下一点:"</font><font color="#ff0000" face="Fixedsys">)</font>
  11.                               <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">progn</font>
  12.                                   <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">STR</font> <font color="#ff00ff" face="Fixedsys">"\n下一点或 [回撤(U)]:"</font><font color="#ff0000" face="Fixedsys">)</font>

  13.                                   <font color="#ff0000" face="Fixedsys">(</font><font face="Fixedsys">initget</font> <font color="#ff00ff" face="Fixedsys">"U"</font><font color="#ff0000" face="Fixedsys">)</font>
  14.                               <font color="#ff0000" face="Fixedsys">)</font>
  15.                           <font color="#ff0000" face="Fixedsys">)</font>
  16.                           <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">PT</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">getpoint</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">car</font> <font face="Fixedsys">LST</font><font color="#ff0000" face="Fixedsys">)</font> <font face="Fixedsys">STR</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>

  17.                    <font color="#ff0000" face="Fixedsys">)</font>
  18.                 <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">command</font> <font color="#ff00ff" face="Fixedsys">"non"</font> <font face="Fixedsys">PT</font><font color="#ff0000" face="Fixedsys">)</font>
  19.                 <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">if</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">=</font> <font face="Fixedsys">PT</font> <font color="#ff00ff" face="Fixedsys">"U"</font><font color="#ff0000" face="Fixedsys">)</font>

  20.                     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">LST</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">cdr</font> <font face="Fixedsys">LST</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>
  21.                     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">LST</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">cons</font> <font face="Fixedsys">PT</font> <font face="Fixedsys">LST</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>

  22.                 <font color="#ff0000" face="Fixedsys">)</font>
  23.             <font color="#ff0000" face="Fixedsys">)</font>
  24.             <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">command</font> <font color="#ff00ff" face="Fixedsys">""</font><font color="#ff0000" face="Fixedsys">)</font>
  25.         <font color="#ff0000" face="Fixedsys">)</font>
  26.     <font color="#ff0000" face="Fixedsys">)</font>

  27.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">princ</font><font color="#ff0000" face="Fixedsys">)</font>
  28. <font color="#ff0000" face="Fixedsys">)</font>
  29. </pre>

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

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2007-6-7 20:46:46 | 显示全部楼层
应当如zxq0220所说的一样吧~
大多数都不用command了
但的确有时command能带来lisp很难实现动态效果~
(这就时用时还是要用一下command的唯一理由)
zml84可能没有动态效果了哦~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2007-6-9 10:35:21 | 显示全部楼层
我猜一下怎么动态啊。。。。
可能是这样吧。
(setq pt1 (getpoint "\n指定第一点:"))
(setq pt2 (getpoint pt2 "\n指定第二点:"))
跟command没关系吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-11 12:05:17 | 显示全部楼层
zxq0220和zml84的代码都可以达到需求,多谢高手们~~!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-6-11 13:01:26 | 显示全部楼层
总算明白了,所谓“动态效果”是指橡皮筋效果吧?
<br>
3楼的代码的好处有:
1、可以对用户输入进行有效性过滤;
2、能够对选项进行自定义扩充;
3、让大家体验了一下表数据的好处。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-11 16:29:05 | 显示全部楼层
用表是很好,可是如果我需要具体的点号,像六楼那样,好象还真的不好办

比如这种情况

(DEFUN C:TEST2 ()
(setq pt1 (getpoint "\n指定第一点:"))
(while
(setq pt2 (getpoint pt1 "\n指定第二点:"))
(COMMAND "pline" PT1 "w" 0.15 "" PT2 "")
(setq pt1 pt2)
)
(PRINC)
)

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-6-11 16:47:53 | 显示全部楼层
最初由 lotos1205 发布
[B]用表是很好,可是如果我需要具体的点号,像六楼那样,好象还真的不好办 [/B]

表数据是自己根据需要建立的,其格式是相当灵活的。
在3楼的代码中,监视一下变量LST的值即可体会。
请注意这一句:
  1. (setq PT (getpoint (car LST) STR))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 09:55 , Processed in 0.441026 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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