Assembly2 Workbench

    From FreeCAD Documentation
    The Assembly2 workbench is obsolete. Its author no longer maintains it, so it may not work with FreeCAD versions 0.17 and above. The information in this page is not maintained; it is just kept for historical purposes.
    For an alternative, see A2plus. This workbench is a fork of Assembly2, but it is not compatible with it. If you have older models that you need to open, you should stay with FreeCAD 0.16 and Assembly2. Newer models should be created entirely and opened with A2plus.
    For other options see Assembly3 or Assembly4. These workbenches are also inspired by Assembly2, but are not compatible with it either.


    Assembly2 is an assembly workbench for FreeCAD v0.15 with support for importing parts from external files.

    As stated by its author on the forum, it is no longer maintained since 2016, therefore it may have issues with FreeCAD 0.17 and above. The newer and actively maintained A2plus Workbench is a good alternative.

    Assembly2 example.jpg


    Intended work-flow:

    • each part in the assembly is designed in its own FreeCAD file
    • a separate assembly FreeCAD file is created
    • parts are imported to this assembly file using the Assembly 2 workbench
    • spacial constraints are then added to assemble the imported parts


    • circular edge constraint
    • axial constraint
    • plane constraint
    • part importing
    • updating of parts already imported


    • Poor constraint solver which may fail or take excessively long for complicated assemblies
    • undo and other similar features not supported





    Drop down menu


    • Assembly2 ImportPart.png Import a part from another FreeCAD document
    • Assembly2 UpdatePart.png Update parts imported into the assembly
    • Assembly2 Move.png Move
    • Assembly2 CircularEdgeConstraint.png Add circular edge constraint
    • Assembly2 PlaneConstraint.png Add plane constraint
    • Assembly2 AxialConstraint.png Add axial constraint
    • Assembly2 AngularConstraint.png Create an angular constraint between two planes
    • Assembly2 SphericalSurfaceConstraint.png Add Spherical surface constraint
    • Assembly2 DOFAnimation.png Animate degrees of freedom
    • Assembly2 Assembly2Constraint.png Solve Assembly2 constraint
    • Assembly2 Mux.png Combine assembly into a single object (use to create a drawing of the assembly, and so on...)
    • Assembly2 ListParts.png Create a parts list from the objects imported using the assembly2 workbench
    • Assembly2 Ceck.png Ceck assembly for part overlap/interferance


    • Assembly2 BoltMultipleCircularEdges.png Bolt multiple circular edges
    • Assembly2 FlipConstraint.png Flip constraint
    • Assembly2 LockRotation.png Lock rotation
    • Assembly2 Preferences.png Preferences
    • Assembly2 Assembly2.png Assembly2 WB icon


    Automatic installation

    This workbench can be installed from the Addon Manager.

    From GitHub

    To use this workbench clone this git repository under your FreeCAD Mod directory, and install the pyside and numpy Python libraries. On a Linux Debian based system such as Ubuntu, installation can be done through BASH as follows

    sudo apt-get install git python-numpy python-pyside
    mkdir ~/.FreeCAD/Mod
    cd ~/.FreeCAD/Mod
    git clone

    In FreeCAD you will now have a new workbench-entry called "Assembly 2". Once installed, use git to upgrade to the latest version through BASH as follows

    cd ~/.FreeCAD/Mod/FreeCAD_assembly2
    git pull
    rm *.pyc

    Alternatilvely, on an Ubuntu system the freecad-community PPA can be used:

    Add ppa:freecad-community/ppa to your software sources
    sudo apt-get update
    sudo apt-get install freecad-extras-assembly2

    In Windows

    • download the git repository as ZIP
    • assuming FreeCAD is installed in "C:\PortableApps\FreeCAD 0_15", go to "C:\PortableApps\FreeCAD 0_15\Mod" within Windows Explorer
    • create new directory named "assembly2"
    • unzip downloaded repository in "C:\PortableApps\FreeCAD 0_15\Mod\assembly2"

    FreeCAD will now have a new workbench-entry called "Assembly 2".

    Pyside and Numpy are integrated in the FreeCAD 0.15 dev-Snapshots, so these Python packages do not need to be installed individually

    To update to the latest version, delete the assembly2 folder and redownload the git repository.


    Other useful links