Draft ShapeString/ru: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{docnav|[[Draft_Point|Point]]|[[Draft_Facebinder|Facebinder]]|[[Draft_Module|Draft_Module]]}}
{{Docnav
|[[Draft_Facebinder|Facebinder]]
|[[Draft_Hatch|Hatch]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Facebinder.svg
|IconR=Draft_Hatch.svg
|IconC=Workbench_Draft.svg
}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 6: Line 14:
|Name=Draft ShapeString
|Name=Draft ShapeString
|Name/ru=Draft ShapeString
|Name/ru=Draft ShapeString
|Workbenches=[[Draft Module/ru|Draft]], [[Arch Module/ru|Arch]]
|MenuLocation=Черчение → Текст в кривую ...
|MenuLocation=Черчение → Текст в кривую ...
|Shortcut=S S|SeeAlso=[[Draft Text/ru|Draft Text]], [[Part Extrude/ru|Part Extrude]]}}
|Workbenches=[[Draft_Workbench/ru|Draft]], [[Arch_Workbench/ru|Arch]]
|Shortcut={{KEY|S}} {{KEY|S}}
|Version=0.14
|SeeAlso=[[Draft Text/ru|Draft Text]], [[Part Extrude/ru|Part Extrude]]
}}
</div>
</div>


==Описание==
==Определение==


The ShapeString tool inserts a compound shape that represents a text string. Text height, tracking and font can be specified.
The [[Image:Draft_ShapeString.svg|24px]] '''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|Part Extrude]] command.
The resulting shape can be used with the [[Part Extrude]] tool to create 3D letters.


The Draft ShapeString command is not intended for standard text annotations. The [[Draft_Text|Draft Text]] command or the [[Draft_Label|Draft Label]] command should be used for that purpose.
To insert a simpler text element without a closed shape use [[Draft Text]]. To create a text label with a lead and an arrow use [[Draft Label]].


[[Image:Draft_ShapeString_Example400.png]]
[[Image:Draft_ShapeString_Example400.png]]
{{Caption|Single point required to position the Shapestring}}
{{Caption|Single point required to position the ShapeString}}


==How to use==
==Usage==


For Windows users: please read the [[#Font_file_selection_on_Windows|Font file selection on Windows]] paragraph first.
# Press the {{Button|[[Image:Draft_ShapeString16.png]] [[Draft_ShapeString|Draft ShapeString]]}} button, or press {{KEY|S}} then {{KEY|S}} keys.
# Click a point on the 3D view, or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button.
# Enter the desired text, and press {{KEY|Enter}}.
# Enter the desired size, and press {{KEY|Enter}}.
# Enter the desired tracking, and press {{KEY|Enter}}.
# Press {{KEY|Enter}} to accept the displayed font file, or press {{Button|...}} to select a font file.


# There are several ways to invoke the command:
[[Image:SSFontSelect.png]]
#* Press the {{Button|[[Image:Draft_ShapeString.svg|16px]] [[Draft_ShapeString|Draft ShapeString]]}} button.
#* Select the {{MenuCommand|Drafting → [[Image:Draft_ShapeString.svg|16px]] Shape from text}} option from the menu.
# The {{MenuCommand|ShapeString}} task panel opens.
# Click a point in the [[3D_view|3D view]], or type coordinates.
# Optionally press the {{Button|Reset Point}} button to reset the point to the origin.
# Enter a {{MenuCommand|String}}.
# Specify the {{MenuCommand|Height}}.
# To select a font do one of the following:
#* Enter a file path in the {{MenuCommand|Font file}} input box.
#* Press the {{Button|...}} button and select a file.
# Press the {{Button|OK}} button to finish the command.


==Options==
The text, size, tracking, and font can be changed after creation, by modifying the shape properties.

* Press {{KEY|Esc}} or the {{Button|Cancel}} button to abort the command.


==Notes==
Set the default font file in [[Draft Preferences]], in the {{Button|Texts and dimensions}} tab.
Supported fonts include TrueType (.ttf), OpenType (.otf), and Type 1 (.pfb).


* A Draft ShapeStrings can be edited by double-clicking it in the [[Tree_view|Tree view]]. {{Version|0.20}}
===Limitations===
* Supported fonts include TrueType ({{FileName|.ttf}}), OpenType ({{FileName|.otf}}) and Type 1 ({{FileName|.pfb}}).
* The command is restricted to LTR (left-to-right) text. Therefore at the moment RTL (right-to-left + top-to-bottom) text isn't supported.
* Very small text heights may result in deformed character shapes due to loss of detail in scaling.
* 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.
* The current version is limited to left-to-right writing.
* Draft ShapeStrings can also be created with the [[Macro_Fonts_Win10_PYMP|Macro Fonts Win10 PYMP]].
* To create text arranged in a circular fashion use the {{Button|[[File:FCCircularTextButtom.png|24px]] [[Macro_Circular Text|Circular Text]]}} macro.
* To create Draft ShapeStrings arranged in a circular fashion use the [[Macro_FCCircularText|Macro FCCircularText]].


==Font file selection on Windows==
==Options==

On Windows access to the default font folder is restricted. This affects the font file selection for ShapeStrings. There are three cases in FreeCAD where a font file for ShapeStrings can be specified: in the ShapeString task panel, when changing the {{PropertyData|Font File}} property of a ShapeString, and when specifying the default font file in the [[Draft_Preferences#Texts_and_dimensions|Draft Preferences]].

Pressing the {{Button|...}} button and then selecting a file from the default Windows font folder is not possible when using the native file dialog. There are a number of workarounds:
* Make sure {{MenuCommand|DontUseNativeFontDialog}} is set to {{True}}, which is the default value for this preference. This will only call a different, non-native, file dialog when pressing the {{Button|...}} button in the ShapeString task panel. With this file dialog the default Windows font folder can be accessed.
* Change {{MenuCommand|DontUseNativeDialog}} to {{True}}. This instructs FreeCAD to always use the non-native file dialog.
* Specify the font file in the input box. You can of course type the full path or copy-paste the path from the Windows File Explorer. But there is also another way to enter the path. If you enter {{Value|C:\}} a dropdown list will appear. Select {{Value|Windows}} from that list and add {{Value|\F}}. Select {{Value|Fonts}} from the new dropdown list. Finally add {{Value|\}} and the first letter(s) of the font file, and then select it from the dropdown list.
* Create a custom folder for your font files.

See the [[#Preferences|Preferences]] paragraph below for the location of the mentioned preferences.

==Tutorials==

* [[Draft_ShapeString_tutorial|Draft ShapeString tutorial]]: extrude a ShapeString, position it in 3D space, and create an engraving in another body.
* [https://forum.freecadweb.org/viewtopic.php?f=3&t=36623 How to use ShapeStrings in PartDesign]

==Preferences==

See also: [[Preferences_Editor|Preferences Editor]], [[Draft_Preferences|Draft Preferences]] and [[Std_DlgParameter|Std DlgParameter]].


* The default font file can be changed in the preferences: {{MenuCommand|Edit → Preferences... → Draft → Texts and dimensions → Default ShapeString font file}}.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button when you have the desired values to insert the point.
* For Windows users:
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the current command.
** Set {{MenuCommand|Tools → Edit parameters... → BaseApp → Preferences → Dialog → DontUseNativeFontDialog}} to {{True}} to use the non-native file dialog when selecting a font file from the ShapeString task panel.
** Alternatively, set {{MenuCommand|Tools → Edit parameters... → BaseApp → Preferences → Dialog → DontUseNativeDialog}} to {{True}} to always use the non-native file dialog.


==Properties==
==Properties==


See also: [[Property_editor|Property editor]].
* {{PropertyData|Position}}: specifies the position of the base point of the compound shape.

* {{PropertyData|Angle}}: specifies the rotation of the baseline of the shape.
A Draft ShapeString object is derived from a [[Part_Part2DObject|Part Part2DObject]] and inherits all its properties. It also has the following additional properties:
* {{PropertyData|Axis}}: specifies the axis to use for the rotation.

* {{PropertyData|String}}: specifies the text string to display; unlike the [[Draft Text]] tool, the [[Draft ShapeString]] can only display a single line.
===Data===
* {{PropertyData|Size}}: specifies the general height of the letters.

* {{PropertyData|Tracking}}: specifies the additional inter-character spacing in the string.
{{TitleProperty|Draft}}
* {{PropertyData|Font File}}: specifies the full path of the font file used to draw the string.

* {{PropertyData|Font File|File}}: specifies the path of the font file used to draw the text.
* {{PropertyData|Size|Length}}: specifies the general height of the text.
* {{PropertyData|String|String}}: specifies the text string to display. Unlike a [[Draft_Text|Draft Text]], a Draft ShapeString can only display a single text line.
* {{PropertyData|Tracking|Length}}: specifies the additional inter-character spacing of the text.

===View===

{{TitleProperty|Draft}}

* {{PropertyView|Pattern|Enumeration}}: specifies the [[Draft_Pattern|Draft Pattern]] with which to fill the faces of the text. This property only works if {{PropertyView|Display Mode}} is {{value|Flat Lines}}.
* {{PropertyView|Pattern Size|Float}}: specifies the size of the [[Draft_Pattern|Draft Pattern]].


==Scripting==
==Scripting==
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].


See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
The ShapeString tool can be used in [[macros]] and from the [[Python]] console by using the following function:

To create a Draft ShapeString use the {{incode|make_shapestring}} method ({{Version|0.19}}) of the Draft module. This method replaces the deprecated {{incode|makeShapeString}} method.

{{Code|code=
{{Code|code=
ShapeString = makeShapeString(String, FontFile, Size=100, Tracking=0)
shapestring = make_shapestring(String, FontFile, Size=100, Tracking=0)
}}
}}


* Creates a {{incode|ShapeString}} compound shape using the specified {{incode|String}} and the full path of a supported {{incode|FontFile}}.
* Creates a {{incode|shapestring}} compound shape using the specified {{incode|String}} and the full path of a supported {{incode|FontFile}}.
* {{incode|Size}} is the height of the resulting text in millimeters.
* {{incode|Size}} is the height of the resulting text in millimeters.
* {{incode|Tracking}} is the additional inter-character spacing in millimeters.
* {{incode|Tracking}} is the additional inter-character spacing in millimeters.
Line 72: Line 127:


Example:
Example:

{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft

doc = App.newDocument()


font1 = "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf"
font1 = "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf"
Line 79: Line 138:
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf"
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf"


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


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


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


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

doc.recompute()
}}
}}


==Tutorials==
* [[Draft_ShapeString_tutorial|Draft ShapeString tutorial]]: extrude a ShapeString, position it in 3D space, and create an engraving in another body.


{{Docnav
{{docnav|[[Draft_Point|Point]]|[[Draft_Facebinder|Facebinder]]|[[Draft_Module|Draft_Module]]}}
|[[Draft_Facebinder|Facebinder]]
{{Draft Tools navi}}
|[[Draft_Hatch|Hatch]]
{{Userdocnavi}}
|[[Draft_Workbench|Draft]]
{{clear}}
|IconL=Draft_Facebinder.svg
|IconR=Draft_Hatch.svg
|IconC=Workbench_Draft.svg
}}

{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 19:10, 24 April 2022

Draft ShapeString

Системное название
Draft ShapeString
Расположение в меню
Черчение → Текст в кривую ...
Верстаки
Draft, Arch
Быстрые клавиши
S S
Представлено в версии
0.14
См. также
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

For Windows users: please read the Font file selection on Windows paragraph first.

  1. There are several ways to invoke the command:
    • Press the Draft ShapeString button.
    • Select the Drafting → Shape from text option from the menu.
  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 Cancel button to abort the command.

Notes

  • A Draft ShapeStrings can be edited by double-clicking it in the Tree view. introduced in version 0.20
  • Supported fonts include TrueType (.ttf), OpenType (.otf) and Type 1 (.pfb).
  • The command is restricted to LTR (left-to-right) text. Therefore at the moment RTL (right-to-left + top-to-bottom) text isn't supported.
  • 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.

Font file selection on Windows

On Windows access to the default font folder is restricted. This affects the font file selection for ShapeStrings. There are three cases in FreeCAD where a font file for ShapeStrings can be specified: in the ShapeString task panel, when changing the ДанныеFont File property of a ShapeString, and when specifying the default font file in the Draft Preferences.

Pressing the ... button and then selecting a file from the default Windows font folder is not possible when using the native file dialog. There are a number of workarounds:

  • Make sure DontUseNativeFontDialog is set to true, which is the default value for this preference. This will only call a different, non-native, file dialog when pressing the ... button in the ShapeString task panel. With this file dialog the default Windows font folder can be accessed.
  • Change DontUseNativeDialog to true. This instructs FreeCAD to always use the non-native file dialog.
  • Specify the font file in the input box. You can of course type the full path or copy-paste the path from the Windows File Explorer. But there is also another way to enter the path. If you enter C:\ a dropdown list will appear. Select Windows from that list and add \F. Select Fonts from the new dropdown list. Finally add \ and the first letter(s) of the font file, and then select it from the dropdown list.
  • Create a custom folder for your font files.

See the Preferences paragraph below for the location of the mentioned preferences.

Tutorials

Preferences

See also: Preferences Editor, Draft Preferences and Std DlgParameter.

  • The default font file can be changed in the preferences: Edit → Preferences... → Draft → Texts and dimensions → Default ShapeString font file.
  • For Windows users:
    • Set Tools → Edit parameters... → BaseApp → Preferences → Dialog → DontUseNativeFontDialog to true to use the non-native file dialog when selecting a font file from the ShapeString task panel.
    • Alternatively, set Tools → Edit parameters... → BaseApp → Preferences → Dialog → DontUseNativeDialog to true to always use the non-native file dialog.

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()