与其与命名视图混为一谈,不如';创建一个由所有块组成的选择集,然后在选择集中循环,得到每个块的边界框,并使用这些坐标作为缩放窗口,然后执行mslide操作,这样会更容易吗
While X < SSet1.Count
For Each Xblk In SSet1
Inspt = Xblk.InsertionPoint
Dim Zcenter(0 To 2) As Double
Zcenter(0) = Inspt(0): Zcenter(1) = Inspt(1): Zcenter(2) = Inspt(2)
Dim BboxSP As Variant
Dim BboxEP As Variant
Xblk.GetBoundingBox BboxSP, BboxEP
Dim BboxP1(0 To 2) As Double
Dim BboxP2(0 To 2) As Double
BboxP1(0) = BboxSP(0): BboxP1(1) = BboxSP(1): BboxP1(2) = BboxSP(2)
BboxP2(0) = BboxEP(0): BboxP2(1) = BboxEP(1): BboxP2(2) = BboxEP(2)
ZoomWindow BboxP1, BboxP2
' DO THE MSLIDE BIT HERE
Next Xblk
X = X + 1
Wend
嘿Hendie是的,这很有道理,Bob提供了一些很好的代码来实现这一点,但问题似乎是边界框没有';如果你在街区周围没有足够的空间,幻灯片就不会#039;t也出来了;滑块往往过于靠近滑块边缘。如果有办法增加边界框的大小,那就太好了
最初,有了Bob提供的代码,我能够抓住每个边界框的中心,这确实有助于将块定位到位;这节省了很多时间,但对于这件事,我想我更愿意选择分数
我想我会回到我最初的想法,那就是简单地选取2个点,然后让幻灯片名称=blkref名称
我真的不知道';在每张幻灯片上抓取几点都没有问题,这就是为每张幻灯片输入我可以不用的名字
谢谢Hendie,我还会看你的代码的
页:
1
[2]