Assembly
Introduction
In FreeCAD the word "Assembly" is normally used to refer to a 3D model that is composed of several distinguishable parts, that are put together in some way to create a functional object, just like real life products are made.
For example, a bolt, a washer and a nut are three separate bodies that when put together comprise an assembly.
Left: three individual contiguous solids, each of them modelled by a PartDesign Body. Right: the individual Bodies put together inside a Std Part to create an assembly.
Usage
Manual assembly
In general terms, you don't need special tools to create assemblies, you just need to have many different bodies arranged in some way.
To position the bodies where you want them, you can
- use the Std TransformManip tool,
- use the
Std Placement dialog, or
- modify the placement property directly in the property editor.
You may use one of the pseudo-assembly external workbenches, like Lattice2, Manipulator, Part-o-magic, or WorkFeature, to help you find intersections, measure distances, and distribute your objects in the desired way.
In general, the Std Part object was designed to serve as the basic building block to create assemblies. This object is used to group several bodies and move them together as a unit, that is, as a sub-assembly. Then this sub-assembly can be placed next to, or used inside of other sub-assemblies in order to create the final assembly.
Constrained assembly
You can also use a dedicated assembly workbench, like A2plus,
Assembly3, or
Assembly4. Please note that Assembly2 is unmaintained, so it is not recommended for new models.
The assembly workbenches use constraints and expressions to create relationships between the objects in your model, in order to mathematically tie the objects in place, for example, "this face should stick to this other face", "this cylinder should be concentric to that circle", "this point should follow this edge", etc.
This is an advanced usage of the software that is normally used in complex mechanical systems. If your model is not very complex, then using an assembly workbench may not be necessary.
Notes
As of FreeCAD 0.19, there is no official assembly workbench included by default with the system. Assembly workbenches are difficult to program because many problems need to be solved regarding the efficient use of bodies and parts in your model. Nevertheless, the introduction of the App Link object has improved the situation.
Please note that assembly workbenches are generally incompatible with each other. If you create an assembly with one of these workbenches, you should stick to it, and not use another assembly workbench to work with the same document.
The assembly workbenches continue development, and it is expected that at some point one assembly workbench will emerge as the "official" one. This could happen by promoting one of the current assembly workbenches, or by combining them to produce a more complete solution.
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability, Toggle measurement, Clear measurement
- Toolbars: File, Workbench, Macro, View, Structure
- Panels: Report view, Tree view, Property view, Selection view, Combo view, Python console, DAG view
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Project utility, Measure distance, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Stop macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Structure and Link: Std Part, Std Group, Make link, Make sub-link, Replace with link, Unlink, Import links, Import all links, Go to linked object, Go to deepest linked object, Select all links
- Core: App DocumentObject
- Basic: App FeaturePython, App GeoFeature, Part Feature, Mesh Feature, Fem FemMeshObject
- Internal shapes: Part TopoShape, Mesh MeshObject, Fem FemMesh
- Structure: App DocumentObjectGroup (Std Group), App Part (Std Part), App Link (Std LinkMake)
- Derived: Part Part2DObject, Sketcher SketchObject, PartDesign Body, PartDesign Feature

- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub