Maker.io main logo

Intro to FreeCAD Part 9: Assembly Tutorial

2025-02-20 | By ShawnHymel

3D Printing 3D Printer

In the realm of computer-aided design (CAD), creating assemblies is a crucial skill for developing complex mechanical systems with multiple moving parts. FreeCAD, an open-source CAD software, has historically lacked a robust native assembly workbench, often relying on third-party add-ons to fill the gap. However, with the release of version 0.22 and the upcoming 1.0, FreeCAD introduces a new Assembly Workbench developed with contributions from Ondsel—a company aiming to enhance FreeCAD for enterprise users while giving back to the community.

In this tutorial, we'll explore how to use FreeCAD's new Assembly Workbench to create a simple scissor lift mechanism. We'll walk through the process of designing individual parts, assembling them, and setting up joints to simulate movement. This hands-on approach will help you grasp the fundamentals of assemblies in FreeCAD, paving the way for more complex projects.

You can find the FreeCAD files used in this tutorial in this GitHub repository: https://github.com/ShawnHymel/introduction-to-freecad

1. Getting Started with the Assembly Workbench

Before diving into the design, ensure you have FreeCAD version 0.22 or later installed. The new Assembly Workbench is included in these versions, eliminating the need for third-party add-ons.

2. Designing the Individual Parts

We'll begin by creating the individual components of our scissor lift:

  • Base Arm
  • Two Moving Arms
  • Three Pins

Creating the Base Arm

  • Switch to the Part Design Workbench.
  • Create a New Document and Create a New Body.
  • Create a New Sketch on the XY plane.
  • Draw the Base Arm:
    • Use the Slot Tool to draw an oval slot centered on the origin.
    • Make the slot symmetrical around the origin using the Symmetry Constraint.
    • Set Dimensions:
      • Length between arc centers: 100 mm.
      • Width of the slot: 7.5 mm.
    • Add a Hole for the Peg:
      • Place a circle at one end of the slot.
      • Diameter: 3.5 mm.
      • Distance from the slot end: 8 mm.

Intro to FreeCAD Part 9: Assembly Tutorial

  • Close the Sketch and Pad it to a thickness of 3 mm.
  • Rename the Body to "base".

Creating the Moving Arms

We'll create one arm and clone it for the second:

  • Create a New Body and Rename it to "arm_1".
  • Create a New Sketch on the XY plane.
  • Reference the base Arm:
    • Use a SubShapeBinder to import the base arm's dimensions.
  • Draw the Arm:
    • Replicate the slot shape without attaching constraints to the SubShapeBinder.
      • If you attach the sketch to the external geometry from the SubShapeBinder, your sketch will break when we move parts around later!
    • Set Dimensions identical to the base arm.
    • Add Holes:
      • One at the end (same as the base arm's peg hole).
      • One at the center (for the central pin).

Intro to FreeCAD Part 9: Assembly Tutorial

  • Close the Sketch and Pad it to 3 mm thickness.
  • Transform the Arm:
    • Move it aside using the Transform Tool to separate it from the base visually.

Intro to FreeCAD Part 9: Assembly Tutorial

Clone arm_1:

  • Select arm_1 and click on the Clone Tool (the orange sheep icon).
  • Rename the clone to "arm_2".
  • Transform arm_2 to position it separately.

Intro to FreeCAD Part 9: Assembly Tutorial

Designing the Pins

We'll design a simple pin and clone it for the other two:

  • Create a New Body and Rename it to "pin_1".
  • Create a New Sketch on the XY plane.
  • Draw the Pin:
    • Draw a circle centered at the origin.
    • Diameter: 3 mm (to fit the peg holes).

Intro to FreeCAD Part 9: Assembly Tutorial

  • Close the Sketch and Pad it to a length of 9 mm.
  • Transform Pin1 to position it near the base.

Clone Pin1 Twice:

  • Select Pin1 and create two clones.
  • Rename them to "Pin2" and "Pin3".
  • Transform them to position them near the arms.

Intro to FreeCAD Part 9: Assembly Tutorial

3. Assembling the Scissor Lift

With all parts designed, we'll proceed to assemble them using the Assembly Workbench.

Setting Up the Assembly

  • Switch to the Assembly Workbench.
  • Create a New Assembly:
    • Click on the Assembly Container icon.
    • An Assembly object appears in the tree view.
  • Move Parts into the Assembly:
    • Drag and drop each part (base, arm_1, arm_2, pin_1, pin_2, pin_3) into the Assembly container.
    • Ensure all parts are nested under the Assembly.

Grounding the Base

To have a reference point, we'll ground the base:

  • Double-click on the Assembly to activate it (it will highlight in yellow in the Tree View).
  • Transform the base to rotate it along the desired plane (e.g., I rotate it so that the scissor lift goes up in the Z axis.)
  • Select the Base in the tree view.
  • Click on the Toggle Grounded icon to fix the base in space.

Intro to FreeCAD Part 9: Assembly Tutorial

Adding Joints and Constraints

We'll use various joints to connect parts:

Connecting pin_1 to the Base

  • Select the Revolute Joint tool.
  • Define Attachment Points:
    • First Object: Select the outer cylindrical face of pin_1 (ensure the local axis is at the top or middle).
    • Second Object: Select the inner cylindrical face of the base's peg hole.
  • Adjust Alignment if necessary, using the Reverse Option.
  • Click OK to finalize the joint.

Intro to FreeCAD Part 9: Assembly Tutorial

Attaching arm_1 to the base

  • Select the Cylindrical Joint tool.
  • First Object: Select the inner cylindrical face of arm_1’s hole.
  • Second Object: Select the outer cylindrical face of pin_1.
  • Click OK.

Intro to FreeCAD Part 9: Assembly Tutorial

  • Select the Distance Joint tool.
  • First Object: Click the inside face of the base arm.
  • Second Object: Click the inside face of arm_1.
  • Set the distance to 0 mm so that the faces touch.
  • Click OK.

Intro to FreeCAD Part 9: Assembly Tutorial

Connecting arm_1 to pin_2

  • Select the Revolute Joint tool.
  • First Object: Select the outer cylindrical face of arm_1’s opposite hole.
  • Second Object: Select the inner cylindrical face of pin_2.
  • Click OK.

Intro to FreeCAD Part 9: Assembly Tutorial

Attaching arm_2 to pin_2

  • Select the Revolute Joint tool.
  • First Object: Select the inner cylindrical face of arm_2’s hole.
  • Second Object: Select the outer cylindrical face of pin_2.
  • Click OK.

Intro to FreeCAD Part 9: Assembly Tutorial

Connecting arm_2 to the base Arm

  • Select the Revolute Joint tool.
  • First Object: Select the inner cylindrical face of arm_2’s hole.
  • Second Object: Select the outer cylindrical face of pin_3.
  • Click OK.

Intro to FreeCAD Part 9: Assembly Tutorial

  • Select the Distance tool.
  • First Object: Click the outside cylinder face of pin_3.
  • Second Object: Click the inside slot face of the base arm.
  • Set the Distance to 0.25 mm.
  • Click OK.

Intro to FreeCAD Part 9: Assembly Tutorial

4. Testing and Simulating Movement

With all joints in place, you can now test the movement:

  • Activate the Assembly (double-click on it if not activated already).
  • Select and Move Arm1 or Arm2:
    • Drag them to simulate the scissor lift's action.
    • Observe how the arms rotate around the pins.

Intro to FreeCAD Part 9: Assembly Tutorial

  • Adjust Constraints if movement isn't as expected:
    • Use Distance Constraints to limit movement.
    • For example, prevent pins from sliding out by setting distance limits between faces.

Challenge: Enhance the Assembly

Objective: Modify the assembly so that the pins stop at appropriate positions, mimicking physical constraints.

Hints:

  • Use Slider Joints:
    • Although FreeCAD lacks collision detection, you can simulate limits by setting minimum and maximum positions.
  • Create Temporary Bodies:
    • If necessary, design helper objects to define limits.
    • Make them transparent or hide them in the final model.
  • Test the Movement:
    • Ensure that arms and pins move realistically within defined constraints.
  • Optional: Replace pins with real-world fasteners (e.g., M3 bolts) for a more accurate model.

Conclusion

In this tutorial, we've explored FreeCAD's new Assembly workbench, demonstrating how to:

  • Design individual parts for an assembly.
  • Use joints and constraints to simulate mechanical movement.
  • Ground components and organize parts within an assembly.

While FreeCAD's assembly capabilities are still evolving, the current tools provide a solid foundation for creating and testing complex designs. By mastering these techniques, you can enhance your CAD projects, ensuring parts work together seamlessly before manufacturing or 3D printing.

Share Your Work: If you completed the challenge or customized the scissor lift, share your designs on social media with the hashtag #DKFreeCAD and tag @DigiKey.

Explore Further: In the next tutorial, we'll delve into finite element analysis (FEA) to simulate stress, heat, and vibration in your designs.

制造商零件编号 KT-PR0058-BS1MLRP
TAZ SIDEKICK LE RED EDITION
LulzBot
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.