FreeCAD 101

From Open Source Ecology
(Redirected from OSE FreeCAD Tutorial 1)
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.

The first 2 videos (lesson 1 and 2) below cover a rapid-fire crash course on FreeCAD, and constitute the most dense (most material in the shortest time) no filler videos on FreeCAD usage, so one can learn to use it rapidly.

Lesson 3 goes through a one hour exercise which enables the individual to begin designing parts for 3D printing - in just one hour of time. This is the standard exercise that we learn during OSE workshops and immersion skills-building events. Point is: you can learn basic proficiency to create 80% of all possible design in only one hour. This is a significant milestone for any CAD package, and it can be reached rapidly if you set your mind to it. We recommend using OSE Linux, which has FreeCAD and all OSE workbenches (such as 3D Printer Design Workbench and PVC Piping Workbench) already included.

Personal Invitation from Marcin

I was reluctand to dive into FreeCAD until 2016 - when FreeCAD became quite usable. But I dreaded going through countless crappy vidoes - which I had to do to learn FreeCAD. I noticed just how much dead space and unclarity existed in videos at the time. Or numerous videos lacking voice-over which are such a waste of one's time as one tries to figure out what the person is actually doing. I noticed how numerous videos attempt to spend many minutes or even hours trying to convey a simple concept that could be communicated in less than a minute if done well. So I decided to produce Lesson 1 & 2 - so that thousands of collective hours are not wasted in negotiating low quality videos. In Lesson 1 and 2, there is not a second of dead space, and I suggest that you pause the video, do the steps, and repeat until you can do any part shown seamlessly. The first 2 videos will get you going with just about any design project that you have. The videos are only 5 minutes each. Invest in learning them, and you will save yourself dozens of hours in getting to basic proficiency. My claim is that if you watch those videos about 10 times - and practice what is shown - you will learn all that you need. So that it will take you about 2 hours or less to design objects - if you take this task seriously and prepare your mind accordingly.

Next is Lesson 3 - which walks one through the basic OSE workflow for mass collaboration. If you can repeat that workflow - then you can produce any part imaginable. The workflow is super simple - but it can yield any geometry whatsoever. Note that this method shown deliberately limits the required skill set - which is intended to onboard new designers rapidly into a collaborative process - without requiring extensive training. Our claim is to onboard the new user in one hour to basic proficiency, at a skill level that can move the OSE project forward - by the ability to edit and design parts.

Lessons 1-3 are a solid foundation for mass collaborative development in CAD.

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.

Detail on rotating and moving using Draft workbench:

Lesson 3a: 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. This has indeed been proven. In 2019, at the Medialab Prado workshop in June - 5 out of 8 people were able to do a basic design test in 1 minute, and 7 out of 8 completed it in 2 minutes. The test consisted of drawing a shape in sketcher, extruding it to 3D. Then drawing another feature on a face of the first 3D object (pocket or pad)

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.

To summarize: the Basic FreeCAD Workflow test involves creating a 3D object, putting a feature on it, and then putting another 3D feature upon that feature: in 1 minute of time. This test verifies that a person can navigate within FreeCAD with sufficient effectiveness to begin meaningful development with OSE.

Lesson 3b: Basic OSE Workflow: Feature on a Feature

Concept: (1) Create a 3D object. (2) Put a 3D Feature on top of that object (pad or pocket. (3) Put another 3D feauture on the Feature from Step 2. This is your Feature-on-a-Feature exercise.

FreeCAD Badge

Can you do the Feature-on-a-Feature exercise in FreeCAD - in one minute? If so, you may quality for the OSE FreeCAD Badge - claim yours today and join our large-scale collaborative CAD design sessions.

Please Comment if you were able to do the basis design exercise after 1 hour of practice


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

Lesson 4: FreeCAD Path Workbench

See FreeCAD Path_Workbench

Lesson 5: 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

Method 1 No Addons needed

Tested in FreeCad 0.18

  1. Select Part Workbench
  2. Part->Create Primitives
  3. Select Helix
  4. Enter Length of spring, pitch, diameter, etc
  5. Generate Helix
  6. Sketch profile
  7. Sweep

Method 2

  • 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

  • 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 - Sweep

  • 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]

Tutorial 19 - Python Programming

Tutorial 20 - Machine Design Workbench Creation in FreeCAD

See OSE Workbench Platform

Tutorial 21 - Importing and Scaling Images for Accurate Reverse Engineering

In FreeCAD

Point: there are many 2D images available on the internet which already provide good guidance on design. In absence of existing 3D CAD models - such models can be generated from scratch from 2D images. It is thus important to be able to import an image - and then scale it so it is at a correct, real-life scale. This can be done by simply tracing over the image in Sketcher. Ability to do this seamlessly provides a valuable skill set in reverse engineering of useful devices. Image2 workbench allows you to import any image and to scale it to the correct size. To download Image2:

  1. Download from github repo as zip, [4]
  2. Uncompress
  3. On Linux, go to home/user/.FreeCAD/Mod
  4. Move folder indo FreeCAD mod directory - and restart FreeCAD
  5. Image workbench should appear.

Alternately, convert bitmap to SVG, and FreeCAD imports SVGs. [5]


Note that multiple scans brightness steps worked for an image of a pv panel.

In Blender

See Scaling Objects in Blender

Tutorial 22 - Genarating Complete BOMs in FreeCAD

If you have a document with each part in the part tree - say the floor module of the Seed Eco Home that you just designed - you can simply export all the parts in a CSV file - and then count the parts using an online phrase counter. There are three steps:

  1. Select all parts from a working document.
  2. Export these parts to a CSV file
  3. Count these using an online phrase counter - which simply sums the number of times that a part shows up.

Or, write a FreeCAD script that generates a parts list, counts the number of instances, and then outputs a full list with the number of each part.

The only requirement is clear labeling of parts in a part tree according to a convention - and then you have a full parts accounting. This is absolutely foolproof - as long as the CAD model contains all parts with labels. Proper labeling of parts is the critical part of useful CAD models.

This simple process can even provide automated generation of web links for ordering the parts - if a short code with part ordering URL is included in the part description.

See more details at FreeCAD BOM Generator

Tutorial 23 - Involute Gear and Herringbone Gears

Genearate a gear. This is useful for herringbone gears, which are simply double helical gears. This is doable right in Part workbench, where you extrude the part. Note that this design does not lend itself to roller chain, because the grooves need to be round as opposed to squarish.


Tutorial 24 - How to Scale an Object


  • Use FreeCAD 19
  • Check.pngGo to Arch Workbench, use the Scale tool as in [6]
    • However, to get to the scale factor menu, need to press 'Enter point' button and that gets you to the Scale menu.
    • Make sure you check the 'Create a clone' otherwise it does nothing


Note: did not work for me 1/23 - mj Cross.png

From [7] - To scale an object, you must use Draft workbench.

  1. First, make a clone using the clone tool.
  2. Then scale the object accordingly using the Scale property. That's it.

This works for STLs and others, you just need to make a clone first.

Please Comment if you were able to do the basis design exercise after 1 hour of practice

See Also