Draft Text: Difference between revisions
(Data section) |
(Code, Category:Draft) |
||
Line 50: | Line 50: | ||
==Scripting== <!--T:8--> |
==Scripting== <!--T:8--> |
||
{{emphasis|See also:}} [[FreeCAD Scripting Basics]], [[Draft API]], and the [https://www.freecadweb.org/api autogenerated API documentation]. |
|||
⚫ | |||
⚫ | |||
</translate> |
</translate> |
||
{{Code|code= |
{{Code|code= |
||
Line 57: | Line 59: | ||
<translate> |
<translate> |
||
<!--T:9--> |
<!--T:9--> |
||
* Creates a |
* Creates a {{incode|Text}} object, at a {{incode|point}} defined by a {{incode|FreeCAD.Vector}}. |
||
* |
* {{incode|stringlist}} is a string, or a list of strings; if it's a list, each element is displayed in its own line. |
||
⚫ | |||
* The current [[Draft Linestyle]] specified in preferences are used |
|||
⚫ | |||
The placement of the Text can be changed by modifying its {{incode|Placement}} attribute. |
|||
<!--T:10--> |
<!--T:10--> |
||
Line 67: | Line 70: | ||
{{Code|code= |
{{Code|code= |
||
import FreeCAD, Draft |
import FreeCAD, Draft |
||
p1 = FreeCAD.Vector(0, 0, 0) |
|||
t1 = "This is a sample text" |
|||
p2 = FreeCAD.Vector(1000, 1000, 0) |
|||
t2 = ["First line", "second line"] |
|||
Text1 = Draft.makeText(t1, point=p1) |
|||
Text2 = Draft.makeText(t2, point=p2) |
|||
p3 = FreeCAD.Vector(-1000, -500, 0) |
|||
t3 = ["Upside", "down"] |
|||
Text3 = Draft.makeText(t3, point=p3) |
|||
Zaxis = FreeCAD.Vector(0,0,1) |
|||
rotation180 = FreeCAD.Placement(p3, FreeCAD.Rotation(Zaxis, 180)) |
|||
Text3.Placement = rotation180 |
|||
}} |
}} |
||
{{clear}} |
{{clear}} |
||
[[Category:Draft]] |
Revision as of 04:42, 7 November 2018
Draft Text |
Menu location |
---|
Draft → Text |
Workbenches |
Draft, Arch |
Default shortcut |
T E |
Introduced in version |
- |
See also |
Draft ShapeString |
Description
The Text tool inserts a piece of text at a given point in the current document. It uses the Draft Linestyle set on the Draft Tray.
To create solid text shapes use Draft ShapeString with Part Extrude.
How to use
- Press the Draft Text button, or press T then E keys.
- Click a point on the 3D view, or type a coordinate.
- Enter the desired text, pressing Enter between each line.
- Press Enter twice to finish the operation.
Options
- To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component.
- Press Ctrl to force snapping your point to the nearest snap location, independently of the distance.
- Press Enter or ↓ Down arrow to enter a new line of text.
- Press ↑ Up arrow to edit the previous line of text.
- Press Enter or ↓ Down arrow twice to finish editing the text.
- Press Esc or the Close button to abort the current command.
Properties
Data
- DataText: specifies the contents of the text block as a list of strings; each element on the list, separated by a comma, indicates a new line.
- DataPosition: specifies the base point of the first line of the text block.
- DataAngle: specifies the rotation of the baseline of the first line of the text block.
- DataAxis: specifies the axis to use for the rotation.
View
- ViewDisplay Mode: if "3D text" the text is aligned to the scene axes, initially lying on the XY plane; if "2D text" the text always faces the camera.
- ViewFont Name: specifies the font to use to draw the text. It can be a font name, such as "Arial", a default style such as "sans", "serif" or "mono", a family such as "Arial,Helvetica,sans" or a name with a style such as "Arial:Bold". If the given font is not found on the system, a generic one is used instead.
- ViewFont Size: specifies the size of the letters.
- ViewJustification: specifies if the text aligns to the left, right or at the center of the base point.
- ViewLine Spacing: specifies the space between lines of text.
Scripting
See also: FreeCAD Scripting Basics, Draft API, and the autogenerated API documentation.
The Text tool can be used in macros and from the Python console by using the following function:
Text = makeText(stringlist, point=Vector(0,0,0), screen=False)
- Creates a
Text
object, at apoint
defined by aFreeCAD.Vector
. stringlist
is a string, or a list of strings; if it's a list, each element is displayed in its own line.- If
screen
isTrue
, the text always faces the camera view direction, otherwise it aligns with the scene axes, and lies on the XY plane.
The placement of the Text can be changed by modifying its Placement
attribute.
Example:
import FreeCAD, Draft
p1 = FreeCAD.Vector(0, 0, 0)
t1 = "This is a sample text"
p2 = FreeCAD.Vector(1000, 1000, 0)
t2 = ["First line", "second line"]
Text1 = Draft.makeText(t1, point=p1)
Text2 = Draft.makeText(t2, point=p2)
p3 = FreeCAD.Vector(-1000, -500, 0)
t3 = ["Upside", "down"]
Text3 = Draft.makeText(t3, point=p3)
Zaxis = FreeCAD.Vector(0,0,1)
rotation180 = FreeCAD.Placement(p3, FreeCAD.Rotation(Zaxis, 180))
Text3.Placement = rotation180