Wikis > FreeCAD > FreeCAD-studygroup-session3


This is likely the last of the instructor led study group sessions.  Future sessions will request studygroup participation in showing or solving problems to bring back to everyone else.  Put your thinking caps on – we’ll be asking people for ideas and to host future sessions!


PLEASE NOTE: If you missed the January 17th or 31st study group session you will need to complete the prerequisites listed on this page ON YOUR OWN and PRIOR to coming to this session. We will not be covering those topics again and those found to not have these prerequisites completed will be asked to drop from this session.

Previous session work or alternate youtube videos are available in the outlines of the previous sessions:

FreeCAD Study Group, session 1

FreeCAD Study Group, session 2

In addition to the previous courses, you will need to have an STL file of any type to work with for one of the topics.  The content of the STL file is not important, so if you don’t have a previously saved STL file, please grab a freely available one from

Below is an Overview of the topics planned to be covered on February 14, 2015:

Rotating on an axis (particularly for using tools like slic3r):

Close all work and open the previously saved STL file. Notice the object’s orientation. You can easily rotate the object by clicking on the object in combo view.  Then go to the tab at the bottom labelled Data expand Placement and Axis.  Choose which axis to rotate around and set it to 1, set the other axis to 0.  Now set the angle in degrees to how much you wish to rotate, such as 90. Note now that the part is rotated 90 degrees around the axis you set to 1.  This is particularly useful to reposition a part in such a way that it will print better.  Examples include overhanging edges, better support, etc.


  • Open the Part workbench
  • Go to the Part menu, Create Primitives
  • Choose Helix from the drop down and set the following:
    • Pitch: 90
    • Height: 90
    • Radius: 40
    • Leave Angle as 0
    • Coordinate system: Right-handed
  • Click create – you should see a wire of a single rotation of a helix appear
  • Change Coordinate-system to Left-handed and click create again to make an opposite direction helix
  • Drop down the menu where you chose Helix and this time choose Regular polygon, then set the following:
    • Polygon: 8
    • Circumradius: 40
  • Click Close.
  • Highlight the Regular polygon in your Combo View pane and click the icon to Sweep – it looks like a curved piece of ducting with a line through it.
  • In the sweep dialog, highlight Regular polygon and move it to the sweep column
  • This is the tricky part – you need to now select one of the Helixes and only one.  You can either go over to the model tab and highlight it in the Combo View or if you’re careful you can select it in the Sweep interface – in any case if you’ve selected correctly just the Helix you’re interested in will turn green.  If you went to Model tab, go back to Tasks tab.
  • There are two check boxes at the bottom, Create solid and Frenet – check both
    • Frenet is a reference to the Frenet–Serret formulas which describe the kinematic properties of a particle which moves along a continuous, differentiable curve in three-dimensional Euclidean space.  When sweeping or lofting a helix, you will get very unusual looking sweeps if you do not select this option
    • You must create a solid if you plan to 3d print.  When sweeping non-solid, stl files that are generated are generally unprintable or may have unpredictable prints since the “wall” has no real thickness associated with it.
  • Click Close.
  • Repeat the sweep function, this time picking the other Helix.  Again be sure you choose create solid and frenet when sweeping.
  • Click close.
  • At this point you should have something that looks like a solid version of this vase I have here.  In order to create this as a hollowed out object, I used Slic3r to slice it hollow rather than FreeCAD.  This is because FreeCAD makes cutting this difficult.  If you aren’t using the Afinia and want to see how I generated the GCode to print it like this, please let me know and I’ll show you.  The Afinia interface has similar options to allow you to print a hollow object.


  • Go to the Part workbench
  • From the Part menu, click Create Primitives
  • From the drop down, choose circle and set the following:
    • Radius: 7.5
    • Angle 1: 0 degrees
    • Angle 2: 360 degrees
  • Click Create
  • From the drop down – select Regular polygon and set the following:
    • Polygon: 4
    • Circumradius: 20
  • Click Create and then close
  • In the Model tab, select the circle and at the bottom switch over to the Data tab
  • Expand Placement and Position under it
  • Change Z to 15
  • Click the icon to Loft – this is an icon that looks like a square megaphone
  • In the Loft task, move both the Regular polygon and Circle into the Loft column.  Check Create Solid and click OK
  • You should now have a knob-like object.

Working with Arrays

We’ll continue into Arrays using the knob from the Loft section above.

  • Go to the Part Design workbench
  • Click on the circle face to select it and then go to Part Design menu and choose Create Sketch – it should bring you up without asking which plane.  If not, go back and try again.
  • Use the polyline tool to create a triangle.  Remember that if the first and last point don’t connect properly, you can use a coincident constraint to connect them.
  • Select the bottom line of the triangle and apply a horizontal constraint if you didn’t automatically get it horizontal.  (Constraint icon looks like a minus sign)
  • Select all 3 sides of the triangle and constrain them to be of equal length. (Constraint icon looks like an equals sign)
  • Pick one of the sides and constrain it’s length to 1.5 (Constraint icon looks like a diagonal line with arrows on each side)
  • Select in this order each of the bottom two points of the triangle and then the y axis and create a Symmetry constraint.  (Constraint icon looks like the greater than and less than symbols)
  • Select either of the two bottom points and the center point of the two axis and set a vertical distance constraint of 4.5.  (Constraint icon looks like an upper case I)
  • The sketch should now be fully constrained and go green.
  • Close the Sketch task and select the Sketch in your combo view.  Click on the Tasks tab and choose Pocket.
  • Leave the drop down as Dimension and set the length to 2.  Click OK
  • You should now have a single triangle cut out of the face, but what we really want is to have a tooth-cut pattern in an array around the entire circle.  To do that:
  • In the Combo View, click on the pocket you just created.  Select the icon to create a Polar Pattern – it will look a little like lego blocks stacked in a circle.
  • In the PolarPattern parameters, set the following:
    • Leave Axis at Normal sketch axis
    • Leave Angle at 360
    • Occurrences: 19
      • Note, if you choose too many occurrences you’ll get overlapping transformed objects and therefore an error.  19 is the maximum you can make with this size of triangle.
    • Click ok – you now have an array of “teeth” on the circular face of your nob, but it’s solid in the middle
  • To hollow out the center of the teeth and “round off” the teeth inside you can either sketch a circle or use a cylinder to cut out the rest.  I set the radius to 4.7

Working with STL files

  • Download
  • Open it in FreeCAD
  • Go to Part Workbench
  • Select “dog” from the Combo View so that it’s highlighted
  • From Part menu, select Create Shape from mesh
  • In the Sewing Tolerance prompt, leave it at .10
  • You can now delete the dog artifact from Combo View (looks like a folded piece of paper)
  • Select dog001 mesh from Combo View
  • From Part menu, select Convert to Solid
  • You can now delete dog001 (not the one that says (Solid) after it.

You now have a part that you can add to, subtract from, rotate or otherwise.  You cannot modify the underlying elements such as resizing the tail or anything since you are working with a “dumb” solid vs. a smart part made up of elements.

To fill the hole in the back of our little dog:

  • Create a cylinder primitive with the following data points:
    • Position x=15, y=9, z=-134
    • Radius 6
    • Height 3

You can now export this as an STL for printing


For printers like the Rostock and other similar RepRap style printers, the printer cannot take an STL directly most of the time.  We have to use something called a slicer to “slice” the stl into it’s individually printed levels.  For this, I use Slic3r which is Free and Open Source.  You can get Slic3r for all platforms at  This class couldn’t possibly go into the myriad of configurations that are available in the tool, but I will give you a general overview of what’s here on my screen, point out some of the more critical settings and I’ll slice our dog.stl for printing on the rostock printer over in the corner.  Then I’ll show you how I prep the printer, and we’ll actually print the dog!

Did you like this? Share it: