明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2308|回复: 3

[求助]同步视口?!

[复制链接]
发表于 2008-1-25 13:47:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-1-26 11:37:02 编辑

当前CAD在模型空间中开了两个视口(-vports命令),因为经常在两个视口中较对图形,突然有个想法:

即当按下鼠标中键(命令为PAN)时,移动一个视口,能不能也让另一个视口也跟随着移动?!

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-1-26 10:46:00 | 显示全部楼层
本帖最后由 作者 于 2008-1-26 10:55:02 编辑

;|
还需添加视口打开状态和锁定状态的判断:
vla-get-ViewportOn
vla-get-DisplayLocked

未考虑 UCS 的因素
|;
(defun c:tt (/ lt:ss-map tag vp p1 p2 n ang dis)
  (defun lt:ss-map (ss fun / n)
    (repeat (setq n (fix (sslength ss)))
      (apply fun (list (ssname ss (setq n (1- n)))))
    )
  )
  (if (/= (getvar "tilemode") 0)
     (progn
       (princ "\n** 命令不允许在模型选项卡中使用 ** ")
       (exit)
    )
  )
  (if (/= (getvar "cvport") 1)
    (progn
      (command "_.pspace")
      (setq tag T)
    )
  )
  (if (and (setq vp (ssget '((0 . "viewport"))))
           (setq p1 (getpoint "\n指定移屏的起点: "))
           (setq p2 (getpoint p1 "\n指定移屏的终点: "))
      )
    (progn
      (setq ang (angle p1 p2)
            dis (distance p1 p2)
      )
      (command "_.mspace")
      (lt:ss-map vp '(lambda (x / ctr sc)
                       (setvar "cvport" (cdr (assoc 69 (entget x))))
                       (setq ctr (getvar "viewctr")
                             sc  (vla-get-CustomScale (vlax-ename->vla-object x))
                       )
                       (command "_.-pan" ctr (polar ctr ang (/ dis sc)))
                     )
      )
    )
  )
  (if (not tag) (command "_.pspace"))
  (princ)
)

 楼主| 发表于 2008-1-26 11:35:00 | 显示全部楼层
不好意思,弄错了!我最初的原意是要在模型空间下执行!!
发表于 2013-4-18 10:33:45 | 显示全部楼层
caoyin 发表于 2008-1-26 10:46
本帖最后由 作者 于 2008-1-26 10:55:02 编辑  ;|还需添加视口打开状态和锁定状态的判断:vla-get-Viewport ...

这功能相当于是同时移动了两个视口,但我们经常是在某个视口对照另一个视口进行比较操作。能不能对其中一个视口进行缩放、平移时,另一个视口自动跟着缩放、平移?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-31 18:28 , Processed in 0.171895 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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