明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2345|回复: 11

会移动的小方框

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

下面的程序会在屏幕上出现一个会移动的小方框。

可是,不是每一台电脑都可以,请高手帮我测试一下,为什么会同样的程序有不同的结果。

(defun DrawBox( p0 c1 c2 / pp p1 p2 p3 p4 p11 p22 p33 p44)   
    (setq pp (polar p0 0 5))   
    (setq p1 (polar p0 (/ pi 2)  2.5))
    (setq p2 (polar p1 pi 5))
    (setq p3 (polar p2 (/ (* pi 3) 2) 5))
    (setq p4 (polar p3 0 5))
    ;
    (setq p11 (polar p1 0 1))
    (setq p22 (polar p2 0 1))
    (setq p33 (polar p3 0 1))
    (setq p44 (polar p4 0 1))
    ;
    (grvecs (list c1  p1  p2  p2  p3  p3  p4  p4  p1 ))
    (grvecs (list c2 p11 p22 p22 p33 p33 p44 p44 p11))
)
(defun MYDelay( n / time)
    (setq Curtime (+ (getvar "cdate") (* 0.0000001 n)))
    (while (< (getvar "cdate") Curtime))
)
(defun c:q11( / xmove q1)
  (setq xmove 0)
  (while (< (setq xmove (1+ xmove)) 20)
     (setq q1 (list xmove 0 0))
     (MYDelay 1)
   (drawbox q1 256 256)
    )
  )

发表于 2005-9-12 20:18 | 显示全部楼层

这个延迟的函数好。

(defun MYDelay (n / time)
  (setq Curtime (+ (getvar "cdate") (* 0.0000001 n)))
  (while (< (getvar "cdate") Curtime))
)

每台电脑显示的不一样,应该是因为你开始设置的坐标导致的。你都设置成(0 0 0)开始了,有些电脑进行后,可能此坐标不在当前视口范围内。

试着使用(getvar "viewctr")来看一看。

 楼主| 发表于 2005-9-13 08:15 | 显示全部楼层

你说的情况我已经看过了,问题是每一次在我自己的电脑上运行,仅可以看到开始和末尾的两个方框。能感受到延时环节,而且单步调试时可以看到中间过程时的方框。

发表于 2005-9-14 19:04 | 显示全部楼层

"问题是每一次在我自己的电脑上运行,仅可以看到开始和末尾的两个方框。"
那是因为开始和结束的方框坐标,都只grvecs一次。
AutoCAD 颜色代码的取值范围是 0 到 255,如果颜色代码值大于 255,则后续矢量会以 XOR(异或)方式显示,也就是以取补颜色生成被该矢量覆盖的对象,而且当矢量被覆盖时,它自身也会消失。

发表于 2005-9-16 08:43 | 显示全部楼层

kankan

 楼主| 发表于 2005-9-16 08:47 | 显示全部楼层

道理我明白,但是加入了延时环节后的效果应该是可以看到方框的移动。

因为第3N次的移动生成的是第N次的方框同时覆盖第N-1次的方框,然后程序延时,然后运行第N+1次,生成第N+1次的方框,覆盖第n次的方框,然后延时......

由于延时环节的存在,总是可以看到一个方框(非头尾的)。

在此,我不明白的是:我可以感受到程序运行的过程(因为输入回车后要等一段时间才回到命令行),但是看不到中间的运行过程。

在不同的电脑上运行后,发现有些电脑是可以看到中间过程的。

发表于 2005-9-16 09:32 | 显示全部楼层

grvecs是底层函数,跟硬件有很大的关系。

会不会是这个原因?

 楼主| 发表于 2005-9-16 13:02 | 显示全部楼层

同意。

 

发表于 2005-9-16 14:01 | 显示全部楼层
是不是电脑慢就看到过程,快就看到结果?
 楼主| 发表于 2005-9-19 09:02 | 显示全部楼层
我觉得可能是显卡的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-5 12:23 , Processed in 0.147738 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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