[求助]同步视口?!
本帖最后由 作者 于 2008-1-26 11:37:02 编辑 <br /><br /> <p>当前CAD在<font color="#ff0000" style="BACKGROUND-COLOR: #fafa5b;">模型空间</font>中开了两个视口(-vports命令),因为经常在两个视口中较对图形,突然有个想法:</p><p>即当按下鼠标中键(命令为PAN)时,移动一个视口,能不能也让另一个视口也跟随着移动?!</p> 本帖最后由 作者 于 2008-1-26 10:55:02 编辑 <br /><br /> <p>;|<br/>还需添加视口打开状态和锁定状态的判断:<br/>vla-get-ViewportOn<br/>vla-get-DisplayLocked</p><p>未考虑 UCS 的因素<br/>|;<br/>(defun c:tt (/ lt:ss-map tag vp p1 p2 n ang dis)<br/> (defun lt:ss-map (ss fun / n)<br/> (repeat (setq n (fix (sslength ss)))<br/> (apply fun (list (ssname ss (setq n (1- n)))))<br/> )<br/> )<br/> (if (/= (getvar "tilemode") 0)<br/> (progn<br/> (princ "\n** 命令不允许在模型选项卡中使用 ** ")<br/> (exit)<br/> )<br/> )<br/> (if (/= (getvar "cvport") 1)<br/> (progn<br/> (command "_.pspace")<br/> (setq tag T)<br/> )<br/> )<br/> (if (and (setq vp (ssget '((0 . "viewport"))))<br/> (setq p1 (getpoint "\n指定移屏的起点: "))<br/> (setq p2 (getpoint p1 "\n指定移屏的终点: "))<br/> )<br/> (progn<br/> (setq ang (angle p1 p2)<br/> dis (distance p1 p2)<br/> )<br/> (command "_.mspace")<br/> (lt:ss-map vp '(lambda (x / ctr sc)<br/> (setvar "cvport" (cdr (assoc 69 (entget x))))<br/> (setq ctr (getvar "viewctr")<br/> sc (vla-get-CustomScale (vlax-ename->vla-object x))<br/> )<br/> (command "_.-pan" ctr (polar ctr ang (/ dis sc)))<br/> )<br/> )<br/> )<br/> )<br/> (if (not tag) (command "_.pspace"))<br/> (princ)<br/>)</p> 不好意思,弄错了!我最初的原意是要在<strong><font color="#ff3300" style="BACKGROUND-COLOR: #70cc33;">模型空间</font></strong>下执行!! caoyin 发表于 2008-1-26 10:46 static/image/common/back.gif本帖最后由 作者 于 2008-1-26 10:55:02 编辑;|还需添加视口打开状态和锁定状态的判断:vla-get-Viewport ...
这功能相当于是同时移动了两个视口,但我们经常是在某个视口对照另一个视口进行比较操作。能不能对其中一个视口进行缩放、平移时,另一个视口自动跟着缩放、平移?
页:
[1]