Viewport

The VIEWPORT entity (DXF Reference) is a window from a paperspace layout to the modelspace.

Subclass of ezdxf.entities.DXFGraphic
DXF type 'VIEWPORT'
Factory function ezdxf.layouts.Paperspace.add_viewport()
Inherited DXF attributes Common graphical DXF attributes

Warning

Do not instantiate entity classes by yourself - always use the provided factory functions!

class ezdxf.entities.Viewport
dxf.center

Center point of the viewport located in the paper space layout in paper space units stored as 3D point. (Error in the DXF reference)

dxf.width

Viewport width in paperspace units (float)

dxf.height

Viewport height in paperspace units (float)

dxf.status

Viewport status field (int)

-1 On, but is fully off screen, or is one of the viewports that is not active because the $MAXACTVP count is currently being exceeded.
0 Off
>0 On and active. The value indicates the order of stacking for the viewports, where 1 is the active viewport, 2 is the next, and so forth
dxf.id

Viewport id (int)

dxf.view_center_point

View center point in modelspace stored as 2D point, but represents a WCS point. (Error in the DXF reference)

dxf.snap_base_point
dxf.snap_spacing
dxf.snap_angle
dxf.grid_spacing
dxf.view_direction_vector

View direction (3D vector in WCS).

dxf.view_target_point

View target point (3D point in WCS).

dxf.perspective_lens_length

Lens focal length in mm as 35mm film equivalent.

dxf.front_clip_plane_z_value
dxf.back_clip_plane_z_value
dxf.view_height

View height in WCS.

dxf.view_twist_angle
dxf.circle_zoom
dxf.flags

Viewport status bit-coded flags:

Bit value Constant in ezdxf.const Description
1 (0x1) VSF_PERSPECTIVE_MODE Enables perspective mode
2 (0x2) VSF_FRONT_CLIPPING Enables front clipping
4 (0x4) VSF_BACK_CLIPPING Enables back clipping
8 (0x8) VSF_USC_FOLLOW Enables UCS follow
16 (0x10) VSF_FRONT_CLIPPING_NOT_AT_EYE Enables front clip not at eye
32 (0x20) VSF_UCS_ICON_VISIBILITY Enables UCS icon visibility
64 (0x40) VSF_UCS_ICON_AT_ORIGIN Enables UCS icon at origin
128 (0x80) VSF_FAST_ZOOM Enables fast zoom
256 (0x100) VSF_SNAP_MODE Enables snap mode
512 (0x200) VSF_GRID_MODE Enables grid mode
1024 (0x400) VSF_ISOMETRIC_SNAP_STYLE Enables isometric snap style
2048 (0x800) VSF_HIDE_PLOT_MODE Enables hide plot mode
4096 (0x1000) VSF_KISOPAIR_TOP kIsoPairTop. If set and kIsoPairRight is not set, then isopair top is enabled. If both kIsoPairTop and kIsoPairRight are set, then isopair left is enabled
8192 (0x2000) VSF_KISOPAIR_RIGHT kIsoPairRight. If set and kIsoPairTop is not set, then isopair right is enabled
16384 (0x4000) VSF_LOCK_ZOOM Enables viewport zoom locking
32768 (0x8000) VSF_CURRENTLY_ALWAYS_ENABLED Currently always enabled
65536 (0x10000) VSF_NON_RECTANGULAR_CLIPPING Enables non-rectangular clipping
131072 (0x20000) VSF_TURN_VIEWPORT_OFF Turns the viewport off
262144 (0x40000) VSF_NO_GRID_LIMITS Enables the display of the grid beyond the drawing limits
524288 (0x80000) VSF_ADAPTIVE_GRID_DISPLAY Enable adaptive grid display
1048576 (0x100000) VSF_SUBDIVIDE_GRID Enables subdivision of the grid below the set grid spacing when the grid display is adaptive
2097152 (0x200000) VSF_GRID_FOLLOW_WORKPLANE Enables grid follows workplane switching

Use helper method set_flag_state() to set and clear viewport flags, e.g. lock viewport:

vp.set_flag_state(ezdxf.const.VSF_LOCK_ZOOM, True)
dxf.clipping_boundary_handle
dxf.plot_style_name
dxf.render_mode
0 2D Optimized (classic 2D)
1 Wireframe
2 Hidden line
3 Flat shaded
4 Gouraud shaded
5 Flat shaded with wireframe
6 Gouraud shaded with wireframe
dxf.ucs_per_viewport
dxf.ucs_icon
dxf.ucs_origin

UCS origin as 3D point.

dxf.ucs_x_axis

UCS x-axis as 3D vector.

dxf.ucs_y_axis

UCS y-axis as 3D vector.

dxf.ucs_handle

Handle of UCSTable if UCS is a named UCS. If not present, then UCS is unnamed.

dxf.ucs_ortho_type
0 not orthographic
1 Top
2 Bottom
3 Front
4 Back
5 Left
6 Right
dxf.ucs_base_handle

Handle of UCSTable of base UCS if UCS is orthographic (Viewport.dxf.ucs_ortho_type is non-zero). If not present and Viewport.dxf.ucs_ortho_type is non-zero, then base UCS is taken to be WORLD.

dxf.elevation
dxf.shade_plot_mode

(DXF R2004)

0 As Displayed
1 Wireframe
2 Hidden
3 Rendered
dxf.grid_frequency

Frequency of major grid lines compared to minor grid lines. (DXF R2007)

dxf.background_handle
dxf.shade_plot_handle
dxf.visual_style_handle
dxf.default_lighting_flag
dxf.default_lighting_style
0 One distant light
1 Two distant lights
dxf.view_brightness
dxf.view_contrast
dxf.ambient_light_color_1

as AutoCAD Color Index (ACI)

dxf.ambient_light_color_2

as true color value

dxf.ambient_light_color_3

as true color value

dxf.sun_handle
dxf.ref_vp_object_1
dxf.ref_vp_object_2
dxf.ref_vp_object_3
dxf.ref_vp_object_4
frozen_layers

Set/get frozen layers as list of layer names.

is_frozen(layer_name: str) → bool

Returns True if layer_name id frozen in this viewport.

freeze(layer_name: str) → None

Freeze layer_name in this viewport.

thaw(layer_name: str) → None

Thaw layer_name in this viewport.

has_extended_clipping_path

Returns True if a non-rectangular clipping path is defined.

clipping_rect() → tuple[Vec2, Vec2]

Returns the lower left and the upper right corner of the clipping rectangle.

clipping_rect_corners() → list[Vec2]

Returns the default rectangular clipping path as list of vertices. Use function ezdxf.path.make_path() to get also non-rectangular shaped clipping paths if defined.

get_aspect_ratio() → float

Returns the aspect ratio of the viewport, return 0.0 if width or height is zero.

get_modelspace_limits() → tuple[float, float, float, float]

Returns the limits of the modelspace to view in drawing units as tuple (min_x, min_y, max_x, max_y).

get_scale() → float

Returns the scaling factor from modelspace to viewport.

get_transformation_matrix() → ezdxf.math._matrix44.Matrix44

Returns the transformation matrix from modelspace to viewport.