石井鱼 发表于 2018-1-2 21:07:02

求屏幕定距移动

本帖最后由 石井鱼 于 2018-1-9 09:51 编辑

之前版主ZZXXQQ编过一个四个方向移动图元的程序,感觉非常好用
http://bbs.mjtd.com/forum.php?mo ... %D2%C6%B6%AF&page=1
现在求各位高手帮忙编个类似定距移动屏幕的程序,不胜感谢!
主要目的是设定一个距离(比如一个图框的尺寸),可以不用滚轮缩放平移,屏幕能上、下移该尺寸的距离(能上下左右更好)
因为工作中经常遇到相同位置的构件需要检查修改。

xyp1964 发表于 2018-1-2 21:07:03

;; tt(屏幕定距移动)
(defun c:tt ()
(princ "\n键盘操作: w-上移/z-下移/a-左移/s-右移/鼠标左右键或空格退出")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq dx 59400
        dy   42000
        mode t
)
(while mode
    (setq mo (grread t 15 0)
          co (car mo)
    )
    (cond ((member co '(3 25)) (setq mode nil))
          ((= (cadr mo) 97) (command "pan" '(0 0) (list (- dx) 0)))
          ((= (cadr mo) 115) (command "pan" '(0 0) (list dx 0)))
          ((= (cadr mo) 122) (command "pan" '(0 0) (list 0 (- dy))))
          ((= (cadr mo) 119) (command "pan" '(0 0) (list 0 dy)))
          ((= (cadr mo) 32) (setq mode nil))
    )
)
(setvar "osmode" os)
(princ)
)

石井鱼 发表于 2018-1-4 14:21:42

貌似这个情况大家用的不多,简单讲就是屏幕移动一个固定的距离,还是期待热心的小伙伴出手相助

Andyhon 发表于 2018-1-4 16:53:39

check System Variable
SCREENSIZE
VIEWCTR
VIEWSIZE

xyp1964 发表于 2018-1-4 17:52:25


;; tt(屏幕定距移动)
(defun c:tt ()
(princ "\n键盘操作: w-上移/z-下移/a-左移/s-右移/鼠标左右键或空格退出")
(if (setq s1 (car (entsel "\n选择参照实体: ")))
    (progn
      (setq os (getvar "osmode"))
      (setvar "osmode" 0)
      (setq p1 (xyp-9pt s1 1)
          p3       (xyp-9pt s1 3)
          p9       (xyp-9pt s1 9)
          dx       (distance p1 p3)
          dy       (distance p9 p3)
          mode t
      )
      (while mode
        (setq mo (grread t 15 0)
              co (car mo)
        )
        (cond ((member co '(3 25)) (setq mode nil))
              ((= (cadr mo) 97) (command "pan" '(0 0) (list (- dx) 0)))
              ((= (cadr mo) 115) (command "pan" '(0 0) (list dx 0)))
              ((= (cadr mo) 122) (command "pan" '(0 0) (list 0 (- dy))))
              ((= (cadr mo) 119) (command "pan" '(0 0) (list 0 dy)))
              ((= (cadr mo) 32) (setq mode nil))
        )
      )
      (setvar "osmode" os)
    )
)
(princ)
)

石井鱼 发表于 2018-1-4 22:46:08

十分感谢院长的热心帮忙,基本达到目的了,还有个小小希望不知能否稍作修改,不用去选择实体,直接给个固定数值(dx dy),平时图框尺寸都是固定的,这样可以少个选择图框的步骤,更加便捷一些,再次感谢院长

石井鱼 发表于 2018-1-5 09:57:01

谢谢院长深夜回帖,用您的工具箱多年,收益匪浅,再次感谢!

LIULISHENG 发表于 2018-1-6 16:31:15

很强大的哦

773786668 发表于 2018-1-17 03:37:57

深夜马克

juliana207 发表于 2021-7-19 22:37:45

遇到好东西就要留个脚印
页: [1] 2
查看完整版本: 求屏幕定距移动