Difference between revisions of "Draft ShapeString"

From FreeCAD Documentation
Jump to navigation Jump to search
(Add SeeAlso to the GuiCommand template)
Line 2: Line 2:
{{GuiCommand|Name=Draft ShapeString|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]|MenuLocation=Draft → Shape from text ...|Shortcut=S S|SeeAlso=[[Draft Text]], [[Part Extrude]]}}
{{GuiCommand|Name=Draft ShapeString|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]|MenuLocation=Draft → Shape from text ...|Shortcut=S S|SeeAlso=[[Draft Text|Draft Text]], [[Part Extrude|Part Extrude]]}}
==Description== <!--T:1-->
==Description== <!--T:1-->

Revision as of 11:15, 2 November 2018

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

Draft ShapeString.svg Draft ShapeString

Menu location
Draft → Shape from text ...
Draft, Arch
Default shortcut
Introduced in version
See also
Draft Text, Part Extrude


The ShapeString tool inserts a compound shape that represents a text string. Text height, tracking and font can be specified. The resulting shape can be used with the Part Extrude tool to create 3D letters.

The Draft Text tool is a simpler alternative that does not produce a closed shape.

Draft ShapeString Example400.png

How to use

  1. Press the Draft ShapeString16.png Draft Shape from text ... 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 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
  • FontFile is mandatory and must be the full path of a supported font file
  • Size is the height of the resulting text in millimeters
  • Tracking is the additional inter-character spacing in millimeters


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

Selecting A Font


ShapeString uses the internal geometry of a font to make FreeCAD shapes. To do this it must read the actual font file (*.tff, etc). If the Font Selection box is empty, you must type the full path to the font file or use ... to select a font file.


  • This tool is not available in FreeCAD versions anterior to 0.14
  • 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.
  • For creating curved text you can use the macro FCCircularTextButtom.pngCircular Text