jaminth 发表于 2008-1-25 13:47:00

[求助]同步视口?!

本帖最后由 作者 于 2008-1-26 11:37:02 编辑 <br /><br /> <p>当前CAD在<font color="#ff0000" style="BACKGROUND-COLOR: #fafa5b;">模型空间</font>中开了两个视口(-vports命令),因为经常在两个视口中较对图形,突然有个想法:</p><p>即当按下鼠标中键(命令为PAN)时,移动一个视口,能不能也让另一个视口也跟随着移动?!</p>

caoyin 发表于 2008-1-26 10:46:00

本帖最后由 作者 于 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/>&nbsp; (defun lt:ss-map (ss fun / n)<br/>&nbsp;&nbsp;&nbsp; (repeat (setq n (fix (sslength ss)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (apply fun (list (ssname ss (setq n (1- n)))))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (if (/= (getvar "tilemode") 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (princ "\n** 命令不允许在模型选项卡中使用 ** ")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (exit)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (if (/= (getvar "cvport") 1)<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.pspace")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq tag T)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (if (and (setq vp (ssget '((0 . "viewport"))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq p1 (getpoint "\n指定移屏的起点: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq p2 (getpoint p1 "\n指定移屏的终点: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ang (angle p1 p2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dis (distance p1 p2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.mspace")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (lt:ss-map vp '(lambda (x / ctr sc)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setvar "cvport" (cdr (assoc 69 (entget x))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ctr (getvar "viewctr")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sc&nbsp; (vla-get-CustomScale (vlax-ename-&gt;vla-object x))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.-pan" ctr (polar ctr ang (/ dis sc)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (if (not tag) (command "_.pspace"))<br/>&nbsp; (princ)<br/>)</p>

jaminth 发表于 2008-1-26 11:35:00

不好意思,弄错了!我最初的原意是要在<strong><font color="#ff3300" style="BACKGROUND-COLOR: #70cc33;">模型空间</font></strong>下执行!!

GamIng 发表于 2013-4-18 10:33:45

caoyin 发表于 2008-1-26 10:46 static/image/common/back.gif
本帖最后由 作者 于 2008-1-26 10:55:02 编辑;|还需添加视口打开状态和锁定状态的判断:vla-get-Viewport ...

这功能相当于是同时移动了两个视口,但我们经常是在某个视口对照另一个视口进行比较操作。能不能对其中一个视口进行缩放、平移时,另一个视口自动跟着缩放、平移?
页: [1]
查看完整版本: [求助]同步视口?!