---
GuiCommand:
Name: Draft Text
MenuLocation: Annotation , Text
Workbenches: Draft_Workbench, Arch_Workbench
Shortcut: **T** **E**
Version: 0.7
SeeAlso: Draft_Label, Draft_ShapeString
---
The Draft Text command creates a multi-line text at a given point.
To create a text element with an arrow use the Draft Label command instead.
*Single point required to position the text*See also: Draft Tray and Draft Snap.
- There are several ways to invoke the command:
- Press the Text button.
- Select the Annotation → Text option from the menu.
- Use the keyboard shortcut: T then E.
- The Text task panel opens. See Options for more information.
- Pick a point in the 3D view, or type coordinates and press the Enter point button.
- Enter the desired text, press Enter to start a new line.
- Press Enter twice or press the Create text button to finish the command.
The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 0.22).
- To manually enter coordinates enter the X, Y and Z component, and press Enter after each. Or you can press the Enter point button when you have the desired values. It is advisable to move the pointer out of the 3D view before entering coordinates.
- Press G or click the Global checkbox to toggle global mode. If global mode is on, coordinates are relative to the global coordinate system, else they are relative to the working plane coordinate system. (v0.20)
- Press N or click the Continue checkbox to toggle continue mode. If continue mode is on, the command will restart after finishing, allowing you to continue creating texts. The shortcut does not work in the second task panel. This option is not available in the first task panel in FreeCAD version 0.19 and earlier.
- Press S to switch Draft snapping on or off.
- Press Esc or the Close button to abort the command.
- A Draft Text can be edited by double-clicking it in the Tree view. (v0.20)
- Draft Texts created or saved with FreeCAD version 0.21 are not backward compatible.
See also: Property editor.
A Draft Text object is derived from an App FeaturePython object and inherits all its properties. The following properties are additional unless otherwise stated.
{{TitleProperty|Base}}
-
Placement|Placement: specifies the position of the text in the 3D view. See Placement.
-
Text|StringList: specifies the contents of the text. Each item in the list represents a new text line.
{{TitleProperty|Annotation}}
-
Annotation Style|Enumeration: specifies the annotation style applied to the text. See Draft AnnotationStyleEditor.
-
Scale Multiplier|Float: specifies the general scaling factor applied to the text.
{{TitleProperty|Display Options}}
- Display Mode|Enumeration: specifies how the text is displayed. If it is {{value|World}} the text will be displayed on a plane defined by its Placement. If it is {{value|Screen}} the text will always face the screen. This is an inherited property. The mentioned options are the renamed options ((v0.21) ).
{{TitleProperty|Graphics}}
-
Line Color|Color: not used.
-
Line Width|Float: not used.
{{TitleProperty|Text}}
-
Font Name|Font: specifies the font used to draw the text. It can be a font name, such as {{value|Arial}}, a default style such as {{value|sans}}, {{value|serif}} or {{value|mono}}, a family such as {{value|Arial,Helvetica,sans}}, or a name with a style such as {{value|Arial:Bold}}. If the given font is not found on the system, a default font is used instead.
-
Font Size|Length: specifies the size of the letters. The text can be invisible in the 3D view if this value is very small.
-
Justification|Enumeration: specifies if the alignment of the text: {{value|Left}}, {{value|Center}} or {{value|Right}}.
-
Line Spacing|Float: specifies the factor applied to the default line height of the text.
-
Text Color|Color: specifies the color of the text.
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To create a Draft Text use the make_text
method ((v0.19) ) of the Draft module. This method replaces the deprecated makeText
method.
text = make_text(string, placement=None, screen=False)
-
Creates a
text
object, atplacement
, which can be aFreeCAD.Placement
, but also aFreeCAD.Rotation
or aFreeCAD.Vector
. -
string
is a string or a list of strings. If it is a list, each element is displayed on its own line. -
If
screen
isTrue
, the text always faces the camera, otherwise it is displayed in a plane defined by its Placement.
The view properties of text
can be changed by overwriting its attributes; for example, overwrite ViewObject.FontSize
with the new size in millimeters.
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
t1 = "This is a sample text"
p1 = App.Vector(0, 0, 0)
t2 = ["First line", "second line"]
p2 = App.Vector(1000, 1000, 0)
text1 = Draft.make_text(t1, p1)
text2 = Draft.make_text(t2, p2)
text1.ViewObject.FontSize = 200
text2.ViewObject.FontSize = 200
zaxis = App.Vector(0, 0, 1)
t3 = ["Upside", "down"]
p3 = App.Vector(-1000, -500, 0)
place3 = App.Placement(p3, App.Rotation(zaxis, 180))
text3 = Draft.make_text(t3, place3)
text3.ViewObject.FontSize = 200
doc.recompute()
⏵ documentation index > Draft > Draft Text