MText¶
The MTEXT entity (DXF Reference) fits a multiline text in a specified width but can extend vertically to an indefinite
length. You can format individual words or characters within the MText
.
See also
Subclass of |
|
DXF type |
|
Factory function |
|
Inherited DXF attributes |
|
Required DXF version |
DXF R2000 ( |
- class ezdxf.entities.MText¶
-
- dxf.char_height¶
Initial text height (float); default=1.0
- dxf.width¶
Reference text width (float), forces text wrapping at given width.
- dxf.attachment_point¶
Constants defined in
ezdxf.lldxf.const
:MText.dxf.attachment_point
Value
MTEXT_TOP_LEFT
1
MTEXT_TOP_CENTER
2
MTEXT_TOP_RIGHT
3
MTEXT_MIDDLE_LEFT
4
MTEXT_MIDDLE_CENTER
5
MTEXT_MIDDLE_RIGHT
6
MTEXT_BOTTOM_LEFT
7
MTEXT_BOTTOM_CENTER
8
MTEXT_BOTTOM_RIGHT
9
- dxf.flow_direction¶
Constants defined in
ezdxf.const
:MText.dxf.flow_direction
Value
Description
MTEXT_LEFT_TO_RIGHT
1
left to right
MTEXT_TOP_TO_BOTTOM
3
top to bottom
MTEXT_BY_STYLE
5
by style (the flow direction is inherited from the associated text style)
- dxf.style¶
Text style (string); default =
'STANDARD'
- dxf.text_direction¶
X-axis direction vector in WCS (3D Point); default value is
(1, 0, 0)
; ifdxf.rotation
anddxf.text_direction
are present,dxf.text_direction
wins.
- dxf.rotation¶
Text rotation in degrees (float); default =
0
- dxf.line_spacing_style¶
Line spacing style (int), see table below
- dxf.line_spacing_factor¶
Percentage of default (3-on-5) line spacing to be applied. Valid values range from
0.25
to4.00
(float).Constants defined in
ezdxf.lldxf.const
:MText.dxf.line_spacing_style
Value
Description
MTEXT_AT_LEAST
1
taller characters will override
MTEXT_EXACT
2
taller characters will not override
- dxf.bg_fill¶
Defines the background fill type. (DXF R2007)
MText.dxf.bg_fill
Value
Description
MTEXT_BG_OFF
0
no background color
MTEXT_BG_COLOR
1
use specified color
MTEXT_BG_WINDOW_COLOR
2
use window color (?)
MTEXT_BG_CANVAS_COLOR
3
use canvas background color
- dxf.box_fill_scale¶
Determines how much border there is around the text. (DXF R2007)
Requires: bg_fill, bg_fill_color else AutoCAD complains
Better use
set_bg_color()
- dxf.bg_fill_color¶
Background fill color as AutoCAD Color Index (ACI) (DXF R2007)
Better use
set_bg_color()
- dxf.bg_fill_true_color¶
Background fill color as true color value (DXF R2007), also
dxf.bg_fill_color
must be present, else AutoCAD complains.Better use
set_bg_color()
- dxf.bg_fill_color_name¶
Background fill color as name string (?) (DXF R2007), also
dxf.bg_fill_color
must be present, else AutoCAD complains.Better use
set_bg_color()
- dxf.transparency¶
Transparency of background fill color (DXF R2007), not supported by AutoCAD or BricsCAD.
- text¶
MTEXT content as string (read/write).
Line endings
\n
will be replaced by the MTEXT line endings\P
at DXF export, but not vice versa\P
by\n
at DXF file loading.
- set_location(insert: Vertex, rotation: float = None, attachment_point: int = None) MText ¶
Set attributes
dxf.insert
,dxf.rotation
anddxf.attachment_point
,None
fordxf.rotation
ordxf.attachment_point
preserves the existing value.
- get_rotation() float ¶
Get text rotation in degrees, independent if it is defined by
dxf.rotation
ordxf.text_direction
.
- set_rotation(angle: float) ezdxf.entities.mtext.MText ¶
Set attribute
rotation
to angle (in degrees) and deletesdxf.text_direction
if present.
- get_text_direction() ezdxf.math._vector.Vec3 ¶
Returns the horizontal text direction as
Vec3
object, even if only the text rotation is defined.
- set_bg_color(color: Optional[Union[int, str, Tuple[int, int, int]]], scale: float = 1.5, text_frame=False)¶
Set background color as AutoCAD Color Index (ACI) value or as name string or as RGB tuple
(r, g, b)
.Use special color name
canvas
, to set background color to canvas background color.Use color =
None
to remove the background filling.Setting only a text border is supported (color`=``None`), but in this case the scaling is always 1.5.
- Parameters
color – color as AutoCAD Color Index (ACI), string, RGB tuple or
None
scale – determines how much border there is around the text, the value is based on the text height, and should be in the range of [1, 5], where 1 fits exact the MText entity.
text_frame – draw a text frame in text color if
True
- plain_text(split=False, fast=True) Union[List[str], str] ¶
Returns the text content without inline formatting codes.
The “fast” mode is accurate if the DXF content was created by reliable (and newer) CAD applications like AutoCAD or BricsCAD. The “accurate” mode is for some rare cases where the content was created by older CAD applications or unreliable DXF libraries and CAD applications.
- Parameters
split – split content text at line breaks if
True
and returns a list of strings without line endingsfast – uses the “fast” mode to extract the plain MTEXT content if
True
or the “accurate” mode if set toFalse
New in version 0.16.6: fast argument
- all_columns_plain_text(split=False) Union[List[str], str] ¶
Returns the text content of all columns without inline formatting codes.
- Parameters
split – split content text at line breaks if
True
and returns a list of strings without line endings
New in version 0.17.
- all_columns_raw_content() str ¶
Returns the text content of all columns as a single string including the inline formatting codes.
New in version 0.17.
MText Inline Codes¶
Code |
Description |
---|---|
\L |
Start underline |
\l |
Stop underline |
\O |
Start overline |
\o |
Stop overline |
\K |
Start strike-through |
\k |
Stop strike-through |
\P |
New paragraph (new line) |
\p |
Paragraphs properties: indentation, alignment, tabulator stops |
\X |
Paragraph wrap on the dimension line (only in dimensions) |
\Q |
Slanting (oblique) text by angle - e.g. \Q30; |
\H |
Text height - e.g. relative \H3x; absolut \H3; |
\W |
Text width - e.g. relative \W0.8x; absolut \W0.8; |
\T |
Tracking, character spacing - e.g. relative \T0.5x; absolut \T2; |
\F |
Font selection e.g. \Fgdt;o - GDT-tolerance |
\S |
Stacking, fractions e.g. \SA^ B; space after “^” is required to avoid caret decoding, \SX/Y; \S1#4; |
\A |
Alignment
|
\C |
Color change
|
\~ |
Non breaking space |
{} |
Braces - define the text area influenced by the code, codes and braces can be nested up to 8 levels deep |
\ |
Escape character - e.g. \{ = “{“ |
Convenient constants defined in MTextEditor:¶
Constant |
Description |
---|---|
UNDERLINE_START |
start underline text |
UNDERLINE_STOP |
stop underline text |
OVERSTRIKE_START |
start overline |
OVERSTRIKE_STOP |
stop overline |
STRIKE_START |
start strike trough |
STRIKE_STOP |
stop strike trough |
GROUP_START |
start of group |
GROUP_END |
end of group |
NEW_LINE |
start in new line |
NBSP |
none breaking space |