DXF Graphic Entity Base Class

Common base class for all graphical DXF entities.

This entities resides in entity spaces like Modelspace, any Paperspace or BlockLayout.

Subclass of

ezdxf.entities.DXFEntity

Warning

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

class ezdxf.entities.DXFGraphic
rgb

Get/set DXF attribute dxf.true_color as (r, g, b) tuple, returns None if attribute dxf.true_color is not set.

entity.rgb = (30, 40, 50)
r, g, b = entity.rgb

This is the recommend method to get/set RGB values, when ever possible do not use the DXF low level attribute dxf.true_color.

transparency

Get/set transparency value as float. Value range 0 to 1, where 0 means entity is opaque and 1 means entity is 100% transparent (invisible). This is the recommend method to get/set transparency values, when ever possible do not use the DXF low level attribute DXFGraphic.dxf.transparency

This attribute requires DXF R2004 or later, returns 0 for prior DXF versions and raises DXFAttributeError for setting transparency in older DXF versions.

ocs() → OCS

Returns object coordinate system (OCS) for 2D entities like Text or Circle, returns None for entities without OCS support.

get_layout() → BaseLayout

Returns the owner layout or returns None if entity is not assigned to any layout.

Unlink entity from associated layout. Does nothing if entity is already unlinked.

It is more efficient to call the unlink_entity() method of the associated layout, especially if you have to unlink more than one entity.

New in version 0.13.

copy_to_layout(layout: BaseLayout)DXFEntity

Copy entity to another layout, returns new created entity as DXFEntity object. Copying between different DXF drawings is not supported.

Parameters

layout – any layout (model space, paper space, block)

Raises

DXFStructureError – for copying between different DXF drawings

move_to_layout(layout: BaseLayout, source: BaseLayout = None)

Move entity from model space or a paper space layout to another layout. For block layout as source, the block layout has to be specified. Moving between different DXF drawings is not supported.

Parameters
  • layout – any layout (model space, paper space, block)

  • source – provide source layout, faster for DXF R12, if entity is in a block layout

Raises

DXFStructureError – for moving between different DXF drawings

graphic_properties() → Dict

Returns the important common properties layer, color, linetype, lineweight, ltscale, true_color and color_name as dxfattribs dict.

New in version 0.12.

Returns True if entity has an attached hyperlink.

Returns hyperlink, description and location.

Set hyperlink of an entity.

transform(t: Matrix44)DXFGraphic

Inplace transformation interface, returns self (floating interface).

Parameters

m – 4x4 transformation matrix (ezdxf.math.Matrix44)

New in version 0.13.

translate(dx: float, dy: float, dz: float)DXFGraphic

Translate entity inplace about dx in x-axis, dy in y-axis and dz in z-axis, returns self (floating interface).

Basic implementation uses the transform() interface, subclasses may have faster implementations.

New in version 0.13.

scale(sx: float, sy: float, sz: float)DXFGraphic

Scale entity inplace about dx in x-axis, dy in y-axis and dz in z-axis, returns self (floating interface).

New in version 0.13.

scale_uniform(s: float)DXFGraphic

Scale entity inplace uniform about s in x-axis, y-axis and z-axis, returns self (floating interface).

New in version 0.13.

rotate_x(angle: float)DXFGraphic

Rotate entity inplace about x-axis, returns self (floating interface).

Parameters

angle – rotation angle in radians

New in version 0.13.

rotate_y(angle: float)DXFGraphic

Rotate entity inplace about y-axis, returns self (floating interface).

Parameters

angle – rotation angle in radians

New in version 0.13.

rotate_z(angle: float)DXFGraphic

Rotate entity inplace about z-axis, returns self (floating interface).

Parameters

angle – rotation angle in radians

New in version 0.13.

rotate_axis(axis: Vector, angle: float)DXFGraphic

Rotate entity inplace about vector axis, returns self (floating interface).

Parameters
  • axis – rotation axis as tuple or Vector

  • angle – rotation angle in radians

New in version 0.13.

Common graphical DXF attributes

DXFGraphic.dxf.layer

Layer name as string; default = '0'

DXFGraphic.dxf.linetype

Linetype as string, special names 'BYLAYER', 'BYBLOCK'; default value is 'BYLAYER'

DXFGraphic.dxf.color

AutoCAD Color Index (ACI), default = 256

Constants defined in ezdxf.lldxf.const

0

BYBLOCK

256

BYLAYER

257

BYOBJECT

DXFGraphic.dxf.lineweight

Line weight in mm times 100 (e.g. 0.13mm = 13). There are fixed valid lineweights which are accepted by AutoCAD, other values prevents AutoCAD from loading the DXF document, BricsCAD isn’t that picky. (requires DXF R2000)

Constants defined in ezdxf.lldxf.const

-1

LINEWEIGHT_BYLAYER

-2

LINEWEIGHT_BYBLOCK

-3

LINEWEIGHT_DEFAULT

Valid DXF lineweights stored in VALID_DXF_LINEWEIGHTS: 0, 5, 9, 13, 15, 18, 20, 25, 30, 35, 40, 50, 53, 60, 70, 80, 90, 100, 106, 120, 140, 158, 200, 211

DXFGraphic.dxf.ltscale

Line type scale as float; default = 1.0 (requires DXF R2000)

DXFGraphic.dxf.invisible

1 for invisible, 0 for visible; default = 0 (requires DXF R2000)

DXFGraphic.dxf.paperspace

0 for entity resides in modelspace or a block, 1 for paperspace, this attribute is set automatically by adding an entity to a layout (feature for experts); default = 0

DXFGraphic.dxf.extrusion

Extrusion direction as 3D vector; default = (0, 0, 1)

DXFGraphic.dxf.thickness

Entity thickness as float; default = 0.0 (requires DXF R2000)

DXFGraphic.dxf.true_color

True color value as int 0x00RRGGBB, use DXFGraphic.rgb to get/set true color values as (r, g, b) tuples. (requires DXF R2004)

DXFGraphic.dxf.color_name

Color name as string. (requires DXF R2004)

DXFGraphic.dxf.transparency

Transparency value as int, 0x020000TT 0x00 = 100% transparent / 0xFF = opaque, use DXFGraphic.transparency to get/set transparency as float value.

(requires DXF R2004)

DXFGraphic.dxf.shadow_mode

0

casts and receives shadows

1

casts shadows

2

receives shadows

3

ignores shadows

(requires DXF R2007)