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 |
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, returnsNone
if attributedxf.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
to1
, where0
means entity is opaque and1
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 attributeDXFGraphic.dxf.transparency
This attribute requires DXF R2004 or later, returns
0
for prior DXF versions and raisesDXFAttributeError
for setting transparency in older DXF versions.
-
ocs
() → OCS¶ Returns object coordinate system (OCS) for 2D entities like
Text
orCircle
, returnsNone
for entities without OCS support.
-
get_layout
() → BaseLayout¶ Returns the owner layout or returns
None
if entity is not assigned to any layout.
-
unlink_from_layout
() → None¶ 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.
-
has_hyperlink
() → bool¶ Returns
True
if entity has an attached hyperlink.
-
get_hyperlink
() → Tuple[str, str, str]¶ Returns hyperlink, description and location.
-
set_hyperlink
(link: str, description: str = None, location: str = None)¶ 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: Vec3, angle: float) → DXFGraphic¶ Rotate entity inplace about vector axis, returns self (floating interface).
- Parameters
axis – rotation axis as tuple or
Vec3
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
, useDXFGraphic.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, useDXFGraphic.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)