在多屏幕上实时缩放和平移
大家好,我知道我变得太贪婪了…!!:眨眼:还是试一下。。。。
我有五幅画。比如说,不同楼层的平面图。
活动图纸为一楼平面图。当我通过缩放和平移查看GF平面时,是否可以将其他图形的视图更新到相同的区域? 真的很容易,只要画的脚印是相同的,在相同的坐标(我希望应该是这样)
在GF计划中运行此操作
(defun c:passpoints (/ pt1 pt2)
(setq pt1 (getpoint "\nPick Lower Left corner:"))
(setq pt2 (getcorner pt1 "\nPick Upper Right corner:"))
(command "_zoom" "_W" "non" pt1 pt2)
(vl-propagate 'pt1)
(vl-propagate 'pt2)
)
然后在绘图文件上运行此操作,其中第2/3。。。。地板已绘制
(defun c:Catchpoints nil
(command "_zoom" "_W" "non" pt1 pt2)
)
Vl propagate将pt1 pt2的值发送到其他已打开和尚未打开的图纸。并将其作为这两点的论点。 嗯,pBe。。。这个想法很好。。这肯定会奏效。
但我试图实现的是,在活动图形控制的所有打开的图形上实现“缩放和平移的实时同步”。
要更清楚;
假设我打开了GF平面图、FF平面图、SF平面图和三楼平面图。
我的活动图纸是GF plan。
假设我放大了网格A-1;FF、SF和TF应同时缩放到同一区域。
如果我将绘图区域平移到网格J-8;FF、SF和TF应同时平移到同一区域。
整个想法是在不同层面上交叉检查差异。。。 呼。这是我无法咀嚼的。。我想这是可能的缩放,但不确定是否平移 Pbe目前没有cad,但我认为有一个可变的ViewCenter,或者你们可以计算出它,并可以计算出一个可见性比例因子。你会对pan命令做同样的操作,可能是ZZ&PP鼠标反应堆?
我们有一个具有多个窗口的第三方加载项[仅用于加载项]。您可以选择多少个窗口,它们仅实时更新64位。
发现已使用_。sysvdlg、Viewctr和Viewsize您只需要一个reactor,该reactor根据您的方法不断使用这两个变量来更新其他DWG。
@pBe公司
偶然发现并尝试了一下,它成功了。但是,如果所有图形都在同一个autocad窗口中打开,则该方法可行。因此,如果我打开第二个autocad窗口,它将无法工作。
能否让lisp在第一个autocad窗口上运行命令“passpoints”,并通过运行命令“Catchpoints”在第二个autocad窗口上的另一个图形上缩放到同一位置? “为我工作”听起来像是您在谈论运行Autocad的多个实例,而不是该会话中的一个会话和多个DWG。您可以将pt1 pt2保存到注册表,然后将其工作,因为值存储在Autocad之外。
对用于autocad的多个实例。如何将pt1 pt2保存到注册表?
页:
[1]