找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: daziran

[求助] [求助]:Lisp程序作图的显示问题

[复制链接]
发表于 2003-7-24 08:27:34 | 显示全部楼层
最初由 daziran 发布
[B]谢谢nuance   。
谢谢aeo 。不是用运行时间控制。而是人为在任一时间控制。比如你抽完了一支烟后。:)
谢谢cy956 ,我好好看看代码 [/B]

你可以用GRREAD函数,当点击鼠标,或按任意键继续执行。

  1.   [FONT=courier new]
  2. (defun c:k2 ()                                ;画一条Pline线->矩形框
  3.   (setq        pt1 '(0 0)
  4.         pt2 '(200 0)
  5.         pt3 '(200 100)
  6.         pt4 '(0 100)
  7.   )
  8.   (command "pline" pt1)
  9.   (command pt2)
  10.   (grread)
  11.   (command pt3)
  12.   (grread)
  13.   (command pt4)
  14.   (grread)
  15.   (command "C")
  16. )
  17.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-24 09:16:24 | 显示全部楼层
问题解决了!

  1. (defun c:k2 ()        ;画动态画矩形框(一条PLINE线)
  2.   (setq        pt1 '(0 0)
  3.         pt2 '(200 0)
  4.         pt3 '(200 100)
  5.         pt4 '(0 100)
  6.   )
  7.   (command "pline" pt1)
  8.   (command pt2)
  9.   (princ)
  10.   (repeat 300000)
  11.   (command pt3)
  12.   (princ)
  13.   (repeat 300000)
  14.   (command pt4)
  15.   (princ)
  16.   (repeat 300000)
  17.   (command "C" "")
  18. )

原来问题是:总是最后一次同时显示各段线,现在增加了princ 后就可以强迫分段显示了。
感谢各位,这种积极的探讨帮助我开阔思维。特别是lijiao  的程序推动我想到了 princ 。

晓东可以关注一下这个主题。它的典型性在于:
1.问题不复杂,但有一定难度,教科书上没有。
2.大家积极参与,既热心又体现了丰富的思维,推动提问者提高。
3.问题解决了。
4.本主题的结果不是解决一个具体程序问题,而是找到解决问题的一种思路。

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

使用道具 举报

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-8-2 22:38:50 | 显示全部楼层
最初由 daziran 发布
[B]问题解决了!
(defun c:k2 ()        ;画动态画矩形框(一条PLINE线)
  (setq        pt1 '(0 0)
        pt2 '(200 0)
        pt3 '(200 100)
        pt4 '(0 100)
  ...  [/B]


你用repeat,机器不同是不一样的.快的机器可能一闪而过,所以不好.

用时间的方法好.

  1. (defun time-sec(t1 t2)                     ;秒相减
  2. (if(< t2 t1)(+ 60(- t2 t1))(- t2 t1))
  3. )

  4. ;停留的秒数
  5. ;写的不好,只考虑的秒,没考虑毫秒.
  6. (defun delay(n / a time1 time2)      
  7. (setq time1(atoi(substr(rtos(getvar "CDATE")2 6)14 2)) a t)
  8. (while a
  9.   (setq time2(atoi(substr(rtos(getvar "CDATE")2 6)14 2)))
  10.   (if(>(time-sec time1 time2) n)(setq a nil))
  11. )(princ)
  12. )

  13. (defun c:test( /  a pt1 )   ;你要的!!
  14. (setq        pt1 '(0 0)
  15.         pt2 '(200 0)
  16.         pt3 '(200 100)
  17.         pt4 '(0 100)
  18.         li (list pt1 pt2 pt3 pt4 "")
  19.   )
  20. (command "pline")
  21. (repeat (length li)
  22. (setq a(car li) li(cdr li))
  23. (command a)
  24. (delay 1)           ;停一秒,由于没考虑毫秒,可能就变成了两秒
  25. )
  26. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-4 08:51:23 | 显示全部楼层
最初由 aeo 发布
[B]

你用repeat... [/B]

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

使用道具 举报

 楼主| 发表于 2003-8-8 00:05:45 | 显示全部楼层
恩,aeo 说得不错。谢谢
lijiao  说的需要人工干预,不是我的本意。也谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-1-3 20:20:12 | 显示全部楼层
这样可以否?:
[PHP]
(defun c:k2 ()                                ;画一条Pline线->矩形框
  (setq        pt1 '(0 0)
        pt2 '(200 0)
        pt3 '(200 100)
        pt4 '(0 100)
  )
  (command "pline" pt1)
  (command pt2)
  (GETSTRING)
  (command pt3)
  (GETSTRING)
  (command pt4)
  (GETSTRING)
  (command "C")
  (PRINC)
)
[/PHP]

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 19:18 , Processed in 0.176659 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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