找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: urljit

[LISP程序]:自动平移视图的程序

[复制链接]
发表于 2005-2-4 10:05:25 | 显示全部楼层
  俺在CAD2004里面按着CTRL和鼠标中键,就会自动滚屏了。可以移动鼠标控制方向和速度。你们几位是要做出那种效果来吗?如果真的能做出来就可省事了,不用一个劲的按着CRTRL和鼠标中键了。
  俺的想法是程序运行就相当于同时按下CTRL和鼠标中键,移动鼠标控制方向和速度,右键退出。只用GRREAD吗,可能要用到反应器才行。或者通过什么办法直接利用CAD的这个功能。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-2-4 12:49:45 | 显示全部楼层
cadr2004,滚轮鼠标,按着移动,就是pan,前后滚动就是缩放,不用按什么ctrl
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-2-4 13:09:55 | 显示全部楼层
16楼说的是自动滚屏效果,程序稍加修改也许可行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-4 19:14:08 | 显示全部楼层
最初由 xyp1964 发布
[B]16楼说的是自动滚屏效果,程序稍加修改也许可行。 [/B]

对,起初我的设想就是修改后的那个样子,主要是识别图形范围以及能连续滚动、中间暂停。

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

使用道具 举报

发表于 2005-2-5 09:17:05 | 显示全部楼层
  俺觉得可以实现。就利用GRREAD。那个显示方向的图标可以直接画上去。利用鼠标距起始点的位置来控制方向,利用距离来控制平移的速度。问题是如果鼠标不动时如何再保证它还会自动平移。因为鼠标一停捕获不到GRREAD的值程序就不会动了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-5 11:52:24 | 显示全部楼层
欢迎它山之石也来参与、讨论。
对,这是个问题,本来我以为grread可以不断的读入鼠标数据,看来是错误的。
[php]
(setq m '(3 2) n 0)
(while (< (car m) 6)
  (terpri)
  (princ (setq n(1+ n)))
  (princ (setq m (grread t 3)))
)
(terpri)
(princ m)
(princ)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-2-5 12:46:42 | 显示全部楼层
好像"明经通道"上有人写过鼠标到窗口边缘时自动移屏的程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-2-6 00:52:59 | 显示全部楼层
xyp兄:
确实是没有tw_w_stlay 函数,是新建或设值图层的。还有一个是提取组码的,zrh_tq函数。
呵呵,不说这个。
我看了你上面的代码,暂时发现三个不足。
1,当出现空白的屏幕时应该直接跳过、
2,用cad自身的延时命令,无法即时相应键盘或鼠标的操作
3,屏幕显示的大小,应该当以能够看清文字为宜。
-----
urljit 兄:
GRREAD 能够返回按键,用grread的想法,我认为可行。
-----------
此外,
谢谢Free兄的参与。我装的2002也无法测试free兄你的代码
就这么简单拜读了一下,发现
第一,你用了临时视窗,估计会很占资源。
第二,你要求了人为选择(ssget),(不知道,是否在循环中只选一次)
其它无法测试就不敢乱说了。只是,看代码的感觉,有些离题了喔
呵呵,谢谢三位,继续努力!
也感谢紫竹会员的意见。
-----------
我重复一下,我对这个东东的用途的想法:
它可并不是一般的自动移动(也不是指个方西就往那个方向移动)
而是,比如,那一天,(呵呵,下辈子吧)自己当了总工,
别人的图来了,才懒得一点一点移动着看,拿个茶杯,让电脑自动展示吧,,,,,
咦,发现不对,就可以暂停,甚至批阅,呵呵
(弄好了送给领导,可以得到红包哦)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-2-9 22:13:32 | 显示全部楼层
;;;   XYP 仁兄的test066在延时和响应人工干预上是*成*功*的。
;但是,在不同的任意dwg图观看时,却有点,,,,不爽。
;
;下面是“动画平移视图”的模块,可“平移”任意的dwg图; 它用作子函数时,可传入PT2,点参数,---但愿对两位长老有点帮助。
(defun c:test_pan (/ dx dy step n tmp_pt pt1)
  (setq        pt1 (getvar "VIEWCTR")
        pt2 (getpoint pt1)
  )
  ;以viewsize 的多次开平方后 作为动画移动的参数
  (setq step (/ (sqrt(sqrt(sqrt(getvar "VIEWSIZE")))) 0.1))
  (setq        dx (/ (- (car pt2) (car pt1)) step)
        dy (/ (- (cadr pt2) (cadr pt1)) step)
  )
  (setq        n (fix (/ (distance pt1 pt2) (sqrt (+ (* dx dx) (* dy dy))))))  
  (setq tmp_pt (getvar "VIEWCTR"))
  (repeat n
    (setq tmp_pt
          (list (+ (car tmp_pt) dx) (+ (cadr tmp_pt) dy) 0)
    )
    (command "zoom"
             "c"
             tmp_pt
             ""
    )
  )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-2-9 22:56:42 | 显示全部楼层
test066的问题:
目前鼠标不动时,屏幕也停止移动。
利用grread如何自动移动屏幕并相应鼠标和键盘的动作?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-20 20:56:46 | 显示全部楼层
不好意思,春节太忙,没有想到的是节后更忙,所以程序就“泡汤”了,真是对不住大家
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 21:16 , Processed in 0.186995 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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