Skip to content

Latest commit

 

History

History
85 lines (57 loc) · 3.33 KB

extents_limits.rst

File metadata and controls

85 lines (57 loc) · 3.33 KB

Layout Extents and Limits

The extents and limits of an layout represents borders which can be referenced by the ZOOM command or read from some header variables from the :class:`~ezdxf.sections.header.HeaderSection`, if the creator application maintains these values -- ezdxf does this not automatically.

Extents

The extents of an layout are determined by the maximum extents of all DXF entities that are in this layout. The command:

ZOOM extents

sets the current viewport to the extents of the currently selected layout.

A paperspace layout in an arbitrary zoom state:

../gfx/zoom_overview_800px.png

The same layout after the ZOOM extents command:

../gfx/zoom_extents_800px.png

Limits

Sets an invisible rectangular boundary in the drawing area that can limit the grid display and limit clicking or entering point locations. The default limits for paperspace layouts is defined by the paper size.

The layout from above after the ZOOM all command:

../gfx/zoom_all_800px.png

.. seealso::

    The AutoCAD online reference for the `ZOOM`_ and the `LIMITS`_ command.

Read Stored Values

The extents of the modelspace (the tab called "Model") are stored in the header variable $EXTMIN and $EXTMAX. The default values of $EXTMIN is (+1e20, +1e20, +1e20) and $EXTMAX is (-1e20, -1e20, -1e20), which do not describe real borders. These values are copies of the extents attributes of the :class:`~ezdxf.layouts.Layout` object as :attr:`Layout.dxf.extmin` and :attr:`Layout.dxf.extmax`.

The limits of the modelspace are stored in the header variables $LIMMIN and $LIMMAX and have default values of (0, 0) and (420, 297), the default paper size of ezdxf in drawing units. These are copies of the :class:`~ezdxf.layouts.Layout` attributes :attr:`Layout.dxf.extmin` and :attr:`Layout.dxf.extmax`.

The extents and the limits of the actual paperspace layout, which is the last activated paperspace layout tab, are stored in the header variable $PEXTMIN, $PEXTMAX, $PLIMMIN and $PLIMMAX.

Each paperspace layout has its own values stored in the :class:`~ezdxf.layouts.Layout` attributes :attr:`Layout.dxf.extmin`, :attr:`Layout.dxf.extmax`, :attr:`Layout.dxf.limmin` and :attr:`Layout.dxf.limmax`.

Setting Extents and Limits

Since v0.16 ezdxf it is sufficient to define the attributes for extents and limits (:attr:`Layout.dxf.extmax`, :attr:`Layout.dxf.limmin` and :attr:`Layout.dxf.limmax`) of :class:`~ezdxf.layouts.Layout` object. The header variables are synchronized when the document is saved.

The extents of a layout are not calculated automatically by ezdxf, as this can take a long time for large documents and correct values are not required to create a valid DXF document.

.. seealso::

    How to: :ref:`calc msp extents`