図面の境界または図面内のオブジェクト範囲を基にビューを表示することができます。
ZoomAll は、図面全体を表示します。オブジェクトが境界の外にはみ出している場合、ZoomAll を使用するとそのオブジェクトの範囲が表示されます。オブジェクトが境界内に描かれている場合、ZoomAll では境界までの範囲が表示されます。
ZoomExtents は、現在のビューではなくアクティブなビューポートの表示範囲に基づいてズームを計算します。通常、アクティブなビューポートは全体が見えています。そのため結果も明らかですし、直感的です。しかし、ペーパー空間ビューポートで作業をしていて Zoom メソッドをモデル空間で使用する場合、ペーパー空間ビューポートの境界を越えてズーム拡大すると、ズームした領域の一部が見えないことがあります。
ZoomExtents はビューを変更して、現在の図面内の図形の表示範囲を表示します。このようにすることで(ZoomAll および ZoomExtents の両方で)、再描画が必要となることがあります。再描画はフリーズした、またはオフにした画層では起こりません。図面にオブジェクトがない場合、ZoomExtents は図面範囲を表示します。
3D ビューでは、ZoomAll および ZoomExtents は同じ効果となります。無限長の構築線および放射線は、どちらのオプションにも影響しません。
ZoomPrevious は、現在のビューポートを直前の範囲にズームします。
(vl-load-com)
(defun c:Ch3_ZoomAll()
(setq acadObj (vlax-get-acad-object))
;; ZoomAll
(alert "Perform a ZoomAll")
(vla-ZoomAll acadObj)
;; ZoomExtents
(alert "Perform a ZoomExtents")
(vla-ZoomExtents acadObj)
)
Sub Ch3_ZoomAll() ' ZoomAll MsgBox "Perform a ZoomAll", , "ZoomAll" ThisDrawing.Application.ZoomAll ' ZoomExtents MsgBox "Perform a ZoomExtents", , "ZoomExtents" ThisDrawing.Application.ZoomExtents End Sub