Draft ShapeString/en: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{Docnav |
{{Docnav |
||
|[[Draft_Point|Point]] |
|||
|[[Draft_Facebinder|Facebinder]] |
|[[Draft_Facebinder|Facebinder]] |
||
|[[Draft_Text|Text]] |
|||
|[[Draft_Module|Draft]] |
|[[Draft_Module|Draft]] |
||
|IconL= |
|IconL=Draft_Facebinder.svg |
||
|IconR= |
|IconR=Draft_Text.svg |
||
|IconC=Workbench_Draft.svg |
|IconC=Workbench_Draft.svg |
||
}} |
}} |
||
Line 11: | Line 12: | ||
{{GuiCommand |
{{GuiCommand |
||
|Name=Draft ShapeString |
|Name=Draft ShapeString |
||
|MenuLocation= |
|MenuLocation=Drafting → Shape from text |
||
|Workbenches=[[Draft_Module|Draft]], [[Arch_Module|Arch]] |
|Workbenches=[[Draft_Module|Draft]], [[Arch_Module|Arch]] |
||
|Shortcut={{KEY|S}} {{KEY|S}} |
|Shortcut={{KEY|S}} {{KEY|S}} |
||
|Version=0.14 |
|Version=0.14 |
||
|SeeAlso=[[Draft_Text|Draft Text]], [[ |
|SeeAlso=[[Draft_Text|Draft Text]], [[Draft_Label|Draft Label]], [[Part_Extrude|Part Extrude]] |
||
}} |
}} |
||
==Description== |
==Description== |
||
The |
The [[Image:Draft_ShapeString.svg|24px]] [[Draft_ShapeString|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 [[Image:Part_Extrude.svg|24px]] [[Part_Extrude|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. |
|||
[[Image:Draft_ShapeString_Example400.png]] |
[[Image:Draft_ShapeString_Example400.png]] |
||
{{Caption|Single point required to position the |
{{Caption|Single point required to position the ShapeString}} |
||
==Usage== |
==Usage== |
||
# There are several ways to invoke the command: |
|||
If your Draft interface mode is set to ToolBar: |
|||
# Press the {{Button|[[Image:Draft_ShapeString.svg|16px]] [[Draft_ShapeString|Draft ShapeString]]}} button |
#* 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. |
|||
# 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. |
|||
# |
#* Use the keyboard shortcut: {{KEY|S}} then {{KEY|S}}. |
||
# The {{MenuCommand|ShapeString}} task panel opens. |
|||
# Enter the desired size, and press {{KEY|Enter}}. |
|||
# Click a point in the [[3D_view|3D view]], or type [[Draft_Coordinates|coordinates]]. |
|||
# Enter the desired tracking, and press {{KEY|Enter}}. |
|||
# Optionally press the {{Button|Reset Point}} button to reset the point to the origin. |
|||
# Press {{KEY|Enter}} to accept the displayed font file, or press {{Button|...}} to select a font file. |
|||
# Enter a {{MenuCommand|String}}. |
|||
[[Image:SSFontSelect.png]] |
|||
# Specify the {{MenuCommand|Height}}. |
|||
# To select a font do one of the following: |
|||
#* Enter a file path in the {{MenuCommand|Font file}} input box. |
|||
⚫ | |||
⚫ | |||
==Options== |
|||
If your Draft interface mode is set to TaskView: |
|||
# Press the {{Button|[[Image:Draft_ShapeString.svg|16px]] [[Draft_ShapeString|Draft ShapeString]]}} button, or press {{KEY|S}} then {{KEY|S}} keys. |
|||
# A dialog will appear where you can specify your parameters. |
|||
⚫ | |||
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the command. |
|||
==Preferences== |
|||
*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|Draft Preferences]], in the {{Button|Texts and dimensions}} tab. This will prefill the font file box in the dialog. |
|||
* The default font file can be changed in the preferences: {{MenuCommand|Edit → Preferences... → Draft → Texts and dimensions → Default ShapeString font file}}. See [[Draft_Preferences|Draft Preferences]]. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
===Limitations=== |
|||
⚫ | |||
* 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. |
||
⚫ | |||
⚫ | |||
* Draft ShapeStrings can also be created with the [[Macro_Fonts_Win10_PYMP|Macro Fonts Win10 PYMP]]. |
|||
* To create |
* To create Draft ShapeStrings arranged in a circular fashion use the [[Macro_FCCircularText|Macro FCCircularText]]. |
||
== |
==Tutorials== |
||
⚫ | |||
* 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. |
|||
⚫ | |||
⚫ | |||
==Properties== |
==Properties== |
||
See also: [[property_editor|Property editor]]. |
|||
⚫ | |||
⚫ | |||
A Draft ShapeString object is derived from a [[Part_Part2DObject|Part Part2DObject]] and inherits all its properties. It also has the following additional properties: |
|||
⚫ | |||
⚫ | |||
===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. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
===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|Draft API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]]. |
|||
See also: [https://www.freecadweb.org/api Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]]. |
|||
The ShapeString tool can be used in [[macros|macros]] and from the [[Python|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 = make_shapestring(String, FontFile, Size=100, Tracking=0) |
|||
}} |
}} |
||
* Creates a {{incode| |
* 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 84: | Line 105: | ||
Example: |
Example: |
||
{{Code|code= |
{{Code|code= |
||
import FreeCAD as App |
import FreeCAD as App |
||
Line 94: | Line 116: | ||
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf" |
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf" |
||
S1 = Draft. |
S1 = Draft.make_shapestring("This is a sample text", font1, 200) |
||
S2 = Draft. |
S2 = Draft.make_shapestring("Inclined text", font2, 200, 10) |
||
zaxis = App.Vector(0, 0, 1) |
|||
p2 = App.Vector(-1000, 500, 0) |
p2 = App.Vector(-1000, 500, 0) |
||
place2 = App.Placement(p2, App.Rotation( |
place2 = App.Placement(p2, App.Rotation(zaxis, 45)) |
||
S2.Placement = place2 |
S2.Placement = place2 |
||
S3 = Draft. |
S3 = Draft.make_shapestring("Upside-down text", font3, 200, 10) |
||
S3.Placement.Base = App.Vector(0, -1000, 0) |
S3.Placement.Base = App.Vector(0, -1000, 0) |
||
S3.Placement.Rotation = App.Rotation( |
S3.Placement.Rotation = App.Rotation(zaxis, 180) |
||
doc.recompute() |
doc.recompute() |
||
}} |
}} |
||
==Tutorials== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | * Many fonts will generate problematic |
||
{{Docnav |
{{Docnav |
||
|[[Draft_Point|Point]] |
|||
|[[Draft_Facebinder|Facebinder]] |
|[[Draft_Facebinder|Facebinder]] |
||
|[[Draft_Text|Text]] |
|||
|[[Draft_Module|Draft]] |
|[[Draft_Module|Draft]] |
||
|IconL= |
|IconL=Draft_Facebinder.svg |
||
|IconR= |
|IconR=Draft_Text.svg |
||
|IconC=Workbench_Draft.svg |
|IconC=Workbench_Draft.svg |
||
}} |
}} |
||
Line 130: | Line 144: | ||
{{Draft Tools navi{{#translation:}}}} |
{{Draft Tools navi{{#translation:}}}} |
||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
{{clear}} |
Revision as of 11:23, 4 May 2021
Draft ShapeString |
Menu location |
---|
Drafting → Shape from text |
Workbenches |
Draft, Arch |
Default shortcut |
S S |
Introduced in version |
0.14 |
See also |
Draft Text, Draft Label, Part Extrude |
Description
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
- 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.
- The ShapeString task panel opens.
- Click a point in the 3D view, or type coordinates.
- Optionally press the Reset Point button to reset the point to the origin.
- Enter a String.
- Specify the Height.
- 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.
- 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
- Draft ShapeString tutorial: extrude a ShapeString, position it in 3D space, and create an engraving in another body.
- How to use ShapeStrings in PartDesign
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
- DataFont File (
File
): specifies the path of the font file used to draw the text. - DataSize (
Length
): specifies the general height of the text. - DataString (
String
): specifies the text string to display. Unlike a Draft Text, a Draft ShapeString can only display a single text line. - DataTracking (
Length
): specifies the additional inter-character spacing of the text.
View
Draft
- ViewPattern (
Enumeration
): specifies the Draft Pattern with which to fill the faces of the text. This property only works if ViewDisplay Mode isFlat Lines
. - ViewPattern 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 specifiedString
and the full path of a supportedFontFile
. 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()
- Drafting: Line, Polyline, Fillet, Arc, Arc by 3 points, Circle, Ellipse, Rectangle, Polygon, B-spline, Cubic Bézier curve, Bézier curve, Point, Facebinder, ShapeString, Hatch
- Annotation: Text, Dimension, Label, Annotation styles, Annotation scale
- Modification: Move, Rotate, Scale, Mirror, Offset, Trimex, Stretch, Clone, Array, Polar array, Circular array, Path array, Path link array, Point array, Point link array, Edit, Subelement highlight, Join, Split, Upgrade, Downgrade, Wire to B-spline, Draft to sketch, Set slope, Flip dimension, Shape 2D view
- Draft Tray: Select plane, Set style, Toggle construction mode, AutoGroup
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid
- Miscellaneous: Apply current style, Layer, Manage layers, Add a new named group, Move to group, Select group, Add to construction group, Toggle normal/wireframe display, Create working plane proxy, Heal, Show snap toolbar
- Additional: Constraining, Pattern, Preferences, Import Export Preferences, DXF/DWG, SVG, OCA, DAT
- Context menu:
- Layer container: Merge layer duplicates, Add new layer
- Layer: Activate this layer, Select layer contents
- Text: Open hyperlinks
- Wire: Flatten
- Working plane proxy: Write camera position, Write objects state
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub