找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2566|回复: 23

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

[复制链接]
发表于 2003-7-22 00:52:59 | 显示全部楼层 |阅读模式

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

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

×
目标:用Pline画一个矩形框。两条线之间在显示上要有明显的“停顿”。
问题:函数k1可以实现,函数k2无法实现目标,而我要的是k2(一条Pline)。
求助:大家给看看,有没有系统变量或者程序设置控制可以实现?

  1. (defun c:k1 ()                                ;画四条Pline线->矩形框
  2.   (setq        pt1 '(0 0)
  3.         pt2 '(200 0)
  4.         pt3 '(200 100)
  5.         pt4 '(0 100)
  6.   )
  7.   (command "pline" pt1 pt2 "")
  8.   (repeat 300000)
  9.   (command "pline" pt2 pt3 "")
  10.   (repeat 300000)
  11.   (command "pline" pt3 pt4 "")
  12.   (repeat 300000)
  13.   (command "pline" pt4 pt1 "")
  14. )

  15. (defun c:k2 ()                                ;画一条Pline线->矩形框
  16.   (setq        pt1 '(0 0)
  17.         pt2 '(200 0)
  18.         pt3 '(200 100)
  19.         pt4 '(0 100)
  20.   )
  21.   (command "pline" pt1)
  22.   (command pt2)
  23.   (repeat 300000)
  24.   (command pt3)
  25.   (repeat 300000)
  26.   (command pt4)
  27.   (repeat 300000)
  28.   (command "C" "")
  29. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-7-22 08:21:11 | 显示全部楼层
希奇,人人都希望速度快一点,你却反其道二行之。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-22 08:54:06 | 显示全部楼层
我运行了你的程序,可以生成PLINE 线
你运行时 捕捉模式是不是打开呢?如果打开结果就不对了!
你是个不怕麻烦的人,我不是。所以我如果写这个程序,我会这样写:
(defun c:k2 ()                       
  (setq        pt1 '(0 0)
        pt2 '(200 0)
        pt3 '(200 100)
        pt4 '(0 100)
  )
  (command "pline" pt1 pt2 pt3 pt4 "c" "")
(command "zoom"  "e")
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2003-7-22 09:51:51 | 显示全部楼层
这只是一个例子。
我要的效果是动态演示绘图过程(动画效果)。所以必须中间停顿,只好自找麻烦了,绘图员能理解吧 :)
是要注意捕捉设置,不过这是另外的问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

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

使用道具 举报

 楼主| 发表于 2003-7-22 23:31:36 | 显示全部楼层
大虾们没注意我的真正目的:对于K2,我希望在两段线之间有“显示上停顿”,寻找实现的方法!至于用delay  或 repeat 都不重要。
至于lt_zzy 问为什么要这么做,很简单:演示动态绘图效果。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-22 23:38:34 | 显示全部楼层
最初由 daziran 发布
[B]大虾们没注意我的真正目的:对于K2,我希望在两段线之间有“显示上停顿”,寻找实现的方法!至于用delay  或 repeat 都不重要。
至于lt_zzy 问为什么要这么做,很简单:演示动态绘图效果。 [/B]

你为什么不在动画制作软件(比如Flashcam)中调整延迟而非要在CAD下编程?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-23 00:10:12 | 显示全部楼层
斑竹们都奇怪daziran 不正常了 :)
我继续老实交待,eachy  帮忙呀。
我们在工程投标时,直接在AotuCAD上介绍图纸。
为了增强效果,其中一条线(比如新建铁路)要用动画的方式“慢慢”画出来。上面的例子说明了用多条PINE可以做到,但用一条PLINE作不到这个效果。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-23 08:13:37 | 显示全部楼层
既然K1能达到效果,就用K1实现,然后用PEDIT命令将每条线连起来即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-7-23 22:38:58 | 显示全部楼层
是否可以用cad制作几幅幻灯片,再编一个.scr的程序,加入delay来控制时间。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-23 23:09:28 | 显示全部楼层
你去看看doslib的进度条函数。


  1. dos_getprogress  进程框
  2.   (dos_getprogress title message maxvalue [T])
  3.   (dos_getprogress abs/-rel)
  4.   (dos_getprogress T) ;close
  5.   (dos_getprogress)
  6.   Example
  7.     (setq x 0 y 1000)
  8.     (dos_getprogress "Test" "Testing, please wait" y) ;initialize
  9.     (while (< x y)
  10.       (dos_getprogress -1) ;increment relative by 1
  11.       (setq x (1+ x))
  12.     )
  13.     (dos_getprogress t) ;close


  14. --------------------
  15. dos_progbar        状态行处出现进程框
  16.   (dos_progbar label maxvalue)
  17.   (dos_progbar abs/-rel)
  18.   (dos_progbar)
  19.   Example
  20.     (dos_progbar "Wait..." 10)
  21.     (dos_progbar –1); move relative to previous location
  22.     (dos_progbar)

  23.     (setq x 0 y 1000)
  24.     (dos_progbar "Test" y) ;initialize
  25.     (while (< x y)
  26.       (dos_progbar -1) ;increment relative by 1
  27.       (setq x (1+ x))
  28.     )
  29.     (dos_progbar) ;close


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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-7-23 23:19:06 | 显示全部楼层
(getvar "CDATE")
两次求差,时间到了就下一步

(setq a(getvar "CDATE") b t)
(while(and b (> (-(getvar "CDATE") a) time))
     (setq b nil) (command...)   )
time为你要的时间
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-23 23:26:31 | 显示全部楼层
谢谢nuance   。
谢谢aeo 。不是用运行时间控制问题,而是分段显示问题。
谢谢cy956 ,我好好看看代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 20:59 , Processed in 0.200086 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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