Draft ShapeString

From FreeCAD Documentation
Revision as of 21:56, 2 December 2013 by Renatorivo (talk | contribs)
Jump to navigation Jump to search

Draft ShapeString.svg Draft_ShapeString

Menu location
Draft -> ShapeString
Default shortcut
Introduced in version
See also


The ShapeString tool inserts a compound shape representing a text string at a given point in the current document. Text height, tracking and font can be specified.

Draft ShapeString Example400.png

How to use

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


  • To enter coordinates manually, simply enter the numbers, then press ENTER between each X, Y and Z component.
  • Pressing ESC will cancel the operation.
  • You can set a default font file in Draft/Prefences.


  • DataPosition: The base point of the compound shape
  • DataString: The contents of the text string
  • DataSize: The height of the letters in FC units
  • DataTracking: The inter-character spacing in FC units
  • DataFont File: The font definition file used to draw the string


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

  • Turns a text string into a Compound Shape using a specified font.


import FreeCAD,Draft
 Draft.makeShapeString("This is a sample text",


  • This tool is not yet generally available. It will be included in a future version. (post v0.13)
  • TrueType(*.ttf), OpenType(*.otf) and Type1(*.pfb) font files are supported.
  • Very small text heights may result in deformed character glyphs due to loss of detail in scaling.
  • The current version is limited to left-to-right layouts on a horizontal baseline.

Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎svenska • ‎čeština • ‎русский