Creating a simple part with Draft and Part WB

From FreeCAD Documentation
Revision as of 19:47, 1 August 2022 by David69 (talk | contribs) (added SeeAlso)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Time to complete
1.5 hours
FreeCAD version
0.19 or above
Example files
See also
Creating a simple part with Part WB, Creating a simple part with PartDesign


This tutorial aims to be used as a first introduction to the Draft Workbench in FreeCAD. The tutorial uses a 2D shape to create a 3D solid, the latter is accomplished through the Part Workbench. The reader is recommended to first work through the sister tutorial Creating a simple part with Part WB, which is creating the same model with a different technique, while at the same time covering more of the basics of FreeCAD’s user interface. This tutorial expects the user to be briefly familiar with both the user interface and some workflows available in FreeCAD. The tutorial is composed such that the aim is not necessarily to show the most efficient way to use the program, but rather to make the reader aware of different functionalities available in FreeCAD, how to use them, and where to find them.

The tutorial covers

  • The model to make
  • Creating the 2D profile
  • Why extruding can fail
  • Extruding the profile
  • Creating the through hole
  • Making a sketch out of the 2D profile
  • Quality of models
  • Wrapping up

The model to make

Creating the 2D profile

Create a new document and save it directly under a new name. Change the view to Top view and switch to the Draft Workbench, your screen should look like below. If the grid does not show, toggle it on/off with Toggle Grid.

To start off the profile, draw a random Rectangle on the xy-plane by clicking 2 points in the 3D view forming any diagonal of a rectangle. A task panel will open once the command is invoked, this time we are not going to use it at all, but you could of course enter the coordinates for the rectangle directly. Your 3D view should now have a rectangle drawn, similar to the below picture.

When working in the Draft Workbench one almost always draws on a 2D plane. That 2D plane is called the Working plane, and, if default settings are used, it will always automatically align itself to the current 3D view. So, until the 2D profile is completed, it is best to simply keep the Top view (camera position) and not play around with rotating the view. If you happened to have changed it, just change back to the Top view before starting any new command in the Draft Workbench.

The side view of our final model has the outer contour of 100 x 50 mm, and it would be nice if the lower left corner was placed in the global zero position. This can be accomplished through the Property editor. Make sure the created Rectangle is selected, then change the Position of the rectangle to (0, 0, 0), modify the height to 50 mm and the length to 100 mm as per the images below.

The Rectangle is finished and it should look like this after applying Fit all to the view.

Next we will break up the rectangle into its four edges, this is done by first selecting the Rectangle and then invoking the command Draft Downgrade, the filled face will disappear and the object in the Tree View is now a Wire instead of a Rectangle, shown in the left picture below. Invoking Draft Downgrade once more will break up the wire into its edges, shown in the middle picture below.

The observant will notice that the object icon in the Tree View already for the wire changed to a blue box. This blue box is the icon used for generic geometric objects (Part Workbench geometric objects to be specific, but that is for advanced readers). Select the left vertical edge and invoke the command Draft Upgrade, the former edge will now have a different icon and has changed label to Line. It is now a Draft Workbench object where one can edit for example the start point and the end point through the Property editor, this is not possible with the edge objects.

Creating the fillet

Start by selecting the upper right corner edges, use menu Edit → Box selection Box selection, hold down the Left Mouse Button and drag from right to left and release the LMB. When dragging from right to left the resulting selection includes everything fully or partially within the selection area. If one drags from left to right, only objects fully enclosed by the selection area are included in the resulting selection. The actual selection happens when the left mouse button is released, and there is no preview of what will be selected.

With the top right corner edges selected, invoke the command Fillet in the Draft Workbench. Check Delete original objects and change the radius to 20 mm and hit enter.

The Fillet is created and your model should now look like below.

Creating the chamfer

To make the chamfer we need to have a line with the correct inclination and also be able to position it correctly. Let us begin with the position, which is on coordinate (50, 50, 0). In the current profile we do not have a point there, so let’s create one by making a temporary help line. First select the left vertical Line, then create the help line by Duplicate selection in Edit → Duplicate selection, Line001 is created. Use the Property editor and move Line001 50 mm in x-direction using the Placement property. Next duplicate the lower horizontal edge, and change the angle of the edge to 30 degrees, once again using the Placement property. The model should now look like the image below.

Next, move the angled line into position. For this we make use of Draft Move along with the snap functionality in the Draft Workbench, more specifically end point snap. First make sure that your snap toolbar looks similar to below.

Then select the angled line, Edge001, press Move and a task panel opens up.

Make sure that Copy is unchecked. Hover the mouse over the upper quarter of the angled line, once the white dot is displayed at the right spot and the end point symbol shows, click the LMB. Move the mouse to the upper quarter of the help line, once the white dot and end point symbol appear, click the LMB. The sequence is illustrated below.

The line is now in the correct position, but it is too long. To adjust the length Draft Trimex will be used. Select the angled line, Edge001, press Trim and then click on the lower part of the left-most vertical line, Line, to use it as the cutting edge. The projection of the point where the cutting edge is selected onto the edge to be cut, determines the result. If you select the left-most vertical line near its top end, the wrong part of the angled line would be trimmed. The image below shows the Trim command invoked, the pre-selected vertical line, and the cursor hovering over the wrong end of that line. If you look carefully you can see the preview of the result.

Also trim the left-most vertical line to form the lower corner of the chamfer. Select the angled line, Edge001, near its top right endpoint for a correct result. If you make a mistake while trimming, just use Undo and Refresh (the latter often called recompute) and try again.

To trim the upper horizontal edge, the Fillet needs to be downgraded so that the upper edge is its own object in the Tree View. If you attempt to trim it without first having done the downgrade, the trimming function attempts to trim the arc in the fillet. Because the trimming edge, the middle vertical line, is perpendicular to the edge to be trimmed, you cannot control the trim result by picking a correct point on the trimming edge. Here you need the flip the default solution by holding down the Alt key as you select the cutting edge.

The profile is ready and shown below with the edges organized in a Group named Profile (or labeled to be precise in FreeCAD lingo), along with the help line deleted. Groups can be used to organize the features in your FreeCAD documents, its usage is similar to a folder structure on a computer’s file system. To move things in and out of the group, use drag and drop in the Tree View.

Why extruding can fail

Save the document. We will experiment in this paragraph and we want to be able to go back to the current model.

Let’s jump right in: select all the edges in the group Profile, and in the Part Workbench invoke the command Extrude. A task panel opens, accept all the defaults and click OK.

That did not work out, but it sounds easy enough to fix the error, we just need to specify a direction. Click OK to get back to the task panel and select custom direction.

Accept the default z-axis and once more click OK.

We managed to make a fence like structure, judging from the Tree View every edge is treated separately. It is not the filled solid that we want. Hit Undo, and let’s try something else.

Scrolling all the way to the bottom of the Extrude task panel there is an option Create solid, check that option and click OK.

Everything disappeared, clearly that did not work either. Let’s go through why none of these ways are working. In the first case we got an error that the direction could not be determined. A flat face has a normal, i.e. direction, a line does not. Since from our second attempt we know that it worked when providing a direction, the error simply comes from trying to extrude a line without knowing a direction. The observant will say that an arc has a normal (direction), this is true. If you select only the edge that is the arc, FreeCAD will extrude it, also with default settings.

In the second case it worked, but we also got an extrusion for each edge we had in our selection. The resulting features however are not what we want, i.e. a solid.

In the third case we checked Create solid, and ended up with everything disappearing. The objects in the Tree View have a different icon as well, there is a white exclamation mark on a red background, that particular overlay icon means that the object has an error that has to be tended to. One can read up on the different types of overlay icons on the wiki.

Hovering over any of the Tree View objects with the overlay icon a tool tip is displayed, it says Wire is not closed.

In our case the error is not fixable. It is geometrically impossible to create a solid out of an extruded single line. An extruded line simply becomes a sheet, or shell in FreeCAD lingo. In other words, this is not a FreeCAD limitation, it is a fundamental outcome of geometrical theory. The reason why the 3D view goes completely blank is that the created features, or objects in the Tree View, have errors in the produced shape, and thus contain nothing to render. FreeCAD does however create the new document objects (in this case extrusions) and thus hides any geometry/object used for making the new document objects. That is why the screen goes blank when trying to make a solid out of a line, or lines.

The tool tip says it all, in order to extrude into a solid one needs a closed wire, or a face. A face is, per definition, simply a closed wire that is filled. One way to create a closed wire out of our profile edges is to select them all and apply Draft Upgrade. If applied once it becomes a wire, while at the same time it consumes the individual edges from the Tree View. If applied twice it becomes a face, either of those allows for a successful solid extrusion.

Before going on to the next paragraph: open the previous version of the document.

Extruding the profile

Another way to create the closed wire is with the Shape builder command from the Part Workbench, which allows for making a wire without consuming the individual edges. Part Shape builder is a powerful tool to create any geometric entity in FreeCAD that can be used further to create complex solids, the simplest example is creating a line between two vertices. Click Part Shape builder to bring up the task panel.

We can use either Wire from edges or Face from edges. Multiple selections have to be made with the Ctrl key pressed down. Let’s use Face from edges, once that option is selected one can also select Planar, do that as well. Then select all edges in the profile, the order does not matter (in this case) and click Create, and then Close to come back to the Tree View. The face has been created.

Select the Face and invoke Part Extrude, set the extrusion length to 30 mm and click OK.

Creating the through hole

To make the through hole we need a cylinder correctly positioned to make a boolean cut with.

Create a cylinder, and position it correctly. In this case the radius is 5 mm, the height is set to 60 mm. For the placement, first it is rotated -90 degrees around the x-axis, then positioned at (65, -5, 15). The negative 5 in the y-direction is because the height is 10 mm longer than needed.

It does not hurt to make the height of the cylinder longer than needed. For a simple model like this it will not matter if the cylinder is the exact height of the profile. It is however good practice to avoid co-planar faces to prevent numerical errors in the geometric kernel that can sometimes result in strange effects, or failures in subsequent operations.

With a final boolean cut, and after changing the appearance of the resulting object, the model is completed.

Making a sketch out of the 2D profile

Using the Draft Workbench is one way of creating a 2D profile. In the Draft Workbench a wire can be made in 3D space. FreeCAD provides another tool to make 2D profiles – the Sketcher Workbench. Using a sketch is a more versatile way to create a 2D profile. Any 2D profile made in the Draft Workbench can be converted to an unconstrained sketch.

Start by hiding the Cut feature and make the edges in the profile visible. Select the edges and from the Draft Workbench press the toolbar button Draft to Sketch. You should see the same as in the image below.

Next, hide the original edges and double-click the Sketch object in the Tree View, bringing you to the following state, i.e. the Sketcher task panel opened.

This is how it looks when one edits a sketch. Since this is not a tutorial for using the Sketcher just go ahead and close it. If you want an introduction to sketching, which is a core workflow in any 3D parametric CAD, please follow the sister tutorial Creating a simple part with PartDesign.

With the Sketch closed and selected, from the Part Workbench use Extrude in the same way as before. The basic block of the simple model is ready once again.

Quality of models

Sooner or later when working with 3D parametric CAD you will come across a broken model, either one you have made yourself, or a model that you have imported. A broken model can work for its purpose, but more often than not, there are subsequent operations that simply will not work. To repair a broken model one has to know what to repair, this is where the built-in quality check tools in FreeCAD come in.

First let us check the quality of the recently created Extrude001. With the Part Workbench active, first select Extrude001 and then use the command Check geometry. Check all settings checkboxes except the top one, and click the Run check button.

Our model is OK, no errors are reported. There is also a listing of the models content, or in FreeCAD lingo, the content of the shape, i.e. how it is put together from ground up. Here one can see that apparently to make a solid one also needs a shell, and the shell is made out of faces, and so on. In other words, you can create any solid by simply starting out by making points, or vertices, from those one makes edges, and from those one creates wires, and out of the wires one makes faces which are then stitched into a shell, from which one finally arrives at a solid. A solid can only be made from a watertight shell. A not watertight shell is a common source of troublesome CAD models, it can for example happen with imported geometry created in a different software, especially when using the commonly available neutral file formats.

Another check one can do is related to the Sketch. Close the task panel for the geometry check. Select the Sketch, expand Extrude001 in the Tree View if needed in order to see the sketch object. Switch to the Sketcher Workbench, use the command Validate sketch, a task panel opens. In the task panel, click the Find button for Missing coincidences. It highlights and reports 6 of them, i.e. all the points where the edges meet.

Click OK in the pop-up dialog and then click the Fix button to heal the Missing coincidences. If you close the task panel, and go into edit mode of the Sketch, it reports 12 degrees of freedom, as opposed to the earlier 24. That was achieved through adding coincident constraints to the endpoints of the edges.

The observant reader notices that when using edges from Draft those had to be joined into a closed wire to make a solid extrusion, whereas in Sketcher that was apparently not needed. The logic here is that the sketch is one object, and the extrusion of one object is treated as if it was a closed wire (in this case).

Finally it should be pointed out that, although creating subsequent objects from sketches with open vertices can work, it is best practice to not have any, as well as to have a fully constrained sketch (as opposed to an under-constrained sketch). The reason why it works here is that the sketch is created from a Draft profile constructed in such a way that the endpoints of the edges match without any gaps. If you draw by hand in a sketch, and also try to match endpoints by hand, it is virtually guaranteed that endpoints will not match, i.e. the gaps (although not really visible on the screen) will be large enough that the geometric kernel cannot consider the edges to be geometrically joined.

Wrapping up

Having gone through the tutorial you have become somewhat familiar with the basic functionality of FreeCAD, along with the core workbenches Part and Draft. You are also aware of the existence of the Sketcher Workbench, which for many experienced users is the sole tool used to create 2D profiles later utilized in solid feature operations. The use of sketches is a core concept in the PartDesign Workbench. It is suggested that you learn sketches and PartDesign Workbench next if your focus is on creating solids. The sister-tutorial Creating a simple part with PartDesign makes the same model as this tutorial. If your focus is modeling buildings your next learning should be the Draft and Arch workbenches.

At last, FreeCAD is made by volunteers in their spare time. If you want to further advance FreeCAD’s capabilities, consider contributing to FreeCAD, for example by improving the documentation.