FreeCAD 101

From Open Source Ecology
Jump to: navigation, search

HintLightbulb.png Hint: Note that the FreeCAD 101 Test has been moved to Developer Test


FreeCAD is a free and opensource program for designing structures, parts, and machines. It is mostly used in architectural and mechanical engineering contexts. OSE uses FreeCAD both for its mechanical design work for the machines in the Global Village Construction Set, and for helping create educational documents for teaching people to build those designs.

As OSE grows, this page will be our junk-drawer & repository of all FreeCAD materials organized under the following scheme: General Resources (manuals, YouTube series, forums); and Task-Specific Tutorials for current projects we have (creating a cube, simplifying files, exploded parts diagrams, etc.). This wiki is a sort of live and grow user generated OSE FreeCAD manual. As the list of tasks grow, we can further organize this material.

  • General FreeCAD Resources
  • Task 1: Create Cube (For Developer Test)
  • Task 2: Extract dimensional Drawings
  • Task 3: Simplify Files (for Parts)
  • Task 4: Combine Parts into Final Assemblies
  • Task 5: Extract Isometric Views from Final Assemblies for Exploded Parts Diagrams
  • Task 6: Export DXF's (Cutting Files)

OSE FreeCAD Resources

Here are some general resources for familiarizing yourself with FreeCAD.

Note: the following tutorials are dense. Please pause the videos as needed in order to practice the demonstrated lesson.

Lesson 1: OSE FreeCAD Tutorial 1

Tutorial 1 Introduces the sketcher workbench in FreeCAD, so you can then create any 3D objects imaginable

Lesson 2: OSE FreeCAD Tutorial 2

Tutorial 2 Introduces part libraries. Importing parts from libraries and assembling them is a powerful way to do design work. This can get the casual user to powerful design capacity using real geometries.

Lesson 3: OSE Basic Workflow Tutorial

A lecture on the basic workflow in FreeCAD that allows you to produce any 3D design - while using a restricted set of functions so that the functionality is easy to learn - by avoiding many other functions possible in FreeCAD. The goal of such an approach is to involve a large number of people in basic design - under the assumption that large-scale collaborative design works better when many people are coordinated to perform simple tasks - as opposed to a small number of expert users doing more advanced tasks as a smaller group. The workflow involves the Sketcher, followed by extrusions and pockets - followed by more sketches on faces for creating complex geometries. This workflow in itself is sufficient for people to get involved in meaningful work with OSE - and the intent is for this workflow to be learnable in about an hour of practice.

At 14:04 we also discuss the use of Sketcher for motion analysis of articulated joints.

Along with FreeCAD, we recommend BlocksCAD as a graphical interface on top of OpenSCAD - where OpenSCAD is more for power users. Also shown is the concept of importing real CAD from manufacturer websites as a way to create accurate CAD models and as a way to generate part libraries that can be reused in different machines of the OSE product ecologies.

We made 2 more very compact introductory videos on FreeCAD - which are referenced in the video below. These are the OSE FreeCAD Tutorial 1 and OSE FreeCAD Tutorial 2 videos, each about 5 minutes long. These must be paused every few seconds or rewatched several times to understand all the content found in them. This is because there is zero dead space in these videos - and these videos are for those people who are fast learners and who do not want to watch a more lengthy instructional. Lengthy instructionals also must be rewatched - so we believe that zero-dead space videos are the most effective way to transfer knowledge effectively. Note that to have easy access to FreeCAD - use FreeCAD Legacy

Presented at the Open Source Microfactory 2018 Boot Camp.


  • Take a 2D shape that we reverse engineer to a 3D shape

Lesson 4: Advanced - OSE FreeCAD Programming Tutorial

Github links mentioned in the video:

Automatic Python Modules Documentation: http://localhost:7465/FreeCAD.html

Task 1: Create Corner Cube (For Developer Test)

For the Developer Test complete the following instructions. You will create a corner cube: use the sketcher, part, part design, bolt, and assembly workbenches; and import, rotate, and align parts; make features on faces; and install bolts. After this, you should be ready to begin to work on basic User Contributed Designs. (Note: You will later submit a screen-cast video of this process. If you are comfortable with FreeCAD and screen-capturing video, you may video your first attempt. Otherwise, use this as a practice round, and once you learn to make the corner cube, come back to document it.)

  1. Review OSE's Introductory FreeCAD Tutorials 1 & 2 above in the General resources. (Refer to other sources as needed.) Also, review the self-verifying exams videos & comments on the Developer Test page.
  2. Download 8-hole square tubing (without rounded corners) from the OSE Part Library.
  3. Use the tubing to create an x-y-z bolted corner cube.
  4. Record a video of you building the cube, from the beginning, using Vokoscreen. Please refer to Vokoscreen 101.
  5. When you are done building the cube, create a 1" bolt and nut using the Fastener Workbench in FreeCAD.
  6. Insert one bolt through any of the corners, as if you were actually building the cube - using the Assembly Workbench in FreeCAD.
  7. Tighten the bolt with the nut (just insert the nut onto the bolt).
  8. Now take any face on the tubing of the resulting cube - and using Sketcher on that particular face - write your initials on that face. Pocket those initials so that they are cut into the face.
  9. End video capture.

Example Test by Roberto Jaramillo - 3/30/2017

When you are finished with Part 2: Design a Cube in FreeCAD go back to the Developer Test and complete Part 3: Document Your Work.

Task 2: Extract Dimensional Drawings

See FreeCAD Fabrication Drawings

Task 3: Simplify Files (for Parts)

Goals: Redraw certain parts to reduce file size. Among other things OSE is currently working on the Lyman Filament Extruder for making filament for our 3D printers. We have rich files for each part that is ready to be purchased or printed. However, many of the files are too large to combined with other rich files into an assembly. OSE needs to combine all the parts into an assembly to 1) interact and modify a whole machine or module more easily; and 2) use for visual instructional materials. Please see File Simplification for reference.

Task 4: Create Final Assemblies

Now to see the forrest for the trees, we sometimes have to put all of our individual part files together and see how they fit, etc. Once all the parts (stl files) are together in an assembly, we can now use it for modifying the existing design, or for creating educational materials based on the design.

Marcin explains the Work Flow for creating final Assemblies.

Task 5: Extract Isometric Views for VBOM, Exploded Parts Diagrams, and LAIs be updated...

Task 6: Exporting DXF's

Task 7: Using Path Array to Make Tracks for Tractors

Task 8: Generate an Exploded Part Diagram

For a comprehensive part diagram that goes into the user manual, the workflow is not automated yet in FreeCAD. Workflow is:

  1. Explode parts across several axes using the Exploded Part Animation workbench
  2. Extract an isometric view of that explosion
  3. In Google Docs, paste the isometric view, and add the arrows and labels
  4. Add a table of all the parts, summing across quantities

Here, an Exploded Part Diagram Workbench should be developed for FreeCAD.

Task 9: Extract Isometric Views for Language Agnostic Instructionals

You can download the macro in the video description.

See procedure at Language Agnostic Instructional Protocol

Tutorial 10: Using Assembly2 to Update Parts

Tutorial 11: Annotations

  • In Spanish - [1]

Tutorial 12: Various Functions

  • Mirroring whole objects - [2]

Tutorial 13: OSE FreeCAD Assembly Workflows

Tutorial 14: FreeCAD Guidelines

  • Overall rule: apply logic realistically to the creation of objects, sub-parts, parts, and assembled modules.
  • Design parts with fabrication in mind
  • For parts with sub-parts such as those that are welded: Draw and assemble them as individual parts in the same file (for CNC cutting files and reference in fabrication documentation).
  • Upload versions of files frequently to prevent data loss and share progress (currently to GitHub). For editable files do not delete assembly data such as constraints without first uploading a version with them.
  • If the complexity of an editable assembly begins to effect ease of work try to apply logic break it into realistic simplified modules and re-assemble those.
  • Sketches are useful for ease of editing in many cases, but avoid mapping to faces & referencing external geometry or detach them after via Menu:Sketch->Reorient sketch... (FreeCAD Legacy v0.16)
  • Apply symmetry universally. It is good for ease of editing all components and reduces unique part counts. Especially in sketches symmetry about the origin or axis' is preferable to extensive construction geometry, fixed measurements, and locking points.
  • For open source easily editable files are part of accessibility and facilitate productivity through ease of version iteration.

Tutorial 15: Hydraulic Cylinder Generator

Primitive design. Any changes you would make to the basic design? I based it off this:

Tutorial 16: Generate a Spring

  • Install FreeCAD Springs macro
  • In the Configure section of interface - select your parameters of number of turns, radius, and pitch
  • Click Launch in the bottom right to generate spring. Fit All in Views to make sure you can see spring
  • You can modify any of the turns of the spring with Coil special length
  • Coil special length section - number of coil refers not to Number of Coils, but the specific coil you want to modify
  • Click Accept the value modified after selecting new parameters for any of the coil sections.
  • You can do a spring with coils 5 and 8 modified like this:


  • Do a sweep to make a solid spring - this macro appears to just generate the wire for the spring.
  • Spring can be customized to different profiles and other cylinder shapes. Very useful as a lesson for making of real springs.

Tutorial 17

  • Loft - in Part workbench, useful to make a solid from one shape to another
  • Draw one shape.
  • Draw another shape on same plane - but when you select the plane, offset the plane from the plane of the first sketch
  • Put both shapes in the right hand column of the shape selector. Create loft. Easy.

Tutorial 18

  • In FreeCAD - using sweep gets you 3d sweeps of a profile along a line or curve
  • Initial line segment does not need to be perpendicular to the profile that you draw.
  1. Step 1 - draw a profile; draw a sweep line or curve
  2. Step 2 - go to Part workbench and select sweep tool
  3. Step 3 - put your profile into the right hand side window. Keep your curve in the left window.
  4. Step 4 - click Sweep Path
  5. Step 5 - It will tell you to select the line in the 3D view. Select the line in the 3D view.
  6. Step 6 - Press Done above the instructions.
  7. Tah-Dah! Nothing happens, and you curse. The trick is - you must click OK for the action to actually take effect.
  8. Good video that points this important point out -[3]