Multibody Parts and Assembly Programming

When modelling objects that need to be assembled, SOLIDWORKS allows for 2 distinct approached.

Approach 1:  Model each component as a separate PART MODEL and then use an ASSEMBLY MODEL to place the parts relative to each other.  Each PART has only one body, meaning that there is only one ‘solid’.

Approach 2: Model all components is a single PART MODEL.  Multiple extrusions create multiple ‘solids’.

Pros and Cons

Approach 1:


  • Each PART can have unique custom properties such as Material, edge banding info etc. This information can be used by ONGAA CAM for processing and nesting.
  • A single parts can be used many times in an assembly and only needs to be programmed once.
  • Parts can be ‘parametrically’ driven from simple ‘variables’ files.  All parts would read the same variable making change the size of a cabinet for example very easy.
  • ONGAA CAM can generate MPRs or NEST from assemblies, ensuring that all parts are generated.


  • Assemblies need to be created ‘in addition’ to the parts and are require the use of ‘MATES’ (alignment rules) to keep PARTS in their place.

Approach 2


  • Multibody modelling allows for parametric modelling by referencing other body dimensions (no variable file)
  • ONGAA CAM can generate MPRs for all bodies or nest ensuring that all bodies are generated.


  • Any custom properties apply to all parts.  This include material, output MPR name, edge banding and label information.
  • Each body must be programmed separately even if it is identical to other parts.

Although ONGAA CAM was designed to take advantage of ‘Assemblies’ with single body parts, multibody programming is also available.

By default, ONGAA CAM is in assembly programming mode.  Each PART must be opened to activate the ONGAA CAM programming options.  No programming options are available when an assembly is open.

Multibody Parts in an Assembly

It is possible to use multibody parts in assemblies.  In some cases, only one body needs to be programmed while totally ignoring the other body or bodies while determining material size and origin locations.  The rest of this article will cover this in between case.

ONGAA CAM can now isolate single bodies for programming and with the use of SOLIDWORKS configurations each body can be programmed as a separate part for machining.

This feature uses the SOLIDWORKS entities selected to determine if a body is to be included in the dimensions of the raw material or not.  With the ‘Ignore Bodies without Selections’ activated only bodies where Faces, Edges or Vertexes are selected (in any machining process) will be used for geometric calculations.

When multiple bodies need to be programmed and ‘Assembly modelling’ is in use.  ONGAA CAM can use configurations to make separate programs. Creating a configuration (in name only) will allow additional programs to be created which are completely separate from any other configuration’s programs. This allows each body to be oriented (for machining) independently of all other bodies.

ONGAA CAM will incorporate the configuration name into the program name which makes identifying programs easier at the machine.

For existing programs which have been created to make several parts or require the non-programmed part (waste) to be included, leave the option unchecked and ONGAA CAM will use all bodies found to established the dimensions of the raw material required for machining.

Where parts are to be nested, the multibody parts will need to be added as often as the body count.  This is due to SOLIDWORKS only allowing one configuration to be active at a time.

This feature is available in all versions of ONGAA CAM.

Verified by MonsterInsights