MLine¶
The MLINE entity (DXF Reference).
Subclass of |
|
DXF type |
|
factory function |
|
Inherited DXF attributes |
|
Required DXF version |
DXF R2000 ( |
- class ezdxf.entities.MLine¶
- dxf.style_name¶
MLineStyle
name stored inDrawing.mline_styles
dictionary, useset_style()
to change the MLINESTYLE and update geometry accordingly.
- dxf.style_handle¶
Handle of
MLineStyle
, useset_style()
to change the MLINESTYLE and update geometry accordingly.
- dxf.scale_factor¶
MLINE scaling factor, use method
set_scale_factor()
to change the scaling factor and update geometry accordingly.
- dxf.justification¶
Justification defines the location of the MLINE in relation to the reference line, use method
set_justification()
to change the justification and update geometry accordingly.Constants defined in
ezdxf.lldxf.const
:dxf.justification
Value
MLINE_TOP
0
MLINE_ZERO
1
MLINE_BOTTOM
2
MLINE_RIGHT (alias)
0
MLINE_CENTER (alias)
1
MLINE_LEFT (alias)
2
- dxf.flags¶
Use method
close()
and the propertiesstart_caps
andend_caps
to change these flags.Constants defined in
ezdxf.lldxf.const
:dxf.flags
Value
MLINE_HAS_VERTEX
1
MLINE_CLOSED
2
MLINE_SUPPRESS_START_CAPS
4
MLINE_SUPPRESS_END_CAPS
8
- dxf.start_location¶
Start location of the reference line. (read only)
- dxf.count¶
Count of MLINE vertices. (read only)
- dxf.style_element_count¶
Count of elements in
MLineStyle
definition. (read only)
- dxf.extrusion¶
Normal vector of the entity plane, but MLINE is not an OCS entity, all vertices of the reference line are WCS! (read only)
- vertices¶
MLINE vertices as
MLineVertex
objects, stored in a regular Python list.
- property style: MLineStyle | None¶
Get associated MLINESTYLE.
- set_style(name: str) None ¶
Set MLINESTYLE by name and update geometry accordingly. The MLINESTYLE definition must exist.
- set_scale_factor(value: float) None ¶
Set the scale factor and update geometry accordingly.
- set_justification(value: int) None ¶
Set MLINE justification and update geometry accordingly. See
dxf.justification
for valid settings.
- close(state: bool = True) None ¶
Get/set closed state of MLINE and update geometry accordingly. Compatibility interface to
Polyline
- property start_caps: bool¶
Get/Set start caps state.
True
to enable start caps andFalse
tu suppress start caps.
- property end_caps: bool¶
Get/Set end caps state.
True
to enable end caps andFalse
tu suppress start caps.
- __len__()¶
Count of MLINE vertices.
- start_location() Vec3 ¶
Returns the start location of the reference line. Callback function for
dxf.start_location
.
- extend(vertices: Iterable[UVec]) None ¶
Append multiple vertices to the reference line.
It is possible to work with 3D vertices, but all vertices have to be in the same plane and the normal vector of this plan is stored as extrusion vector in the MLINE entity.
- clear() None ¶
Remove all MLINE vertices.
- update_geometry() None ¶
Regenerate the MLINE geometry based on current settings.
- generate_geometry(vertices: list[Vec3]) None ¶
Regenerate the MLINE geometry for new reference line defined by vertices.
- virtual_entities() Iterator[DXFGraphic] ¶
Yields virtual DXF primitives of the MLINE entity as LINE, ARC and HATCH entities.
These entities are located at the original positions, but are not stored in the entity database, have no handle and are not assigned to any layout.
- explode(target_layout: BaseLayout | None = None) EntityQuery ¶
Explode the MLINE entity as LINE, ARC and HATCH entities into target layout, if target layout is
None
, the target layout is the layout of the MLINE. This method destroys the source entity.Returns an
EntityQuery
container referencing all DXF primitives.- Parameters:
target_layout – target layout for DXF primitives,
None
for same layout as source entity.
- class ezdxf.entities.MLineVertex¶
- location¶
Reference line vertex location.
- line_direction¶
Reference line direction.
- miter_direction¶
- line_params¶
The line parameterization is a list of float values. The list may contain zero or more items.
The first value (miter-offset) is the distance from the vertex
location
along themiter_direction
vector to the point where the line element’s path intersects the miter vector.The next value (line-start-offset) is the distance along the
line_direction
from the miter/line path intersection point to the actual start of the line element.The next value (dash-length) is the distance from the start of the line element (dash) to the first break (gap) in the line element. The successive values continue to list the start and stop points of the line element in this segment of the mline.
- fill_params¶
The fill parameterization is also a list of float values. Similar to the line parameterization, it describes the parameterization of the fill area for this mline segment. The values are interpreted identically to the line parameters and when taken as a whole for all line elements in the mline segment, they define the boundary of the fill area for the mline segment.
- class ezdxf.entities.MLineStyle¶
The
MLineStyle
stores the style properties for the MLINE entity.- dxf.name¶
- dxf.description¶
- dxf.flags¶
- dxf.fill_color¶
AutoCAD Color Index (ACI) value of the fill color
- dxf.start_angle¶
- dxf.end_angle¶
- elements¶
MLineStyleElements
object
- update_all()¶
Update all MLINE entities using this MLINESTYLE.
The update is required if elements were added or removed or the offset of any element was changed.
- class ezdxf.entities.mline.MLineStyleElements¶
- elements¶
List of
MLineStyleElement
objects, one for each line element.
- MLineStyleElements.__len__()¶
- MLineStyleElements.__getitem__(item)¶
- MLineStyleElements.append(offset: float, color: int = 0, linetype: str = 'BYLAYER') None ¶
Append a new line element.
- Parameters:
offset – normal offset from the reference line: if justification is
MLINE_ZERO
, positive values are above and negative values are below the reference line.color – AutoCAD Color Index (ACI) value
linetype – linetype name