Draft ShapeString/ru

From FreeCAD Documentation
Revision as of 11:23, 4 May 2021 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Draft ShapeString

Системное название
Draft ShapeString
Расположение в меню
Черчение → Текст в кривую ...
Верстаки
Draft, Arch
Быстрые клавиши
S S
Представлено в версии
-
См. также
Draft Text, Part Extrude

Описание

The Draft ShapeString command creates a compound shape that represents a text string. This shape can be used to create 3D letters with the Part Extrude command.

The Draft ShapeString command is not intended for standard text annotations. The Draft Text command or the Draft Label command should be used for that purpose.

Single point required to position the ShapeString

Usage

  1. There are several ways to invoke the command:
    • Press the Draft ShapeString button.
    • Select the Drafting → Shape from text option from the menu.
    • Use the keyboard shortcut: S then S.
  2. The ShapeString task panel opens.
  3. Click a point in the 3D view, or type coordinates.
  4. Optionally press the Reset Point button to reset the point to the origin.
  5. Enter a String.
  6. Specify the Height.
  7. To select a font do one of the following:
    • Enter a file path in the Font file input box.
    • Press the ... button and select a file.
  8. Press the OK button to finish the command.

Options

  • Press Esc or the Close button to abort the command.

Preferences

  • The default font file can be changed in the preferences: Edit → Preferences... → Draft → Texts and dimensions → Default ShapeString font file. See Draft Preferences.

Notes

  • Supported fonts include TrueType (.ttf), OpenType (.otf) and Type 1 (.pfb).
  • The command is restricted to left-to-right text.
  • Very small text heights may result in deformed character shapes due to loss of detail in scaling.
  • Many fonts will generate problematic geometry. 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 wires used to define faces.
  • Draft ShapeStrings can also be created with the Macro Fonts Win10 PYMP.
  • To create Draft ShapeStrings arranged in a circular fashion use the Macro FCCircularText.

Tutorials

Properties

See also: Property editor.

A Draft ShapeString object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:

Data

Draft

  • ДанныеFont File (File): specifies the path of the font file used to draw the text.
  • ДанныеSize (Length): specifies the general height of the text.
  • ДанныеString (String): specifies the text string to display. Unlike a Draft Text, a Draft ShapeString can only display a single text line.
  • ДанныеTracking (Length): specifies the additional inter-character spacing of the text.

View

Draft

  • ВидPattern (Enumeration): specifies the Draft Pattern with which to fill the faces of the text. This property only works if ВидDisplay Mode is Flat Lines.
  • ВидPattern Size (Float): specifies the size of the Draft Pattern.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft ShapeString use the make_shapestring method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeShapeString method.

shapestring = make_shapestring(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 as App
import Draft

doc = App.newDocument()

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.make_shapestring("This is a sample text", font1, 200)

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

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

S3 = Draft.make_shapestring("Upside-down text", font3, 200, 10)
S3.Placement.Base = App.Vector(0, -1000, 0)
S3.Placement.Rotation = App.Rotation(zaxis, 180)

doc.recompute()