図面の境界または図面内のオブジェクト範囲を基にビューを表示することができます。
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