DXF Entity Base Class¶
Common base class for all DXF entities and objects.
Warning
Do not instantiate entity classes by yourself - always use the provided factory functions!
- class ezdxf.entities.DXFEntity¶
- dxf¶
The DXF attributes namespace:
# set attribute value entity.dxf.layer = 'MyLayer' # get attribute value linetype = entity.dxf.linetype # delete attribute del entity.dxf.linetype
- dxf.handle¶
DXF handle is a unique identifier as plain hex string like
F000
. (feature for experts)
- dxf.owner¶
Handle to owner as plain hex string like
F000
. (feature for experts)
- property is_alive: bool¶
Is
False
if entity has been deleted.
- property is_virtual: bool¶
Is
True
if entity is a virtual entity.
- property is_bound: bool¶
Is
True
if entity is bound to DXF document.
- property is_copy: bool¶
Is
True
if the entity is a copy.
- property uuid: UUID¶
Returns a UUID, which allows to distinguish even virtual entities without a handle.
Dynamic attribute: this UUID will be created at the first request.
- property source_of_copy: DXFEntity | None¶
The immediate source entity if this entity is a copy else
None
. Never references a destroyed entity.
- property origin_of_copy: DXFEntity | None¶
The origin source entity if this entity is a copy else
None
. References the first non-virtual source entity and never references a destroyed entity.
- property has_source_block_reference: bool¶
Is
True
if this virtual entity was created by a block reference.
- property source_block_reference: Insert | None¶
The source block reference (INSERT) which created this virtual entity. The property is
None
if this entity was not created by a block reference.
- dxftype() str ¶
Get DXF type as string, like
LINE
for the line entity.
- __str__() str ¶
Returns a simple string representation.
- __repr__() str ¶
Returns a simple string representation including the class.
- has_dxf_attrib(key: str) bool ¶
Returns
True
if DXF attribute key really exist.Raises
DXFAttributeError
if key is not an supported DXF attribute.
- is_supported_dxf_attrib(key: str) bool ¶
Returns
True
if DXF attrib key is supported by this entity. Does not grant that attribute key really exist.
- get_dxf_attrib(key: str, default: Any = None) Any ¶
Get DXF attribute key, returns default if key doesn’t exist, or raise
DXFValueError
if default isDXFValueError
and no DXF default value is defined:layer = entity.get_dxf_attrib("layer") # same as layer = entity.dxf.layer
Raises
DXFAttributeError
if key is not an supported DXF attribute.
- set_dxf_attrib(key: str, value: Any) None ¶
Set new value for DXF attribute key:
entity.set_dxf_attrib("layer", "MyLayer") # same as entity.dxf.layer = "MyLayer"
Raises
DXFAttributeError
if key is not an supported DXF attribute.
- del_dxf_attrib(key: str) None ¶
Delete DXF attribute key, does not raise an error if attribute is supported but not present.
Raises
DXFAttributeError
if key is not an supported DXF attribute.
- dxfattribs(drop: set[str] | None = None) dict ¶
Returns a
dict
with all existing DXF attributes and their values and exclude all DXF attributes listed in set drop.
- update_dxf_attribs(dxfattribs: dict) None ¶
Set DXF attributes by a
dict
like{'layer': 'test', 'color': 4}
.
- set_flag_state(flag: int, state: bool = True, name: str = 'flags') None ¶
Set binary coded flag of DXF attribute name to 1 (on) if state is
True
, set flag to 0 (off) if state isFalse
.
- get_flag_state(flag: int, name: str = 'flags') bool ¶
Returns
True
if any flag of DXF attribute is 1 (on), elseFalse
. Always check only one flag state at the time.
- has_extension_dict¶
Returns
True
if entity has an attachedExtensionDict
instance.
- get_extension_dict() ExtensionDict ¶
Returns the existing
ExtensionDict
instance.- Raises:
AttributeError – extension dict does not exist
- new_extension_dict() ExtensionDict ¶
Create a new
ExtensionDict
instance.
- discard_extension_dict() None ¶
Delete
ExtensionDict
instance.
- discard_empty_extension_dict() None ¶
Delete
ExtensionDict
instance when empty.
- has_app_data(appid: str) bool ¶
Returns
True
if application defined data for appid exist.
- get_app_data(appid: str) Tags ¶
Returns application defined data for appid.
- Parameters:
appid – application name as defined in the APPID table.
- Raises:
DXFValueError – no data for appid found
- set_app_data(appid: str, tags: Iterable) None ¶
Set application defined data for appid as iterable of tags.
- Parameters:
appid – application name as defined in the APPID table.
tags – iterable of (code, value) tuples or
DXFTag
- discard_app_data(appid: str)¶
Discard application defined data for appid. Does not raise an exception if no data for appid exist.
- has_xdata(appid: str) bool ¶
Returns
True
if extended data for appid exist.
- get_xdata(appid: str) Tags ¶
Returns extended data for appid.
- Parameters:
appid – application name as defined in the APPID table.
- Raises:
DXFValueError – no extended data for appid found
- set_xdata(appid: str, tags: Iterable) None ¶
Set extended data for appid as iterable of tags.
- Parameters:
appid – application name as defined in the APPID table.
tags – iterable of (code, value) tuples or
DXFTag
- discard_xdata(appid: str) None ¶
Discard extended data for appid. Does not raise an exception if no extended data for appid exist.
- has_xdata_list(appid: str, name: str) bool ¶
Returns
True
if a tag list name for extended data appid exist.
- get_xdata_list(appid: str, name: str) Tags ¶
Returns tag list name for extended data appid.
- Parameters:
appid – application name as defined in the APPID table.
name – extended data list name
- Raises:
DXFValueError – no extended data for appid found or no data list name not found
- set_xdata_list(appid: str, name: str, tags: Iterable) None ¶
Set tag list name for extended data appid as iterable of tags.
- Parameters:
appid – application name as defined in the APPID table.
name – extended data list name
tags – iterable of (code, value) tuples or
DXFTag
- discard_xdata_list(appid: str, name: str) None ¶
Discard tag list name for extended data appid. Does not raise an exception if no extended data for appid or no tag list name exist.
- replace_xdata_list(appid: str, name: str, tags: Iterable) None ¶
Replaces tag list name for existing extended data appid by tags. Appends new list if tag list name do not exist, but raises
DXFValueError
if extended data appid do not exist.- Parameters:
appid – application name as defined in the APPID table.
name – extended data list name
tags – iterable of (code, value) tuples or
DXFTag
- Raises:
DXFValueError – no extended data for appid found
- has_reactors() bool ¶
Returns
True
if entity has reactors.
- get_reactors() list[str] ¶
Returns associated reactors as list of handles.
- set_reactors(handles: Iterable[str]) None ¶
Set reactors as list of handles.
- append_reactor_handle(handle: str) None ¶
Append handle to reactors.
- discard_reactor_handle(handle: str) None ¶
Discard handle from reactors. Does not raise an exception if handle does not exist.