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.
- property is_transparency_by_layer: bool¶
Returns
True
if entity inherits transparency from layer.
- property is_transparency_by_block: bool¶
Returns
True
if entity inherits transparency from block.
- ocs() OCS ¶
Returns object coordinate system (OCS) for 2D entities like
Text
orCircle
, returns a pass-through OCS for entities without OCS support.
- get_layout() Optional[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.
- 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) 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.
- 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: Optional[str] = None, location: Optional[str] = None)¶
Set hyperlink of an entity.
- transform(m: Matrix44) DXFGraphic ¶
Inplace transformation interface, returns self (floating interface).
- Parameters
m – 4x4 transformation matrix (
ezdxf.math.Matrix44
)
- 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.
- 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).
- scale_uniform(s: float) DXFGraphic ¶
Scale entity inplace uniform about s in x-axis, y-axis and z-axis, returns self (floating interface).
- rotate_x(angle: float) DXFGraphic ¶
Rotate entity inplace about x-axis, returns self (floating interface).
- Parameters
angle – rotation angle in radians
- rotate_y(angle: float) DXFGraphic ¶
Rotate entity inplace about y-axis, returns self (floating interface).
- Parameters
angle – rotation angle in radians
- rotate_z(angle: float) DXFGraphic ¶
Rotate entity inplace about z-axis, returns self (floating interface).
- Parameters
angle – rotation angle in radians
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, special value0x01000000
means transparency by block. An unset transparency value means transparency by layer. UseDXFGraphic.transparency
to get/set transparency as float value, and the propertiesDXFGraphic.is_transparency_by_block
andDXFGraphic.is_transparency_by_layer
to check special cases.(requires DXF R2004)
- DXFGraphic.dxf.shadow_mode¶
0
casts and receives shadows
1
casts shadows
2
receives shadows
3
ignores shadows
(requires DXF R2007)