Imagine if you had to manufacture your first product design idea. No exploring, no experimentation, nothing.

One powerful yet under-used technique that is on the verge of revolutionizing daily CAD design workflows is Branching and Merging.

What’s Branching and Merging? 

It’s a feature of CAD software that allows designers to create new workspaces from their existing models, enabling them to make contributions and explore design variations without affecting the original version. This workflow has been popularized by software development platforms such as GitHub, GitLab, and Bitbucket.

Branching and merging is such a new concept for CAD designers that its impact is being studied by academics. 

Professor Alison Olechowski leads the Ready Lab, a research team at the University of Toronto, which focuses on uncovering the methods for enhancing the efficiency and effectiveness of collaboration among engineering design teams while utilizing modern design tools. 

Dr. Olechowski co-supervises student Kathy Cheng with Professor Shurui Zhou, and together they wrote a paper, “User Perspectives on Branching in Computer-Aided Design,” to appear in the Proceedings of the Association for Computing Machinery (ACM) Transactions on Human-Computer Interaction (HCI) journal. In the paper, they determined the real-world workflows and requirements for branching and merging by analyzing commercial CAD forums (SOLIDWORKS, Autodesk, Onshape) and public forums (CAD Forum, Eng-Tips). 

The research uncovered an array of 11 use cases, which were curated into three categories:

  • Product Management

  • Designer Support

  • Risk Isolation

Get ready to explore the 11 reasons why professional CAD designers find branching and merging useful – and why you should consider using it, too.

Branching and Merging for Product Management

Accounting for a majority of discussions on online CAD forums, Product Management, the organizational function that guides every step of a product's lifecycle, is a hot topic that consists of four use cases:

  • Product Version Maintenance

  • New Product Version

  • Configuration

  • Modularization

Product Version Maintenance

The most common use case for branching and merging, mentioned in 28.4% of forum threads, is basic version control for hardware designs, creating branches to develop new features, and going back and forth on one’s design history or timeline. Branching and merging isn't saving a file – version 1, version 2 – it’s a feature of CAD software to isolate and track changes from a main design. This technique allows you to keep your main design separate from other related ideas, and your main design is always available to others and consistent with production. 

New Product Version (Variant)

20.3% of CAD forum posts discussed branching off of existing designs – saving time and capitalizing on the quality of an existing manufactured product – to create a new version of a product for release. In this use case, there is no need to merge back the design modifications because the intended goal is to create a new product.

Configuration

Most CAD systems provide a way to create configurations, or design variants, typically through variables or tables that modify design parameters. 12.5% of designers in the research find branching and merging a better and more flexible option for developing configurations. This choice arises especially when exploring design options where many parameters and features need to be modified or where the variants are more dissimilar than they are similar.

Modularization

Branching is not just for ideation. 6.7% of designers mention branching for modular design or to organize complex designs into smaller, interchangeable parts. They create a branch to complete a modular piece of the design and often use this approach to allow individuals of separate domain knowledge, like mechanical and electrical engineering, to work concurrently on separate branches. This might be similar to software "componentization", which involves breaking software down into reusable and identifiable pieces that users can independently build and deploy.

A Tech Tip on deleting and restoring branches in Onshape.

Branching and Merging for Designer Support

Designer Support is all about meeting the company's organizational needs. The primary use is to facilitate the work and communication between designers and other non-technical stakeholders with non-design work tasks.

In Dr. Olechowski’s exploration of online forums, her research group uncovered four ways branching is used for Designer Support: 

  • Work Division

  • Demonstration

  • Documentation

  • Collaborative Troubleshooting

These techniques help users divide tasks, showcase their designs, create helpful documentation, and work together to solve problems. It's like having your own personal assistant!

Work Division

Work division offers the convenience of concurrent design, where teams split and assign work using branches, ensuring efficient workflow coordination. Designers can seamlessly collaborate on the same design, leveraging individual workspaces to eliminate distractions or conflicts. With Work Division branching mentioned in 16.1% of forum threads, many CAD designers are harnessing the collective expertise of distributed teams.

Demonstration

Designers can leverage branching to share and present designs to stakeholders, demonstrating progress on a design and ensuring effective communication. This allows the ability for designers to give demonstrations to vendors, clients, collaborators, and manufacturers, precisely controlling what is showcased while preserving the team's momentum of working on the main design. Mentioned in 15.7% of forum posts, this approach surpasses traditional methods, providing a traceable history so you know what version you demonstrated to stakeholders.

Documentation

Utilize branches to attach and store diverse design-related files for documentation purposes. From price quotes to test results, improve traceability and organization with this branching approach that ties relevant documentation to your CAD design at a given point in time. Present in only 2.4% of forum threads, this workflow is leveraged by designers to house files such as engineering documents, pictures, test results, user manuals, invoices, etc. This technique allows for a creative, simple, and effective way to enhance the way they manage documentation. 

Collaborative Troubleshooting

Leverage the power of shared links to cloud-based models, facilitating effective communication and contextual understanding of design problems. Branch, share, and ask for help from a colleague in a sandbox. While only being mentioned in 4.4% of forum posts, this method has the benefit of keeping troubleshooting from interfering with the design progress. Designers can use this approach by creating a branch with the intention of helping to improve or troubleshoot another person’s design. 

A Tech Tip on navigating multiple workspaces, or branches, within Onshape.

Branching and Merging for Risk Isolation

Think of Risk Isolation as using branching and merging to create a protective shield around your project’s main design keeping it secure from any unauthorized or unverified changes.

In the Risk Isolation grouping, the research group uncovered three techniques: 

  • Error Repair

  • Simulation & Testing

  • Experimentation

These workflows help us identify and fix mistakes, test and simulate our designs, and explore new ideas.

Error Repair

Discussed in only 1% of forum posts is utilizing branching to allow for the main design work to continue while bugs or errors are being isolated and fixed. Done at the project or assembly level, the whole design is branched to fix an error. This allows designers to identify, correct, and test an issue with a CAD design in a smart and faster way to fix any errors. 

Simulation & Testing

With branches, engineers can efficiently organize design variations to run different simulations or physical tests. This streamlines your CAE and testing process by enabling faster comparisons across design versions within your CAD environment. This use case present in 1.9% of threads enables you to run simulations simultaneously and be able to easily switch between branches to view and compare the results of each simulation. Once simulation or test results are available, changes are faster to implement as you just need to merge the desired branch to create a final design.

Experimentation

Designers can explore and refine their ideas without altering the main design, creating a playground for freedom and comparison. As a CAD use case mentioned in 12.4% of forum posts, branching for experimentation unlocks the ability to explore alternative designs, try new features, or compare and select new features to incorporate into the main design. Experimentation can be done easily with dispersed teams, with individuals or teams working on different branches.

Onshape will outline the effects of merging one branch with another.

About This Research

Dr. Alison Olechowski is an assistant professor in the Department of Mechanical & Industrial Engineering and the Troost Institute for Leadership Education in Engineering (ILead) at the University of Toronto. Her research lab studies the processes and tools used by engineering teams in various industries to design innovative products. To learn more, visit the Ready Lab on YouTube or read her other scholarly articles.

By embracing new and more agile workflows inspired by software development, CAD professionals can enhance their speed, foster collaboration, and unlock new levels of productivity throughout the design process. 

Branching and Merging

Incorporate new ideas faster, exploring
more CAD designs more collaboratively.