Draft ShapeString tutorial

Introduction
This tutorial was originally written by Roland Frank (†2017, r-frank), and it was rewritten and re-illustrated by vocx.

In this tutorial we will discuss how to
 * insert a text with the tool,
 * extrude it to be a 3D solid with ,
 * position it in 3D space using placement, and with a simple sketch as auxiliary geometry, and
 * doing an engraving by applying a boolean.



The Sketcher Workbench is used just to position an auxiliary line, more information about these tools can be found in
 * Sketcher tutorial
 * Sketcher reference

Setup
1. Open FreeCAD, create a new empty document with, and switch to the Part Workbench.
 * 1.1. Press the button, or press  in the numerical pad of your keyboard, to change the view to isometric to visualize the 3D solids better.
 * 1.2. Press the button whenever you add objects in order to pan and zoom the 3D view so that all elements are seen in the view.
 * 1.3. Hold while you click to select multiple items. If you selected something wrong or want to de-select everything, just click on empty space in the 3D view.

Create the basic shape
2. Insert a primitive cube by clicking on.
 * 2.1. Select in the tree view.
 * 2.2. Change the dimensions in the tab of the property editor.
 * 2.3. Change to.

3. Create a chamfer.
 * 3.1. Select the upper edge on the front face of the  in the 3D view.
 * 3.2. Press.
 * 3.3. In the task panel go to, choose . As  choose , then set  to.
 * 3.4. Press . This will create a object.
 * 3.5. In the tree view, select, in the tab change the value of  to.



Insert the ShapeString
4. Switch to the Draft Workbench.
 * 4.1. Make sure nothing is selected in the tree view.
 * 4.2. Establish the working plane to XY (Top) by clicking on and pressing.

5. Insert the text "FreeCAD".
 * 5.1. Press on.
 * 5.2. Change to.
 * 5.3. Change to.
 * 5.4. Change to.
 * 5.5. Or press.
 * 5.6. Change to ; change  to ; change  to.
 * 5.7. Make sure points to a valid font, for example, . Press the ellipsis  to open the operating system's dialog to find a font.
 * 5.8. Press . This will create a object.
 * 5.9. Recompute the document by pressing.
 * 5.10. In the tree view, select, in the tab change the value of  to.
 * 5.11. In the tree view, select, in the tab change the value of  to , or press  in the keyboard. This will hide the object, so you can see the  better.
 * 5.12. To see the ShapeString from above change the view by pressing, or in the keyboard.
 * 5.13. To restore the view to isometric, press, or in the keyboard.



Create the solid 3D text
6. Switch back to the Part Workbench.
 * 6.1. In the tree view, select, then press.
 * 6.2. In the task panel go to, choose ; in , set  to ; also tick the  option.
 * 6.3. Press . This will create an object.
 * 6.4. In the tree view, select, in the tab change the value of  to.



Insert auxiliary sketch for positioning
Now we will draw a simple sketch that will be used as auxiliary geometry to position the ShapeString extrusion.

7. In the tree view, select, and press in the keyboard to make it invisible.

8. Switch to the Sketcher Workbench.

9. In the tree view, select, and press in the keyboard to make it visible.
 * 9.1. Choose the sloped face created by the chamfer operation.
 * 9.2. Click on . In the dialog, select, and press.
 * 9.3. The view should adjust automatically so that the camera is parallel to the selected face.
 * 9.4. Draw a horizontal line in a general position on top of the face. The length is not important; we are just interested in its position.
 * 9.5. Constrain the left endpoint to be away from the local X axis and from the local Y axis, using  and.
 * 9.6. Since the sketch is just an auxiliary object, we don't need to have it fully constrained. You can do this if you wish by assigning a fixed distance, say,, again with.
 * 9.7. Close the sketch.





Positioning the solid text in 3D space
10. In the tree view, select, and press in the keyboard to make it invisible.

11. In the tree view, select, in the tab of the property editor, click on the  value so the ellipsis button  appears on the right.
 * 11.1. Tick the option.
 * 11.2. Change the to ;  to, and  to , then click on . This will apply a rotation around the Z-axis, and will reset the  field to zero.
 * 11.3. Change the to ;  to, and  to , then click on . This will apply a rotation around the Y-axis, and will reset the  field to zero.
 * 11.4. Click on to close the dialog.

12. Switch again to the Draft Workbench.
 * 12.1. Switch to "Wireframe" draw style with, or press the button in the view toolbar. This will allow you to see the objects behind other objects.
 * 12.2. Make sure the Draft Snap method is set to "Snap to endpoint" only,, or press the button in the Snap toolbar.

13. In the tree view, select.
 * 13.1. Click on.
 * 13.2. In the 3D view click on the upper left corner point of the object (1), and then click on the leftmost point in the line drawn with the sketcher (2).
 * 13.3. The extruded text should now be inside the body of the object.





Creating engraved text
14. Switch back to the Part Workbench.
 * 14.1. Switch to "As is" draw style with, or press the button in the view toolbar. This will show all objects with the normal shading and color.
 * 14.2. In the tree view, select, and press in the keyboard to make it invisible.

15. In the tree view select first, and then.
 * 15.1. Then press . This will create a object. This is the final object.
 * the order in which you select the objects is important for the cut operation. The base object is selected first, and the subtracting object comes at the end.
 * 15.2. In the tree view, select, in the tab change the value of  to.



Engraving in PartDesign
A similar process as described above can be done with the PartDesign Workbench.


 * 1) Create the Draft ShapeString first.
 * 2) Move the  object into the active PartDesign Body.
 * 3) Attach the  object to one of the faces of the body, or to a PartDesign Plane, using Part Attachment.
 * 4) Now create a PartDesign Pad or a PartDesign Pocket from the, in order to produce an addition or a subtraction to the base body, respectively.

See the forum thread, How to use ShapeStrings in PartDesign.