Revision and Branching

Introduction

The 3DEXPERIENCE platform enables you to create objects in the following ways:

  1. ‘New’ from scratch
  2. ‘Duplicate’ from an existing object

The lifecycle of these newly created objects is managed through revisions and branches:

What

Purpose

Revision

To describe the object evolution in a specific “branch”.

This evolution is described through the lifecycle of the revision.

Example:

New revisions are created from a production revision B:

Revision B (of Product 1) à for Production

Revision C (of Product 1) à for production

Revision D (of Product 1) à for production

Branch

To capture a certain intent, such as study of different alternatives, or a fix of an issue (of a specific revision).

Example:

A new branch is created from a production revision B:

Branch_B_001 (new object) à for Study

Branch_B_002 (new object) à for Study

Branch_B_002 (new object) à for fix

...

  In this blog, we shall focus on the branching topic.

As mentioned earlier, branches are useful in the case you need to manage a study of an alternative design. For example, where you want to keep a traceability between the objects. A new branch can be used to represent a change in the FFF (Form / Fit / Function) of the object, but not necessarily.

At the end of the process, you decide on which branch you want to capture its content and generate a new revision that contains this content (this is what we call “content merge”.)


Revision and Branching – Example

Let’s look at this example to better understand the process of branching:

A problem has been raised on a production housing-gear part. The design project manager is asking different designers to provide new studies and to select one that is best for production.

Two revisions of this part exist: A, B (both are in the ‘production’ phase).


As decided by the project manager, the designers need to work on a study based on revision B:

Three different designers will do a study in parallel, without affecting each other. At the end of the study process, the best revision that fits the requirements will be selected to be merged in a new production revision C.

The project manager prepares the work for the designers by creating three branches from revision B:

Br_701_housing-gears

Br_501_housing-gears

Br_201_housing-gears

(All these branches are linked to the revision B of the 01_housing-gears).


The branch Br_501_housing-gears has been studied and selected as the best one to achieve the target.

In order to apply the content of this branch to a new revision (C) of the Production branch (revision B), we can “merge” this branch into a new revision. This is done in a single command “New Revision From”:



When you select the option “New Revision From”, the following dialog box is displayed showing the current “Source Structure”:


Upon selection of the Br_501_housing-gears branch, the dialog box is expanded with more information (“Reference Structure” and “Result Preview”):


  • Reference Structure:

The original revision that is being revised (01_housing-gears Revision B)

  • Source Structure:

The revision (branch) that its content (Br_501_housing-gears Revision A) will be merged into the newly created revision (C).

  • Result Preview:

The newly created revision C (which is a revise of 01_housing-gears revision B)

The revision Explorer will show all these relations:


  • 01_housing-gears Revision C:
    • is created from Revision B (blue line).
    • ​​​​​​Its content is copied from the branch Br_501_housing-gears (Revision A).

Note:

You can also use the “Revisions” option to view all these relations between the revisions and their branches:



Summary

Branching enables you to study alternatives, while components in production are not impacted by these studies.

The content of a chosen branch can be merged into a new revision that will contain the same content.

Here is a summary of the example above: