Draft Textform

From FreeCAD Documentation
Revision as of 12:37, 28 December 2019 by Maker (talk | contribs) (Created page with "{{Caption|Einfacher Punkt zur Positionierung des Formfolge erforderlich}}")

Draft ShapeString

Menüeintrag
Draft -> ShapeString
Arbeitsbereich
Draft, Arch
Standardtastenkürzel
S S
Eingeführt in Version
-
Siehe auch
Draft Text, Part Extrude

Beschreibung

Das Werkzeug Formkette fügt eine Verbundform ein, die eine Zeichenkette darstellt. Die Texthöhe, die Nachführung und die Schriftart können angegeben werden. Die resultierende Form kann mit dem Werkzeug Teil Extrusion verwendet werden, um 3D Buchstaben zu erzeugen.

Um ein einfacheres Textelement ohne geschlossene Form einzufügen, verwende Entwurf Text. Um eine Textbeschriftung mit einem Anfang und einem Pfeil zu erstellen, verwende Entwurf Beschriftung

Einfacher Punkt zur Positionierung des Formfolge erforderlich

How to use

If your Draft interface mode is set to ToolBar:

  1. Press the Draft ShapeString button, or press S then S keys.
  2. Click a point on the 3D view, or type a coordinate and press the add point button.
  3. Enter the desired text, and press Enter.
  4. Enter the desired size, and press Enter.
  5. Enter the desired tracking, and press Enter.
  6. Press Enter to accept the displayed font file, or press ... to select a font file.

If your Draft interface mode is set to TaskView:

  1. Press the Draft ShapeString button, or press S then S keys.
  2. A dialog will appear where you can specify your parameters.
  3. Press OK to create the ShapeString.


  • The text, size, tracking, and font can be changed after creation, by modifying the values in the Property Editor.
  • You will want to set the default font file in Draft Preferences, in the Texts and dimensions tab. This will prefill the font file box in the dialog.
  • Supported fonts include TrueType (.ttf), OpenType (.otf), and Type 1 (.pfb).

Limitations

  • Very small text heights may result in deformed character shapes due to loss of detail in scaling.
  • The current version is limited to left-to-right writing.
  • To create text arranged in a circular fashion use the Circular Text macro.

Options

  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component. You can press the add point button when you have the desired values to insert the point.
  • Press Esc or the Close button to abort the current command.

Properties

  • DatenPosition: specifies the position of the base point of the compound shape.
  • DatenAngle: specifies the rotation of the baseline of the shape.
  • DatenAxis: specifies the axis to use for the rotation.
  • DatenString: specifies the text string to display; unlike the Draft Text tool, the Draft ShapeString can only display a single line.
  • DatenSize: specifies the general height of the letters.
  • DatenTracking: specifies the additional inter-character spacing in the string.
  • DatenFont File: specifies the full path of the font file used to draw the string.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

The ShapeString tool can be used in macros and from the Python console by using the following function:

ShapeString = makeShapeString(String, FontFile, Size=100, Tracking=0)
  • Creates a ShapeString compound shape using the specified String and the full path of a supported FontFile.
  • Size is the height of the resulting text in millimeters.
  • Tracking is the additional inter-character spacing in millimeters.

The placement of the ShapeString can be changed by overwriting its Placement attribute, or by individually overwriting its Placement.Base and Placement.Rotation attributes.

Example:

import FreeCAD, Draft

font1 = "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf"
font2 = "/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf"
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf"

S1 = Draft.makeShapeString("This is a sample text", font1, 200)

S2 = Draft.makeShapeString("Inclined text", font2, 200, 10)

ZAxis = FreeCAD.Vector(0, 0, 1)
p2 = FreeCAD.Vector(-1000, 500, 0)
place2 = FreeCAD.Placement(p2, FreeCAD.Rotation(ZAxis, 45))
S2.Placement = place2

S3 = Draft.makeShapeString("Upside-down text", font3, 200, 10)
S3.Placement.Base = FreeCAD.Vector(0, -1000, 0)
S3.Placement.Rotation = FreeCAD.Rotation(ZAxis, 180)

Tutorials

Notes

  • Many fonts will generate problematic geometric. This is because font contours are allowed to overlap, have small gaps and have varying directions within a glyph. These conditions are considered errors in the Wires used to define Faces. Options are to correct the font definition with a tool like FontForge or to use another font.