Basic Part Design Tutorial 019: Difference between revisions

From FreeCAD Documentation
mNo edit summary
 
(387 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
{{Page in progress}}
<translate>


<!--T:1-->
{{TutorialInfo
{{TutorialInfo
|Topic=Modeling
|Topic=Modeling
|Level=Beginner
|Level=Beginner
|Author=Carlo Dormeletti ([[User:onekk|onekk]])
|Author=Carlo Dormeletti ([[User:onekk|onekk]])<br>Ed Williams ([[User:edwilliams16|edwilliams16]])<br>Roy 043 ([[User:Roy_043|Roy 043]])
|Time=Less than an hour
|Time=1 hour
|FCVersion=0.19 or higher|Files=[]
|FCVersion=0.19 or higher
|SeeAlso=[[Basic_Part_Design_Tutorial|Basic Part Design Tutorial]]
}}
}}


== Introduction == <!--T:2-->
This tutorial introduces the new user to some of the tools and techniques used in the [[PartDesign_Workbench|PartDesign Workbench]]. This tutorial is not a complete and comprehensive guide to the Part Design Workbench and many of the tools and capabilities are not covered. This tutorial will take user through the steps needed to model the part shown in the image below using sketches.


<!--T:3-->
''Author Note: This tutorial is work in progress, in this state it is tested only with FreeCAD version 0.20.1 for Linux. Screenshots are made for 0.20.1 too, but it should work without big problems even on 0.19.
''This is an updated version of the [[Basic_Part_Design_Tutorial|Basic Part Design Tutorial]].''


</translate>
As soon I find someone to review it for 0.19 I will made appropriate remarks if necessary for v0.19''
[[File:Pd_tut_final_solid.png]]
<translate>


<!--T:4-->
[[File:Pd tut final solid.png]]
This tutorial introduces users to the [[PartDesign_Workbench|Part Design Workbench]]. In this tutorial we will create a 3D solid model of the part shown in the image above. In the [[TechDraw_Workbench|drawing]] at the end of this paragraph all the necessary dimensions to complete the task are given.


<!--T:5-->
We will start by creating a core solid shape from a base Sketch and then build on that shape, adding what are known as features. These features will either add material to, or remove material from the solid by use of additional sketches and accompanying feature operations.


<!--T:6-->
== Before You Begin ==
We will follow some of the techniques described in [[Feature_editing#Advice_for_creating_stable_models|Advice for creating stable models]]:
* We will use a '''master sketch'''.
* '''Named constraints''' will be used to hold dimensions that can be referenced later in the model construction.<br>For instance, to change the model width from 53 mm, as in the technical drawing, to 55 mm we need only modify the '''Length''' value of the appropriate '''named constraint''' in the '''master sketch''' and the whole model will modify accordingly. This is ''parametric'' design in action.
* '''External geometries''' are potentially subject to the [[Topological_naming_problem|Topological Naming Problem]]. We will use them only when strictly necessary and will attempt to reference to the most '''stable''' elements available. Referencing edges and vertices of sketches is normally more stable than referencing edges and vertices of generated solid geometry.


<!--T:7-->
== The Task ==
This Tutorial will not use every feature and tool available in the Part Design Workbench, but will provide a basic foundation upon which users can build their knowledge and skills.


<!--T:8-->
In this tutorial, you will be using the Part Design Workbench to create a 3D solid model of the part shown in the [[TechDraw_Workbench|Drawing]] below. All of the necessary dimensions to complete this task are given. You will start by creating a core shape from a base Sketch and then build on that shape, adding what is known as Features. These features will either add material to, or remove material from the solid by use of additional sketches and accompanying feature operations. This Tutorial will not use every feature and tool available within the Part Design Workbench, but should use enough to give the user of this tutorial a basic foundation upon which to build their knowledge and skills.
Feel free to signal any errors or problems in this forum thread: [https://forum.freecad.org/viewtopic.php?f=36&t=73235 New Part Design Tutorial for FC 019 and 020].


</translate>
== The Part ==
[[File:Tutorial_Drawing_Sheet.png|900px]]
<translate>


== Preliminary notes == <!--T:9-->


<!--T:10-->
[[Image:Tutorial_Drawing_Sheet.png]]
* This tutorial will provide detailed instructions when it describes an operation for the first time. Subsequent operations will have a more concise description. When in doubt, find the operation that contains the more detailed description. For instance, when creating a sketch for the first time the process of choosing the sketch plane will be explained in detail, for subsequent sketches it will not.
* All mentioned tools can be accessed from toolbars and from the menu.
* This tutorial assumes that {{CheckBox|TRUE|Auto constraints}} in the Sketcher's '''Edit controls''' window is checked. This ensures that some constraints are applied automatically. Otherwise you will need to apply them yourself.
* If the Sketcher Solver detects a redundant constraint it will turn the sketch orange in color. Before further constraints are added, redundant constraints should be removed. Redundant constraints are shown in the task panel, click the blue reference and press {{KEY|Delete}}.
* The color mentioned above is a default color, it can be changed in the preferences. The same applies to the other colors mentioned in this tutorial.
* You exit a Sketcher drawing tool by pressing the {{KEY|Esc}} key or by right-clicking an empty area of the [[3D_view|3D view]]. The mouse cursor will change to the standard arrow cursor. If you press {{KEY|Esc}} an additional time you will exit sketch edit mode. To return to the editor, click the Model tab, then either double-click the Sketch element in the [[Tree_view|Tree view]], or right-click it and select '''Edit sketch''' from the context menu. To avoid leaving edit mode when pressing {{KEY|Esc}} too often, change the '''Esc can leave sketch edit mode''' preference, see [[Sketcher_Preferences#General|Sketcher Preferences]].
* It's possible that some elements in a task panel, for instance the {{Button|OK}} button, are not visible if the panel is not wide enough. You can make it wider by dragging its right border. Place your mouse pointer over the border, when the pointer changes to a two-way arrow, hold down the left mouse button and drag.
* A {{Button|&gt;&gt;}} button in a toolbar indicates that the toolbar is truncated. You can either use the mentioned button to expand it, or move the toolbar to a position where more room is available. To move a toolbar place your mouse pointer over the grip before the first icon in the toolbar, hold down the left mouse button and drag.
* During the v0.21 development cycle a new icon was introduced for the [[Sketcher_CreatePolyline|Sketcher Create polyline]] tool: [[File:Sketcher_CreatePolyline.svg|24px|link=Sketcher_CreatePolyline]]. The old icon looks like this: [[File:Sketcher_CreatePolyline_rel_0.20.svg|24px|link=Sketcher_CreatePolyline]]. In this tutorial we will use the new icon.
* See [[Part_and_PartDesign#PartDesign_Workbench_Concepts|Part Design Workbench Concepts]] for some conceptual background.
* See the [[Sketcher_Workbench|Sketcher WorkBench]] for a more detailed explanation of some of the terminology used here.


== Startup == <!--T:11-->


<!--T:12-->
== Constructing The Part ==
First make sure you are in the [[File:Workbench_PartDesign.svg|24px|link=PartDesign_Workbench]] [[PartDesign_Workbench|Part Design Workbench]]. If required select it from the [[Std_Workbench|Workbench dropdown list]]. Once there, you will want to create a new document if you have not done so already. It is a good habit to save your work often, so first save the new document, giving it any name you choose.


<!--T:13-->
===Startup===
All work in Part Design begins with a [[Glossary#Body|body]]. Click [[File:PartDesign_Body.svg|24px|link=PartDesign_Body]] [[PartDesign_Body|Create new body]] to create and activate one. Note that it is also possible to skip this step: when creating a sketch using the Part Design [[File:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create sketch]] tool, if no existing body is found, a new one is automatically created and activated.


== Master sketch == <!--T:14-->


<!--T:15-->
First begin by making sure you are in the Part Design Workbench. Once there, you will want to create a new document if you have not done so already. It is a good habit to save your work often, so before anything else save the new document, giving it any name you might like.
The master sketch contains the model's rectangular base shape and two '''named constraints''' that will supply correct dimensions to other parts of the model: '''length''' that will contain 53 mm (the result of adding the 39 mm dimension to the two 7 mm sides), and '''width''' that will contain 26 mm. To be able to take advantage of the model's symmetry in later steps, the top edge of the rectangle will be centered around the origin with a symmetrical constraint.


<!--T:16-->
'''<big>Sketch</big>'''


</translate>
All work in Part Design begins with a [[Glossary#Body|Body]]. Then we will build the solid inside the body by starting with a [[Glossary#Sketch|sketch]].
[[File:Pd_start_00.png|thumb|300px|Fig: MS1]]
[[File:Pd_tut_sketch_start.png|thumb|300px|Fig: MS2]]
[[File:Pd_tut_sel_points_h.png|thumb|300px|Fig: MS3]]
[[File:Pd_tut_rect_h_dim_end.png|thumb|300px|Fig: MS4]]
[[File:Pd_tut_rect04.png|thumb|300px|Fig: MS5]]
[[File:Pd_tut_rect_v3.png|thumb|300px|Fig: MS6]]
<translate>


<!--T:17-->
'''Step A: Create the sketch'''


<!--T:18-->
Click on [[Image:PartDesign_Body.svg|24px|link=PartDesign_Body]] [[PartDesign_Body|Create new body]] to create and activate a new Body Container. ''Note: this step can be omitted. When creating a sketch, if no existing Body is found, a new one will be automatically created and activated.''
# Click [[File:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create sketch]]. This will create the sketch within the just created body. It will be named '''Sketch'''.
# A task panel like '''Fig: MS1''' will open where you have to choose to which plane the sketch will be attached.
## Select '''XY_Plane''' from the list or select that plane in the [[3D_view|3D view]].
## Click {{Button|OK}}.
# FreeCAD automatically switches to the [[File:Workbench_Sketcher.svg|24px|link=Sketcher_Workbench]] [[Sketcher_Workbench|Sketcher Workbench]].
# The sketch is opened in edit mode: you will see something like '''Fig: MS2'''. The X axis (the red line) and Y axis (the green line) of the sketch are indicated, as well as its origin (the red point).


<!--T:19-->
'''Step B: Add geometry'''


<!--T:20-->
== Sketch ==
# Click [[File:Sketcher_CreateRectangle.svg|24px|link=Sketcher_CreateRectangle]] [[Sketcher_CreateRectangle|Create rectangle]].
# While the tool is active the cursor has this appearance:<br>[[File:Pd_tut_rec_cursor.png]]
# Pick two points to create a rectangle roughly centered around the '''Y axis''' similar to '''Fig: MS3'''. Note:
#* Don't place points on an axis as the Solver will automatically apply constraints that will create problems later.
#* The dimensions of the rectangle are unimportant at this point. They will be assigned using constraints in a later step.
# Once done, press {{KEY|Esc}} or right-click to exit the tool.


<!--T:21-->
You will create a base skecth, this is to create the base shape that is a rectangle, but you will use ''named constraints'', that could be reused to make the model ''parametric''.
'''Step C: Assign a horizontal distance constraint'''


<!--T:22-->
# Select the line defined by '''P2''' and '''P3''' in '''Fig: MS3'''.
# Click [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|Horizontal distance constraint]]:
## A dimension will appear between the endpoints of the selected line. This dimension is the current distance.
## Additionally a dialog will appear:<br>[[File:Pd_tut_rect03.png]]
## Assign '''Length = 53 mm'''.
## To be able to reference this dimension later a name is required. You are free to use any name, it need only be unique within the sketch. Assign '''Name = length'''.
## Click {{Button|OK}}.
# The result should resemble '''Fig: MS4'''


<!--T:23-->
This way the constraints, hold a dimension that could be reused across the model, as example if you want the model be 55mm wide and not 53mm as in the technical drawing, it is simply a matter to edit base sketch and modify the length of the appropriate ''named constraint''.
'''Step D: Assign a symmetrical constraint'''


<!--T:24-->
# Select points '''P2''' and '''P3''' of the rectangle.
# Select the '''origin''' of the sketch. Note: the selection order of the points is important.
# Click [[File:Sketcher_ConstrainSymmetric.svg|24px|link=Sketcher_ConstrainSymmetric]] [[Sketcher_ConstrainSymmetric|Symmetrical constraint]].
# You will end up with something that resembles '''Fig: MS5'''.


<!--T:25-->
=== Create Sketch ===
'''Step E: Assign a vertical distance constraint'''


<!--T:26-->
<ol>
: Assign a vertical distance constraint following the same procedure as used for the previous horizontal distance constraint:
<li>Click on [[Image:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create new sketch]]. This will create the sketch within the just created body. It will be named '''Sketch'''</li>


<!--T:27-->
<li>You need to define where the sketch will be attached. We will attach it to a plane from the Body´s [[Glossary#Origin|Origin]].
# Select the line defined by '''P3''' and '''P4''' in '''Fig: MS3'''.
# Click [[File:Sketcher_ConstrainDistanceY.svg|24px|link=Sketcher_ConstrainDistanceY]] [[Sketcher_ConstrainDistanceY|Vertical distance constraint]]:
## Assign '''Length = 26 mm'''
## Assign '''Name = width'''.
## Click {{Button|OK}}.
# The result should resemble '''Fig: MS6'''.
# The sketch is fully constrained now:
#* The lines in the sketch are bright green.
#* The '''Solver messages''' section of the task panel displays '''Fully constrained'''.
#* If you select any line or vertex of the sketch and try to drag it, it won't move.


<!--T:28-->
[[File:Pd start 00.png|800px|center]]
'''Step F: Close the sketch'''
<br>
</li>


<!--T:29-->
<li>In the [[Task_panel|Tasks tab]] from the [[Combo_view|Combo view]], select '''XY_Plane''' in the list and press {{KEY|OK}}
<p>''Note: it's possible that the {{Button|OK}} button may not be visible if the side panel is not wide enough.
: Click {{Button|Close}} at the top of the [[Task_panel|tasks panel]] to leave sketch edit mode.
You can make it wider by dragging its right border. Place your mouse pointer over the border; when the pointer changes to a two-way arrow, press and hold the left mouse button and drag.''
</p>
<br>
Once you click {{KEY|OK}}, FreeCAD automatically switches to the [[Sketcher Workbench|Sketcher workbench]] and opens the sketch in editing mode:


</translate>
{{Clear}}
<translate>


== Main profile == <!--T:30-->
[[File:Pd tut sketch start.png|center|Starting state of Sketcher]]


<!--T:31-->
The main profile is created by [[PartDesign_Pad|padding]] a new sketch.


<!--T:32-->
</li>
'''<big>Sketch001</big>'''
</ol>
</ol>


</translate>
=== Create the rectangle ===
[[File:OffsetSketch001.png|thumb|240px|right|Fig. MP1]]
[[File:Pd_tut_side_fc.png|thumb|240px|Fig: MP2]]
<translate>


<!--T:33-->
Click on [[File:Sketcher_CreateRectangle.svg|24px|link=Sketcher_CreateRectangle]] [[Sketcher_CreateRectangle|Rectangle]] tool and start creating a rectangle:
'''Step A: Create the sketch'''
[[File:Pd tut rect01.png|center|raw rectangle]]


<!--T:34-->
Some notes:
: Click [[File:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create sketch]] and create a sketch attached to the '''YZ_Plane'''. FreeCAD will assign the name '''Sketch001'''.
<ol>
<li>Create the rectangle roughle centered on ''Y axis'' but not with upper side laying on the ''X axis'', if not '''Solver''' will apply a constraint that will create some problem later.</li>
<li>It is not important at this step to make exact dimensions, we will set them using constraints later.</li>
<li>When finished with rectangle creation, press {{KEY|ESC}}, if not FreeCAD will remain in "rectangle creation" mode indicated by this cursor appearance
[[File:Pd tut rec cursor.png]]
and you will start creation of another rectangle.</li>
</ol>


<!--T:35-->
=== Applying constraints ===
'''Step B: Add geometry'''


<!--T:36-->
{| class="wikitable"
# Click [[File:Sketcher_CreatePolyline.svg|24px|link=Sketcher_CreatePolyline]] [[Sketcher_CreatePolyline|Create polyline]] and make a shape like in '''Fig: MP1'''.
|+ Horizontal ans symmetric constraints
# The labels P1, P2 etc. will not appear in the sketch. They were added for reference.
|-
# For the last point of the final segment make sure to pick the first point of the shape. The point will change color and you will see the symbol for a [[File:Sketcher_ConstrainCoincident.svg|24px|link=Sketcher_ConstrainCoincident]] [[Sketcher_ConstrainCoincident|Coincident constraint]] appear near the cursor. Coincident constraints have to be explicit. Just having two points visually coincident is not sufficient.
| [[File:Pd tut sel points h.png|frame|Fig: HS1]] || [[File:Pd tut rect h dim end.png|frame|Fig: HS2]] || [[File:Pd tut rect edc.png|frame|Fig: HS3]]
# Press {{KEY|Esc}} or right-click to exit the tool.
|}


<!--T:37-->
'''Step C: Assign constraints'''


<!--T:38-->
# The three vertical and horizontal constraints you see in the image should have been added automatically provided you drew those lines that way. If you didn't you need to add them.
# Select the point '''P2''' and the '''Y axis''' of the sketch and apply a [[File:Sketcher_ConstrainPointOnObject.svg|24px|link=Sketcher_ConstrainPointOnObject]] [[Sketcher_ConstrainPointOnObject|Point onto object constraint]]. Because the sketch is attached to the YZ_Plane, the Y axis of the sketch does not match the Y axis of the body.
# Select the '''origin''' and the point '''P1''' and apply a [[File:Sketcher_ConstrainHorizontal.svg|24px|link=Sketcher_ConstrainHorizontal]] [[Sketcher_ConstrainHorizontal|Horizontal constraint]]. Why not a [[File:Sketcher_ConstrainCoincident.svg|24px|link=Sketcher_ConstrainCoincident]] [[Sketcher_ConstrainCoincident|Coincident constraint]]? you might ask. Try it (and undo). The sketch will turn orange and a solver message '''Redundant constraints''' will appear. Because the line P1 to P2 has already been constrained to be vertical, the only remaining degree of freedom is P1's Y coordinate. The coincidence constraint sets both the X and Y coordinates to zero, but the X coordinate is already determined. The horizontal constraint, on the other hand, only sets the Y coordinate to zero, which is sufficient.
# Select the line defined by the points '''P2''' and '''P3''', apply a [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|Horizontal distance constraint]], and assign '''Length = 5 mm'''.
# Select the line defined by the points '''P1''' and '''P2''', apply a [[File:Sketcher_ConstrainDistanceY.svg|24px|link=Sketcher_ConstrainDistanceY]] [[Sketcher_ConstrainDistanceY|Vertical distance constraint]], and assign '''Length = 26 mm'''.
# Select the line defined by the points '''P1''' and '''P4''' and apply a [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|Horizontal distance constraint]]:
## For this value you will use a '''named constraint''' using [[Expressions|Expressions]]. To do so you have to click the little button in the '''Length''' input field: [[File:Bound-expression.svg|24px|link=Bound-expression]].
## You will be presented with a new dialog named '''Formula editor''' that contains an input field and a '''Result:''' label, similar to the image below:<br>[[File:Pd_tut_expressions.png]]<br>When you start typing in the input field, you will be presented with some autocompletions.
## Select the label of the sketch. In our case we want '''<code><<Sketch>>.</code>'''. Note the period after the label.
## To select the '''named constraint''' "width", you first have to enter '''<code>Constraints.</code>''' with the period. Here autocomplete works.
## To add "width", as yet autocompletion is not available, so complete the cell to read '''<code><<Sketch>>.Constraints.width</code>'''. If all went well the red error message after '''Result:''' has been replaced by the correct value as in the image below:<br>[[File:Pd_tut_expression_end.png]]
## Click {{Button|OK}} to close the '''Formula editor''' dialog.
## Click {{Button|OK}} to close the '''Insert length''' dialog.
# You should have a fully constrained sketch similar to '''Fig: MP2'''.
# Note the different colors used for distance constraints assigned using expressions, and those assigned specifying a length.


<!--T:39-->
===== Horizontal constraint =====
'''Step D: Close the sketch'''


<!--T:40-->
Assign now [[Sketcher_ConstrainDistanceX|horizontal distance constraint]] this way:
: Click {{Button|Close}} at the top of the [[Task_panel|tasks panel]] to leave sketch edit mode.
<ol>
<li>Select the upper line like in the '''Fig: HS1'''.</li>


<!--T:41-->
<li>Use the button [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|horizontal distance constraint]] this will make two things:
'''<big>Pad</big>'''
<br>
<ol>
<li>A dimension will appear between extreme points of the line selected. This dimension is the actual dimension.</li>
<li>A dialog like the one below will appear.<br>
<br>
[[File:Pd tut rect03.png|dimension dialog]]
<br>
<br>
<p>In this dialog you could set an exact '''Length''' and optionally assign a '''Name''' to this length.</p>
</li>
<li>Assign a '''Length = 53mm''' and '''Name = length''' and press {{KEY|OK}}. <br>
<br>
You will be presented with an image that will resemble '''Fig: HS2'''
</li>
</li>
</ol>
</ol>


<!--T:42-->
===== Symmetrical constraint =====
[[File:Pd_tut_pad1.png|thumb|240px|Fig: MP3]]


<!--T:43-->
You have to center the rectangle, by design the center of the ''X axis'' is chosen to do so:
# Make sure '''Sketch001''' is selected.
# Click [[File:PartDesign_Pad.svg|24px|link=PartDesign_Pad]] [[PartDesign_Pad|Pad]]:
## The '''Pad parameters''' task panel opens.
## For '''Type''' select {{ComboBox|Dimension}}.
## For '''Length''' again use an expression, but this time enter '''<code><<Sketch>>.Constraints.length</code>'''. This should evaluate to 53 mm.
## Select {{CheckBox|TRUE|Symmetric to plane}}.
## Click {{Button|OK}} to close the task panel.
# You should now have a solid as shown in '''Fig: MP3'''.


</translate>
<ol>
{{Clear}}
<li>Select points like in '''Fig: HS3'''.</li>
<translate>
<li>Use [[File:Sketcher_ConstrainSymmetric.svg|32px]] [[Sketcher_ConstrainSymmetric|Symmetric]] tool and apply the symmetry.</li>
</ol>


== Corner cutouts == <!--T:44-->
You will end with something that resemble '''Fig: V1''' below.


<!--T:45-->
===== Vertical constraint =====
For the corner cutouts two features are added to the model. A [[PartDesign_Pocket|pocket]], based on another sketch, is used to create the first cutout, and this feature is then [[PartDesign_Mirrored|mirrored]].


<!--T:46-->
{| class="wikitable"
'''<big>Sketch002</big>'''
|+ Vertical constraint
|-
| [[File:Pd tut rect04.png|frame|Fig: V1]] || [[File:Pd tut rect05.png|frame|Fig: V2]] || [[File:Pd tut rect v3.png|frame|Fig: V3]]
|}


</translate>
[[File:Pd_tut_sk2_start.png|thumb|300px|Fig: CC1]]
[[File:Pd_tut_sk2_eg01.png|thumb|300px|Fig: CC2]]
[[File:Pd_tut_sk2_end.png|thumb|300px|Fig: CC3]]
<translate>


<!--T:47-->
Assign now a [[Sketcher_ConstrainDistanceY|vertical distance constraint]], the procedure is similar to the former.
'''Step A: Hide the solid'''


<!--T:48-->
: Hide the just created solid: Select '''Pad''' and click the {{KEY|Spacebar}}.


<!--T:49-->
<ol>
'''Step B: Create the sketch'''
<li>Select the vertical line like in the image '''Fig: V2''' </li>


<!--T:50-->
<li>Using the button [[File:Sketcher_ConstrainDistanceY.svg|24px|link=Sketcher_ConstrainDistanceY]] [[Sketcher_ConstrainDistanceY|vertical distance constraint]] and assign '''Length = 26 mm''' and '''Name = width'''.</li>
: Click [[File:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create sketch]] and create a sketch attached to the '''XZ_Plane'''. The sketch will be named '''Sketch002'''.
</ol>


<!--T:51-->
'''Step C: Add geometry'''


<!--T:52-->
Once clicked on OK you will have the result shown in '''Fig: V3'''.
# Select [[File:Sketcher_CreateRectangle.svg|24px|link=Sketcher_CreateRectangle]] [[Sketcher_CreateRectangle|Create rectangle]], and create a rectangle. Do not create it too near an axis, to avoid any automatic constraints that would make it difficult to move it into the correct position later.
# Exit the tool.


<!--T:53-->
== Side Profile ==
'''Step D: Assign dimensional constraints'''


<!--T:54-->
You will create a new sketch that is holding the side profile.
# Select one of the horizontal lines, apply a [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|Horizontal distance constraint]], and assign a value of '''11 mm'''.
# Select one of the vertical lines, apply a [[File:Sketcher_ConstrainDistanceY.svg|24px|link=Sketcher_ConstrainDistanceY]] [[Sketcher_ConstrainDistanceY|Vertical distance constraint]], and assign a value of '''5 mm'''.
# You should obtain something similar to '''Fig: CC1'''.


<!--T:55-->
=== Create the Sketch001 ===
'''Step E: Close the sketch'''


<!--T:56-->
Click on [[Image:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create new sketch]]. This will create the sketch within the just created body, and FreeCAD will assign the name of '''Sketch001'''.
: Click {{Button|Close}}. '''Sketch002''' is not fully constrained at this stage.


<!--T:57-->
'''Step F: Make previous sketches visible'''


<!--T:58-->
When choosing the plane you will select '''YZ_Plane''' in the list and press {{KEY|OK}}:
: To use [[Sketcher_External|external geometry]], the sketches whose elements we want to reference must be visible. Make sure '''Sketch''' and '''Sketch001''' are both visible. Use the {{KEY|Spacebar}} to toggle visibility if needed. Expand the '''Pad''' node in the [[Tree_view|Tree view]] to access '''Sketch001'''.


<!--T:90-->
'''Step G: Add external geometry and fully constrain the sketch'''


<!--T:59-->
Use the [[Image:Sketcher_CreatePolyline.svg|24px|link=Sketcher_CreatePolyline]] [[Sketcher_CreatePolyline|Polyline]] tool and make a shape roughly like that in '''Fig: SP1'''; Exact shape is not important as like in the first sketch you will assign proper constraints later.
# Double click '''Sketch002''' to enter edit mode.
# Rotate the view so you can clearly see the points as shown in '''Fig: CC2'''. This will ease subsequent steps. Note that the rectangle's initial position may be different in your sketch.
# Click [[File:Sketcher_External.svg|24px|link=Sketcher_External]] [[Sketcher_External|External geometry]].
# While the tool is active the cursor has this appearance:<br>[[File:Pd_tut_eg_cursor.png]]
# Select point '''P1''' in '''Fig: CC2'''. The selected point is added to the sketch as external geometry. In the '''Elements''' section of the task panel it will appear with a purple X icon or, {{Version|0.21}}, a purple dot icon.
# With the tool still active select point '''P2''' in '''Fig: CC2'''. This external geometry should also appear in the '''Elements''' section.
# Exit the tool.
# Select point '''P1''' and point '''P3''' and apply a [[File:Sketcher_ConstrainVertical.svg|24px|link=Sketcher_ConstrainVertical]] [[Sketcher_ConstrainVertical|Vertical constraint]]. The rectangle will be aligned with the X position of '''P1'''.
# Select point '''P2''' and point '''P3''' and apply a [[File:Sketcher_ConstrainHorizontal.svg|24px|link=Sketcher_ConstrainHorizontal]] [[Sketcher_ConstrainHorizontal|Horizontal constraint]]. The rectangle will be aligned with the Y position of '''P2'''.
# You should have a fully constrained sketch similar to '''Fig: CC3'''.


<!--T:60-->
If you had Auto constraints on, some of these constraints will have been applied automatically, if not, do the following. But first make sure that you have exited the Polyline tool by right-clicking or pressing {{KEY|ESC}} twice; the mouse cursor should turn back from a cross-hair to the standard arrow cursor. (Don't press {{KEY|ESC}} a third time or you will exit the sketch editing mode; if this happens, click on the Model tab, then double-click the Sketch element in the tree, or right-click and select '''Edit sketch''' in the contextual menu.)
'''Step H: Close the sketch'''


<!--T:61-->
: Click {{Button|Close}}.


<!--T:62-->
'''<big>Pocket</big>'''


</translate>
''NOTE: if the sketcher solver detects a redundant constraint it will turn the sketch orange in colour, and before further constraints are added, the redundant constraint should be removed. (The redundant constraint is shown in the Task view, click on the blue reference and press delete.)''
[[File:Pd_tut_pck01.png|thumb|300px|Fig: CC4]]
[[File:Pd_tut_pck02-mir.png|thumb|300px|Fig: CC5]]
<translate>


<!--T:63-->
To create the cutouts we will use the [[File:PartDesign_Pocket.svg|24px|link=PartDesign_Pocket]] [[PartDesign_Pocket|Pocket]] tool. This tool is the opposite of the Pad tool. Whereas the Pad tool adds material, the Pocket tool removes material.


<!--T:64-->
{| class="wikitable"
# Select '''Sketch002'''.
|+ Side Profile Constraints - 1
# Click [[File:PartDesign_Pocket.svg|24px|link=PartDesign_Pocket]] [[PartDesign_Pocket|Pocket]]:
|-
## The '''Pocket parameters''' task panel opens.
| [[File:Pd tut sp01.png|frame|Fig: SP1]] || [[File:Pd tut sp02.png|frame|Fig: SP2]] || [[File:Pd tut sp03.png|frame|Fig: SP3]]
## Select '''Type''' {{ComboBox|Through all}}.
|}
## Check {{CheckBox|TRUE|Reversed}}
## Click {{Button|OK}}.
# You should have something that resembles '''Fig: CC4'''


<!--T:65-->
'''<big>Mirror</big>'''


<!--T:66-->
{| class="wikitable"
Instead of creating another sketch and pocketing it, we take advantage of the model's symmetry about the YZ plane and use [[File:PartDesign_Mirrored.svg|24px|link=PartDesign_Mirrored]] [[PartDesign_Mirrored|Mirrored]] to create the second cutout.
|+ Side Profile Constraints - 2
|-
| [[File:Pd tut sp04.png|frame|Fig: SP4]]
|}


<!--T:67-->
=== Applying Constraints ===
# Select '''Pocket''' in the [[Tree_view|Tree view]].
# Click [[File:PartDesign_Mirrored.svg|24px|link=PartDesign_Mirrored]] [[PartDesign_Mirrored|Mirrored]]:
## The '''Mirrored parameters''' task panel opens.
## Select '''Plane''' {{ComboBox|Vertical sketch axis}} from the pulldown menu. The plane will be defined by this axis (the Y axis) and also by the Z axis of the sketch. Note that selecting '''Base YZ Plane''' would have the same result.
## Click {{Button|OK}}.
# You should now have a part that looks like '''Fig: CC5'''.


</translate>
{{Clear}}
<translate>


== Sides == <!--T:68-->
From '''Fig: SP1''' you will see that FreeCAD has already applied some constraints:


<!--T:69-->
# Top horizontal line has a [[File:Sketcher_ConstrainHorizontal.svg|24px]] [[Sketcher_ConstrainHorizontal|Horizontal Constraint]] applied.
The sides are created in a similar manner, but instead of removing material we will add material with a [[PartDesign_Pad|pad]] feature.
# Right point of the top line has a [[File:Sketcher_ConstrainPointOnObject.svg|24px]] [[Sketcher_ConstrainPointOnObject|Point On Object Constraint]] applied.
# Left point of bottom horizontal line has another [[File:Sketcher_ConstrainPointOnObject.svg|24px]] [[Sketcher_ConstrainPointOnObject|Point On Object Constraint]] applied.


<!--T:70-->
''Note: when using "named constraints" you have to refer to the "Name" property, but names shown here may vary due to the way the example file is done (It was made using Part Design Scripting), refer to the names you have in your design''
'''<big>Sketch003</big>'''


</translate>
[[File:Pd_tut_sk3_1.png|thumb|300px|Fig: SD1]]
[[File:Pd_tut_pad001.png|thumb|300px|Fig: SD2]]
[[File:Pd_tut_pad02-mir.png|thumb|300px|Fig: SD3]]
<translate>


<!--T:71-->
<ol>
# Make sure '''Sketch''' is visible, and '''Mirrored''' is hidden.
<li>Select points as in '''Fig: SP2''' above and apply a [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|horizontal distance constraint]] and assign '''Length = 5 mm'''</li>
# Click [[File:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create sketch]] and create a new sketch attached to the '''XY_Plane'''. The sketch will be named '''Sketch003'''.
<li>Select points as in '''Fig: SP3''' above and apply a [[File:Sketcher_ConstrainDistanceY.svg|24px|link=Sketcher_ConstrainDistanceY]] [[Sketcher_ConstrainDistanceX|vertical distance constraint]] and assign '''Length = 26 mm'''</li>
# Click [[File:Sketcher_CreateRectangle.svg|24px|link=Sketcher_CreateRectangle]] [[Sketcher_CreateRectangle|Create rectangle]] and create a rectangle similar to the smaller rectangle in '''Fig: SD1'''. Because the rectangle is offset from the X axis this should not trigger an automatic [[File:Sketcher_ConstrainPointOnObject.svg|24px|link=Sketcher_ConstrainPointOnObject]] [[Sketcher_ConstrainPointOnObject|Point onto object constraint]].
# Exit the tool.
# Click [[File:Sketcher_External.svg|24px|link=Sketcher_External]] [[Sketcher_External|External geometry]].
# Select the point '''P1''' as shown in '''Fig: CC2''' from '''Sketch'''.
# Exit the tool.
# Apply these constraints:
## Select one of the horizontal lines, apply a [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|Horizontal distance constraint]], and assign a value of '''7 mm'''.
## Select one of the vertical lines, apply a [[File:Sketcher_ConstrainDistanceY.svg|24px|link=Sketcher_ConstrainDistanceY]] [[Sketcher_ConstrainDistanceY|Vertical distance constraint]], and assign this expression: '''<code><<Sketch>>.Constraints.width</code>'''.
## Select the '''top-left''' point of the created rectangle (marked '''TL''' in '''Fig: SD1''') and the newly added '''external geometry point''' and apply a [[File:Sketcher_ConstrainCoincident.svg|24px|link=Sketcher_ConstrainCoincident]] [[Sketcher_ConstrainCoincident|Coincident constraint]].
# The sketch should be fully constrained now.
# Click {{Button|Close}}.


<!--T:72-->
<li>Select points as in '''Fig: SP4''' above and apply a [[File:Sketcher_ConstrainDistanceX.svg|24px|link=Sketcher_ConstrainDistanceX]] [[Sketcher_ConstrainDistanceX|horizontal distance constraint]] for the value you will use a "Named constraints" using [[Expressions|Expressions]] to do so you have to press the little button on the dimensions [[Image:Bound-expression.svg|24px]], and you are presented with a new dialog window named '''Formula editor''' that contains an input field and a '''Result:''' label, similar to the image below:
'''<big>Pad001</big>'''
<br><br>
[[File:Pd tut expressions.png|center|Expression dialog]]
<br>
<ol>
<li>if you start typing in the cell, you will be presented with some autocompletions, base on the "Name" of the sketch, in the example is '''<code><<Sketch>></code>'''. <br>
<br>
Select the right one for your design; Field should have autocompletion so if you select an element you will be presented with '''<code><<Sketch>>.</code>''', note the point after the "element name".
</li>
<li>Next step is to choose the correct things, you have have named a Constraint "width", bit it is not working so flawlessy you had to write the word '''<code>Constraints.</code>''' with the point, ans sadly there is no autocomplete (yet)</li>
<li>Third and last step is to add the "length" name so the cell will read '''<code><<Sketch>>.Constraints.width</code>''' if all is good you should see in the cell '''Result:''' the correct value as in figure below:
<br><br>
[[File:Pd tut expression end.png|center|Espression result good]]
<br>


<!--T:73-->
''Note the absence of "red words" and the correct value in the '''Result''' field''
# Select '''Sketch003'''.
</li>
# Click [[File:PartDesign_Pad.svg|24px|link=PartDesign_Pad]] [[PartDesign_Pad|Pad]]:
</ol>
## Assign '''Type = ''' {{ComboBox|Dimension}}.
</li>
## Assign '''Length = 16.7 mm'''
</ol>
## Click {{Button|OK}}.
# You should have a result as shown in '''Fig: SD2'''


<!--T:74-->
==== Finalizing the Sketch ====
'''<big>Mirrored001</big>'''


<!--T:75-->
At this point you should have a fully constrained sketch as indicated by it changing color and the message shown in the Combo View. It should now look just like the image below:
# Select '''Pad001'''.
# Click [[File:PartDesign_Mirrored.svg|24px|link=PartDesign_Mirrored]] [[PartDesign_Mirrored|Mirrored]]:
## Make sure '''Plane''' {{ComboBox|Vertical sketch axis}} is selected.
## Click {{Button|OK}}.
# You should now have a part that looks like '''Fig: SD3'''.


<!--T:76-->
'''<big>Note</big>'''


<!--T:77-->
[[File:Pd tut side fc.png|center|Side profile full constrainted]]
Our two mirror operations have a common symmetry plane, so we could have made our model a little simpler by combining them. We would:
# Omit the first '''Mirror''' operation.
# Select both '''Pad001''' and '''Pocket''' in step 1 of the above '''Mirrored001''' operation.


<!--T:78-->
This emphasizes the important concept that we are mirroring the selected features (the operations we performed on the body, in the selected order), not the body itself.


</translate>
''Note the differences in color between distance constraints assigned using expressions and those assigned specifying a length. ''
{{Clear}}
<translate>


== Center hole == <!--T:79-->


<!--T:80-->
Now in the [[Task_panel|Tasks tab]], click on the {{Button|Close}} button to leave the sketch edit mode
Now it is time for the most challenging part of our modeling, a challenge that arises because some of the dimensions of the center hole are defined along the slanted face. If you use this face, created by padding '''Sketch001''', as a reference for the next sketch, you expose yourself to the [[Topological_naming_problem|Topological Naming Problem]]. A better solution is to reference '''Sketch001''' itself.


<!--T:81-->
== Making the Pad ==
'''<big>Sketch004</big>'''


</translate>
[[File:Pd_tut_cen01.png|thumb|240px|Fig: CH1]]
[[File:Pd_tut_cen02.png|thumb|240px|Fig: CH2]]
<translate>


<!--T:82-->
Select [[File:PartDesign_Pad.svg|24px|link=PartDesign_Pad]] [[PartDesign_Pad|Pad]] from the toolbar or from the Part Design menu.
# Make '''Sketch001''' visible, and hide '''Sketch''' and '''Mirrored001'''.
# Click [[File:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|Create sketch]] and create a new sketch attached to the '''YZ_Plane'''. The sketch will be named '''Sketch004'''.
# Click [[File:Sketcher_CreatePolyline.svg|24px|link=Sketcher_CreatePolyline]] [[Sketcher_CreatePolyline|Create polyline]] and trace a polyline like that indicated by the points '''P1''', '''P2''', '''P3''' and '''P4''' in '''Fig: CH1'''.
# Remember to close the polyline by picking the first point. This will create the required [[File:Sketcher_ConstrainCoincident.svg|24px|link=Sketcher_ConstrainCoincident]] [[Sketcher_ConstrainCoincident|Coincident constraint]].
# Exit the tool.
# Check the applied constraints:
#* Delete the redundant [[File:Sketcher_ConstrainVertical.svg|24px|link=Sketcher_ConstrainVertical]] [[Sketcher_ConstrainVertical|Vertical constraint]] applied to the line defined by '''P1''' and '''P2'''.
#* Make sure a [[File:Sketcher_ConstrainHorizontal.svg|24px|link=Sketcher_ConstrainHorizontal]] [[Sketcher_ConstrainHorizontal|Horizontal constraint]] has been applied to the lines defined by '''P1''' and '''P4''', and '''P2''' and '''P3'''.
#* Make sure a [[File:Sketcher_ConstrainPointOnObject.svg|24px|link=Sketcher_ConstrainPointOnObject]] [[Sketcher_ConstrainPointOnObject|Point onto object constraint]] has been applied to '''P1''' and the '''Y axis''', and to '''P2''' and the '''Y axis'''.
# Click [[File:Sketcher_External.svg|24px|link=Sketcher_External]] [[Sketcher_External|External geometry]]
# Select the line defined by '''EGP1''' and '''EGP2''' in '''Sketch001''', indicated by the purple color in '''Fig: CH2'''.
# Exit the tool.
# Apply a [[File:Sketcher_ConstrainPointOnObject.svg|24px|link=Sketcher_ConstrainPointOnObject]] [[Sketcher_ConstrainPointOnObject|Point onto object constraint]] to '''P3''' and the '''external geometry''', and repeat this for '''P4'''. This will make the line defined by '''P3''' and '''P4''' coincident with the line defined by '''EGP1''' and '''EGP2'''.
# Select the line '''P3''' to '''P4''', apply a [[File:Sketcher_ConstrainDistance.svg|24px|link=Sketcher_ConstrainDistance]] [[Sketcher_ConstrainDistance|Distance constraint]], and assign '''Length = 17 mm'''
# Select the points '''EGP2''' and '''P4''', apply a [[File:Sketcher_ConstrainDistance.svg|24px|link=Sketcher_ConstrainDistance]] [[Sketcher_ConstrainDistance|Distance constraint]], and assign '''Length = 7 mm'''.
# This will result in a fully constrained sketch like '''Fig: CH2'''.
# Click {{Button|Close}}.
# Hide '''Sketch001'''.


<!--T:83-->
'''<big>Pocket001</big>'''


<!--T:84-->
This will give you a Pad dialog in the Task View.
# Select '''Sketch004'''.
# Click [[File:PartDesign_Pocket.svg|24px|link=PartDesign_Pocket]] [[PartDesign_Pocket|Pocket]]:
## Select '''Type''' {{ComboBox|Two Dimensions}}.
## Assign '''8.5 mm''' to '''Length''' and '''2nd length'''.
## Click {{Button|OK}}.
# Select the newly created '''Pocket001'''.
# On the Data tab of the [[Property_editor|Property editor]] change its '''Refine''' property to '''True'''. The property editor can be found on the Model tab of the [[Combo_view|Combo View]].


<!--T:85-->
Using that dialog, set it's values accordingly to the following directions:
'''<big>Notes</big>'''


<!--T:86-->
<ol>
# For '''Pocket001''' we could have alternatively used '''Type''' {{ComboBox|Dimension}}, checked '''Symmetric to Plane''', and entered '''17 mm''' for the '''Length''' value.
<li>Using '''Type''' pulldown menu, select '''Dimension'''.</li>
# '''Refine''' will try to remove seams left by previous operations. It is advisable to only refine the final solid, as some operations can fail if a previous feature has been refined. However, there are also cases where refine can make an operation succeed. So in case of problems check this property and test. Unfortunately there is not yet a general rule to follow.
<li>For '''Length''' we use again an '''Expression''' but this time you will enter '''<code><<Sketch>>.Constraints.length</code>''' in the field.</li>
<li>Select '''Symmetric to plane''' checkbox.</li>
</ol>


</translate>
Once that is done you will have a solid as shown in the image below:
{{Clear}}
<translate>


== Result == <!--T:87-->
[[File:Pd tut pad1.png|center|Solid created by first Pad feature]]


<!--T:88-->
== Features with pocket ==
The model is complete. It should look like the image below.


<!--T:89-->
<ol>
Finally, select '''Sketch''' in the [[Tree_view|Tree view]] and on the Data tab of the [[Property_editor|Property editor]] look for '''Sketch → Constraints'''. Expand that node and changed the '''length''' and '''width''' constraints. The model should change parametrically.
<li>Click on the New sketch icon in the toolbar or from the Part Design menu. This will create a sketch named '''Sketch002'''</li>
<li>Now select [[File:Sketcher_CreateRectangle.svg|24px|link=Sketcher_CreateRectangle]] [[Sketcher_CreateRectangle|Rectangle]] tool, and create a rectangle, do not create it using near the axis, to avoid automatic constraints that will make difficult to move it in the correct position using [[Sketcher_External|External geometry]] tool.<br>
<br>
Apply these constraints:
<ol>
<li>Select one of the horizontal lines apply a horizontal distance constraint and a value of 5 mm.</li>
<li>Select one of the vertical lines and give it a vertical distance constraint and a value of 11 mm.</li>
</ol>
You should have something similar to the figure below:


</translate>
[[File:Pd tut sk2 start.png|center|Sketch_2 unfinished]]
[[File:Pd_tut_final_solid.png]]

<translate>

<li>Click the Close button at the top of the Tasks tab in the Combo View window.</li>

</ol>

==== Adding external geometries constraints ====

Adding an [[Sketcher_External|External geometry]] need that you have sketches on which we are "attaching" our geometry visible.

{| class="wikitable"
|+ External geometries 1
|-
| [[File:Pd tut sk2 eg01.png|frame|Fig: SK2_1]] || [[File:Pd tut sk2 eg02.png|frame|Fig: SK2_2]]
|}

{| class="wikitable"
|+ External geometries 2
| [[File:Pd tut sk2 eg03.png|frame|Fig: SK2_3]]
|}


To do so in the '''Treeview''' select '''Sketch''' and '''Sketch001''' and make both visible using the spacebar, if everything is ok you will have something that resemble the image in '''Fig:1''' below:


Double click on the Sketch_2 to activate again ''edit mode''.



<ol>
<li>Select [[File:Sketcher_External.svg|24px|link=Sketcher_External]] [[Sketcher_External|External geometry]] tool.
</li>
</ol>

Once that is done, click the Close button at the top of the Tasks tab in the Combo View window,

=== Pockets ===

Select [[File:PartDesign_Pocket.svg|24px|link=PartDesign_Pocket]] [[PartDesign_Pocket|Pocket]] tool from the toolbar or Part Design menu. Using this tool is the opposite of the Pad tool. As the Pad tool adds material to the part, the Pocket tool removes material from the part. Both operations are called features. In this Pocket operation we want to select Through all from the type pulldown-menu and then click the OK button.


For the next operation, make sure that “Pocket” is selected in the Model tree view and once done, click on the [[File:PartDesign_Mirrored.svg|24px|link=PartDesign_Mirrored]] [[PartDesign_Mirrored|Mirror]] feature on the toolbar or from the Part Design menu. In the Mirror dialog in the Combo View, select Horizontal sketch axis from the Plane pulldown menu. Then click OK. The Mirror feature works in this way because the base feature of our model was Padded both ways from the horizontal plane in the first operation with the base sketch. If all has gone well, you should now have a part that looks like the image below after you orbit it around to the front.

== Features with pad and external geometry ==


After taking a look, orbit back around and once again select the back face of the part and select that face to map the next sketch to.



Select New sketch and make a new rectangle in the manner similar to what is shown below in the next image. Then proceed to add dimensional constraints to the rectangle.


# Select a horizontal line and apply a horizontal distance constraint with a value of 16.7.
# Select a vertical line and apply a vertical distance constraint of 7 mm
# Using the External geometry tool, select the upper left vertex of the part face.





Now selecting the upper left vertex of the rectangle and the external geometry point, click on the coincident constraint to fully constrain the sketch.




Close the Sketcher.


Next we will click on the Pad feature and in the Pad dialog in the Combo View we want a length of 26 mm leaving the type as Dimension and then placing a check on the Reversed checkbox. Using the Reversed checkbox will cause the Pad to go into the part instead of away from the part. This operation provides with the following result.




Once again use the Mirror feature to get the second pad. First ensure that created Pad is selected in the tree view, then click on Mirror in the toolbar or select it from the Part Design menu. We will repeat the operation we did for Pocket above and select Horizontal sketch axis from the Plane pulldown menu.



== Feature with pocket and external geometry ==


At this point orbiting the part around to the front, we can see that our part is now starting to look like the part in the dimensioned drawing at the beginning of this tutorial. Once you have the view of the front, click on the sloped face with your mouse to select the face we will use for the next sketch.



Here we will use the Rectangle tool and place a rectangle in our sketch and once having done so, apply the following constraints.


# Select a horizontal line and a vertical line, and after both are selected, click on the Equals constraint.
# Select either a horizontal or vertical line and apply a corresponding horizontal or vertical distance constraint with a value of 17 mm
# Using the External geometry tool, select the top right vertex as shown in the image below.






Now using the dimensions from the drawing, apply the following constraints.


# Select the external geometry point and the upper right vertex of the now square sketch and apply a horizontal distance constraint of 7 mm
# Select the external geometry point and the upper right vertex of the now square sketch and apply a vertical distance constraint of 11 mm


The result should be as follows.






At this point if we were to simply Pocket this sketch, the resulting hole would be perpendicular to the sloped face that it is mapped to, and this is not what we want.




We want the hole to be perpendicular to the back face, but it's projected dimensions are not the 17 mm x 17 mm dimensions that are given in the drawing. Now we could do the math and calculate the dimensions needed, or we can use the tools provided in FreeCAD to make that projection for us.


To create pocket which has the sloped rectangle as it´s outlet, we draw a new rectangle on the rear side, using the projection of the sloped rectangle as an external reference.
Orbit the Solid around to see the rear face of the part once again and select the back face to map the final sketch to.




Select [[Image:PartDesign_NewSketch.svg|24px|link=PartDesign_NewSketch]] [[PartDesign_NewSketch|New Sketch]] from the toolbar or Part Design menu. Now in sketch edit mode, we do not see the sketched rectangle on the slope. To make it selectable , we switch the combo view to model tab and select the last sketch made (Sketch003) on the sloped plane. Then using the spacebar, make it visible. Next, select the mirror feature above (mirrored001) and again using the spacebar, hide it. Then you should see the sloped rectangle inside the 3D View. You may continue to work with the model tab visible, or switch back to tasks tab. Using the [[File:Sketcher_External.svg|24px|link=Sketcher_External]] [[Sketcher_External|External geometry]] tool, select the upper and lower horizontal edges of the sloped rectangle. Then, add a new rectangle to the sketch using the [[File:Sketcher_CreateRectangle.svg|24px|link=Sketcher_CreateRectangle]] [[Sketcher_CreateRectangle|Rectangle]] tool.





# Select the upper left vertex of the new rectangle and the upper left point of the external geometry and click on the coincident constraint.
# Click on the lower right vertex of the new rectangle and the lower right point of the external geometry and click on the coincident constraint.


And we should end up with this.





For the final step in this tutorial, close the sketcher window using close or finish editing from the context menu of sketch004 and then select the [[File:PartDesign_Pocket.svg|24px|link=PartDesign_Pocket]] [[PartDesign_Pocket|Pocket]] feature from the toolbar or from the Part Design menu. From the Type pulldown select '''Through all''' and click the OK button.



At this point, you will see some lines which come from intersecting features. In this case the ''side block'' intersects with the ''base profile'' letting it appear as a triangular block above the profile (i.e., there is an extra line visible in the above picture on the right face of the model). To remove these lines, you can either switch on "refine shape" in your Part Design Settings or, to save some processing speed and still have these lines while constructing, individually switch it on at each feature. The Setting on feature level can be done in the "data" tab of the feature. Set the [[Property editor#Data|'''''refine'' property''']] to TRUE for the pocket feature Pocket001 to invoke refining.




This tutorial and your model are complete.

== Additional Resources ==




</translate>
{{PartDesign Tools navi{{#translation:}}}}
{{PartDesign Tools navi{{#translation:}}}}
{{Sketcher Tools navi{{#translation:}}}}
{{Sketcher Tools navi{{#translation:}}}}

Latest revision as of 19:06, 18 March 2024

Tutorial
Topic
Modeling
Level
Beginner
Time to complete
1 hour
Authors
Carlo Dormeletti (onekk)
Ed Williams (edwilliams16)
Roy 043 (Roy 043)
FreeCAD version
0.19 or higher
Example files
None
See also
Basic Part Design Tutorial

Introduction

This is an updated version of the Basic Part Design Tutorial.

This tutorial introduces users to the Part Design Workbench. In this tutorial we will create a 3D solid model of the part shown in the image above. In the drawing at the end of this paragraph all the necessary dimensions to complete the task are given.

We will start by creating a core solid shape from a base Sketch and then build on that shape, adding what are known as features. These features will either add material to, or remove material from the solid by use of additional sketches and accompanying feature operations.

We will follow some of the techniques described in Advice for creating stable models:

  • We will use a master sketch.
  • Named constraints will be used to hold dimensions that can be referenced later in the model construction.
    For instance, to change the model width from 53 mm, as in the technical drawing, to 55 mm we need only modify the Length value of the appropriate named constraint in the master sketch and the whole model will modify accordingly. This is parametric design in action.
  • External geometries are potentially subject to the Topological Naming Problem. We will use them only when strictly necessary and will attempt to reference to the most stable elements available. Referencing edges and vertices of sketches is normally more stable than referencing edges and vertices of generated solid geometry.

This Tutorial will not use every feature and tool available in the Part Design Workbench, but will provide a basic foundation upon which users can build their knowledge and skills.

Feel free to signal any errors or problems in this forum thread: New Part Design Tutorial for FC 019 and 020.

Preliminary notes

  • This tutorial will provide detailed instructions when it describes an operation for the first time. Subsequent operations will have a more concise description. When in doubt, find the operation that contains the more detailed description. For instance, when creating a sketch for the first time the process of choosing the sketch plane will be explained in detail, for subsequent sketches it will not.
  • All mentioned tools can be accessed from toolbars and from the menu.
  • This tutorial assumes that Auto constraints in the Sketcher's Edit controls window is checked. This ensures that some constraints are applied automatically. Otherwise you will need to apply them yourself.
  • If the Sketcher Solver detects a redundant constraint it will turn the sketch orange in color. Before further constraints are added, redundant constraints should be removed. Redundant constraints are shown in the task panel, click the blue reference and press Delete.
  • The color mentioned above is a default color, it can be changed in the preferences. The same applies to the other colors mentioned in this tutorial.
  • You exit a Sketcher drawing tool by pressing the Esc key or by right-clicking an empty area of the 3D view. The mouse cursor will change to the standard arrow cursor. If you press Esc an additional time you will exit sketch edit mode. To return to the editor, click the Model tab, then either double-click the Sketch element in the Tree view, or right-click it and select Edit sketch from the context menu. To avoid leaving edit mode when pressing Esc too often, change the Esc can leave sketch edit mode preference, see Sketcher Preferences.
  • It's possible that some elements in a task panel, for instance the OK button, are not visible if the panel is not wide enough. You can make it wider by dragging its right border. Place your mouse pointer over the border, when the pointer changes to a two-way arrow, hold down the left mouse button and drag.
  • A >> button in a toolbar indicates that the toolbar is truncated. You can either use the mentioned button to expand it, or move the toolbar to a position where more room is available. To move a toolbar place your mouse pointer over the grip before the first icon in the toolbar, hold down the left mouse button and drag.
  • During the v0.21 development cycle a new icon was introduced for the Sketcher Create polyline tool: . The old icon looks like this: . In this tutorial we will use the new icon.
  • See Part Design Workbench Concepts for some conceptual background.
  • See the Sketcher WorkBench for a more detailed explanation of some of the terminology used here.

Startup

First make sure you are in the Part Design Workbench. If required select it from the Workbench dropdown list. Once there, you will want to create a new document if you have not done so already. It is a good habit to save your work often, so first save the new document, giving it any name you choose.

All work in Part Design begins with a body. Click Create new body to create and activate one. Note that it is also possible to skip this step: when creating a sketch using the Part Design Create sketch tool, if no existing body is found, a new one is automatically created and activated.

Master sketch

The master sketch contains the model's rectangular base shape and two named constraints that will supply correct dimensions to other parts of the model: length that will contain 53 mm (the result of adding the 39 mm dimension to the two 7 mm sides), and width that will contain 26 mm. To be able to take advantage of the model's symmetry in later steps, the top edge of the rectangle will be centered around the origin with a symmetrical constraint.

Sketch

Fig: MS1
Fig: MS2
Fig: MS3
Fig: MS4
Fig: MS5
Fig: MS6

Step A: Create the sketch

  1. Click Create sketch. This will create the sketch within the just created body. It will be named Sketch.
  2. A task panel like Fig: MS1 will open where you have to choose to which plane the sketch will be attached.
    1. Select XY_Plane from the list or select that plane in the 3D view.
    2. Click OK.
  3. FreeCAD automatically switches to the Sketcher Workbench.
  4. The sketch is opened in edit mode: you will see something like Fig: MS2. The X axis (the red line) and Y axis (the green line) of the sketch are indicated, as well as its origin (the red point).

Step B: Add geometry

  1. Click Create rectangle.
  2. While the tool is active the cursor has this appearance:
  3. Pick two points to create a rectangle roughly centered around the Y axis similar to Fig: MS3. Note:
    • Don't place points on an axis as the Solver will automatically apply constraints that will create problems later.
    • The dimensions of the rectangle are unimportant at this point. They will be assigned using constraints in a later step.
  4. Once done, press Esc or right-click to exit the tool.

Step C: Assign a horizontal distance constraint

  1. Select the line defined by P2 and P3 in Fig: MS3.
  2. Click Horizontal distance constraint:
    1. A dimension will appear between the endpoints of the selected line. This dimension is the current distance.
    2. Additionally a dialog will appear:
    3. Assign Length = 53 mm.
    4. To be able to reference this dimension later a name is required. You are free to use any name, it need only be unique within the sketch. Assign Name = length.
    5. Click OK.
  3. The result should resemble Fig: MS4

Step D: Assign a symmetrical constraint

  1. Select points P2 and P3 of the rectangle.
  2. Select the origin of the sketch. Note: the selection order of the points is important.
  3. Click Symmetrical constraint.
  4. You will end up with something that resembles Fig: MS5.

Step E: Assign a vertical distance constraint

Assign a vertical distance constraint following the same procedure as used for the previous horizontal distance constraint:
  1. Select the line defined by P3 and P4 in Fig: MS3.
  2. Click Vertical distance constraint:
    1. Assign Length = 26 mm
    2. Assign Name = width.
    3. Click OK.
  3. The result should resemble Fig: MS6.
  4. The sketch is fully constrained now:
    • The lines in the sketch are bright green.
    • The Solver messages section of the task panel displays Fully constrained.
    • If you select any line or vertex of the sketch and try to drag it, it won't move.

Step F: Close the sketch

Click Close at the top of the tasks panel to leave sketch edit mode.

Main profile

The main profile is created by padding a new sketch.

Sketch001

Fig. MP1
Fig: MP2

Step A: Create the sketch

Click Create sketch and create a sketch attached to the YZ_Plane. FreeCAD will assign the name Sketch001.

Step B: Add geometry

  1. Click Create polyline and make a shape like in Fig: MP1.
  2. The labels P1, P2 etc. will not appear in the sketch. They were added for reference.
  3. For the last point of the final segment make sure to pick the first point of the shape. The point will change color and you will see the symbol for a Coincident constraint appear near the cursor. Coincident constraints have to be explicit. Just having two points visually coincident is not sufficient.
  4. Press Esc or right-click to exit the tool.

Step C: Assign constraints

  1. The three vertical and horizontal constraints you see in the image should have been added automatically provided you drew those lines that way. If you didn't you need to add them.
  2. Select the point P2 and the Y axis of the sketch and apply a Point onto object constraint. Because the sketch is attached to the YZ_Plane, the Y axis of the sketch does not match the Y axis of the body.
  3. Select the origin and the point P1 and apply a Horizontal constraint. Why not a Coincident constraint? you might ask. Try it (and undo). The sketch will turn orange and a solver message Redundant constraints will appear. Because the line P1 to P2 has already been constrained to be vertical, the only remaining degree of freedom is P1's Y coordinate. The coincidence constraint sets both the X and Y coordinates to zero, but the X coordinate is already determined. The horizontal constraint, on the other hand, only sets the Y coordinate to zero, which is sufficient.
  4. Select the line defined by the points P2 and P3, apply a Horizontal distance constraint, and assign Length = 5 mm.
  5. Select the line defined by the points P1 and P2, apply a Vertical distance constraint, and assign Length = 26 mm.
  6. Select the line defined by the points P1 and P4 and apply a Horizontal distance constraint:
    1. For this value you will use a named constraint using Expressions. To do so you have to click the little button in the Length input field: .
    2. You will be presented with a new dialog named Formula editor that contains an input field and a Result: label, similar to the image below:

      When you start typing in the input field, you will be presented with some autocompletions.
    3. Select the label of the sketch. In our case we want <<Sketch>>.. Note the period after the label.
    4. To select the named constraint "width", you first have to enter Constraints. with the period. Here autocomplete works.
    5. To add "width", as yet autocompletion is not available, so complete the cell to read <<Sketch>>.Constraints.width. If all went well the red error message after Result: has been replaced by the correct value as in the image below:
    6. Click OK to close the Formula editor dialog.
    7. Click OK to close the Insert length dialog.
  7. You should have a fully constrained sketch similar to Fig: MP2.
  8. Note the different colors used for distance constraints assigned using expressions, and those assigned specifying a length.

Step D: Close the sketch

Click Close at the top of the tasks panel to leave sketch edit mode.

Pad

Fig: MP3
  1. Make sure Sketch001 is selected.
  2. Click Pad:
    1. The Pad parameters task panel opens.
    2. For Type select Dimension .
    3. For Length again use an expression, but this time enter <<Sketch>>.Constraints.length. This should evaluate to 53 mm.
    4. Select Symmetric to plane.
    5. Click OK to close the task panel.
  3. You should now have a solid as shown in Fig: MP3.

Corner cutouts

For the corner cutouts two features are added to the model. A pocket, based on another sketch, is used to create the first cutout, and this feature is then mirrored.

Sketch002

Fig: CC1
Fig: CC2
Fig: CC3

Step A: Hide the solid

Hide the just created solid: Select Pad and click the Spacebar.

Step B: Create the sketch

Click Create sketch and create a sketch attached to the XZ_Plane. The sketch will be named Sketch002.

Step C: Add geometry

  1. Select Create rectangle, and create a rectangle. Do not create it too near an axis, to avoid any automatic constraints that would make it difficult to move it into the correct position later.
  2. Exit the tool.

Step D: Assign dimensional constraints

  1. Select one of the horizontal lines, apply a Horizontal distance constraint, and assign a value of 11 mm.
  2. Select one of the vertical lines, apply a Vertical distance constraint, and assign a value of 5 mm.
  3. You should obtain something similar to Fig: CC1.

Step E: Close the sketch

Click Close. Sketch002 is not fully constrained at this stage.

Step F: Make previous sketches visible

To use external geometry, the sketches whose elements we want to reference must be visible. Make sure Sketch and Sketch001 are both visible. Use the Spacebar to toggle visibility if needed. Expand the Pad node in the Tree view to access Sketch001.

Step G: Add external geometry and fully constrain the sketch

  1. Double click Sketch002 to enter edit mode.
  2. Rotate the view so you can clearly see the points as shown in Fig: CC2. This will ease subsequent steps. Note that the rectangle's initial position may be different in your sketch.
  3. Click External geometry.
  4. While the tool is active the cursor has this appearance:
  5. Select point P1 in Fig: CC2. The selected point is added to the sketch as external geometry. In the Elements section of the task panel it will appear with a purple X icon or, introduced in version 0.21, a purple dot icon.
  6. With the tool still active select point P2 in Fig: CC2. This external geometry should also appear in the Elements section.
  7. Exit the tool.
  8. Select point P1 and point P3 and apply a Vertical constraint. The rectangle will be aligned with the X position of P1.
  9. Select point P2 and point P3 and apply a Horizontal constraint. The rectangle will be aligned with the Y position of P2.
  10. You should have a fully constrained sketch similar to Fig: CC3.

Step H: Close the sketch

Click Close.

Pocket

Fig: CC4
Fig: CC5

To create the cutouts we will use the Pocket tool. This tool is the opposite of the Pad tool. Whereas the Pad tool adds material, the Pocket tool removes material.

  1. Select Sketch002.
  2. Click Pocket:
    1. The Pocket parameters task panel opens.
    2. Select Type Through all .
    3. Check Reversed
    4. Click OK.
  3. You should have something that resembles Fig: CC4

Mirror

Instead of creating another sketch and pocketing it, we take advantage of the model's symmetry about the YZ plane and use Mirrored to create the second cutout.

  1. Select Pocket in the Tree view.
  2. Click Mirrored:
    1. The Mirrored parameters task panel opens.
    2. Select Plane Vertical sketch axis from the pulldown menu. The plane will be defined by this axis (the Y axis) and also by the Z axis of the sketch. Note that selecting Base YZ Plane would have the same result.
    3. Click OK.
  3. You should now have a part that looks like Fig: CC5.

Sides

The sides are created in a similar manner, but instead of removing material we will add material with a pad feature.

Sketch003

Fig: SD1
Fig: SD2
Fig: SD3
  1. Make sure Sketch is visible, and Mirrored is hidden.
  2. Click Create sketch and create a new sketch attached to the XY_Plane. The sketch will be named Sketch003.
  3. Click Create rectangle and create a rectangle similar to the smaller rectangle in Fig: SD1. Because the rectangle is offset from the X axis this should not trigger an automatic Point onto object constraint.
  4. Exit the tool.
  5. Click External geometry.
  6. Select the point P1 as shown in Fig: CC2 from Sketch.
  7. Exit the tool.
  8. Apply these constraints:
    1. Select one of the horizontal lines, apply a Horizontal distance constraint, and assign a value of 7 mm.
    2. Select one of the vertical lines, apply a Vertical distance constraint, and assign this expression: <<Sketch>>.Constraints.width.
    3. Select the top-left point of the created rectangle (marked TL in Fig: SD1) and the newly added external geometry point and apply a Coincident constraint.
  9. The sketch should be fully constrained now.
  10. Click Close.

Pad001

  1. Select Sketch003.
  2. Click Pad:
    1. Assign Type = Dimension .
    2. Assign Length = 16.7 mm
    3. Click OK.
  3. You should have a result as shown in Fig: SD2

Mirrored001

  1. Select Pad001.
  2. Click Mirrored:
    1. Make sure Plane Vertical sketch axis is selected.
    2. Click OK.
  3. You should now have a part that looks like Fig: SD3.

Note

Our two mirror operations have a common symmetry plane, so we could have made our model a little simpler by combining them. We would:

  1. Omit the first Mirror operation.
  2. Select both Pad001 and Pocket in step 1 of the above Mirrored001 operation.

This emphasizes the important concept that we are mirroring the selected features (the operations we performed on the body, in the selected order), not the body itself.

Center hole

Now it is time for the most challenging part of our modeling, a challenge that arises because some of the dimensions of the center hole are defined along the slanted face. If you use this face, created by padding Sketch001, as a reference for the next sketch, you expose yourself to the Topological Naming Problem. A better solution is to reference Sketch001 itself.

Sketch004

Fig: CH1
Fig: CH2
  1. Make Sketch001 visible, and hide Sketch and Mirrored001.
  2. Click Create sketch and create a new sketch attached to the YZ_Plane. The sketch will be named Sketch004.
  3. Click Create polyline and trace a polyline like that indicated by the points P1, P2, P3 and P4 in Fig: CH1.
  4. Remember to close the polyline by picking the first point. This will create the required Coincident constraint.
  5. Exit the tool.
  6. Check the applied constraints:
  7. Click External geometry
  8. Select the line defined by EGP1 and EGP2 in Sketch001, indicated by the purple color in Fig: CH2.
  9. Exit the tool.
  10. Apply a Point onto object constraint to P3 and the external geometry, and repeat this for P4. This will make the line defined by P3 and P4 coincident with the line defined by EGP1 and EGP2.
  11. Select the line P3 to P4, apply a Distance constraint, and assign Length = 17 mm
  12. Select the points EGP2 and P4, apply a Distance constraint, and assign Length = 7 mm.
  13. This will result in a fully constrained sketch like Fig: CH2.
  14. Click Close.
  15. Hide Sketch001.

Pocket001

  1. Select Sketch004.
  2. Click Pocket:
    1. Select Type Two Dimensions .
    2. Assign 8.5 mm to Length and 2nd length.
    3. Click OK.
  3. Select the newly created Pocket001.
  4. On the Data tab of the Property editor change its Refine property to True. The property editor can be found on the Model tab of the Combo View.

Notes

  1. For Pocket001 we could have alternatively used Type Dimension , checked Symmetric to Plane, and entered 17 mm for the Length value.
  2. Refine will try to remove seams left by previous operations. It is advisable to only refine the final solid, as some operations can fail if a previous feature has been refined. However, there are also cases where refine can make an operation succeed. So in case of problems check this property and test. Unfortunately there is not yet a general rule to follow.

Result

The model is complete. It should look like the image below.

Finally, select Sketch in the Tree view and on the Data tab of the Property editor look for Sketch → Constraints. Expand that node and changed the length and width constraints. The model should change parametrically.