Tolerance Editing in aP Design

aPriori is a B2B platform used by engineers to gather cost, manufacturability, and carbon insights for increased product profitability and sustainability. One product offering, aP Design, allows design engineers to upload their part models and evaluate design variants, material processes, and sourcing options.


One major cost driver in part manufacturing is geometric tolerances. These determine how much variation can exist in part dimensions, ensuring that parts function properly and fit together.

Role:

UX, Visual Design, Prototyping, Research

UX, Visual Design, Prototyping, Research

Duration:

Nov 2022 - Feb 2023

Nov 2022 - Feb 2023

Context:

Full time employment at aPriori Technologies

Full time employment at aPriori Technologies

How it began…

As the sole UX Designer on the aP Design team, I was approached by our Product Manager with a pain point that our customers expressed.

aP Design was missing a crucial feature in calculating an accurate cost. There was no option to manually edit geometric tolerances. Although users could import tolerances from their original 3D modeling program or adopt recommended tolerances from their chosen manufacturing process, these options could not accommodate our customers' ever-changing, unique part designs.

This limitation frustrated users as it led to a cost model that did not match their intent and returned inaccurate cost estimates.

At this point, we knew we needed to deliver some sort of tolerance editing feature in aP Design. However, it was up to me to further research this issue, truly understand our users' workflow, and create the best experience.

Understanding pain points through interviews

To kick off my research, I interviewed 5 participants about their experiences with assigning tolerances in other applications. I was able to gain a better idea of the how knowledgable the average design engineer is with tolerances, what pitfalls may exist in other applications, and what unique requirements engineers may have in their workflows.

Lack of knowledge

Lack of knowledge

2/5 participants expressed that they are familiar with tolerances, but would appreciate more support from the application.

2/5 participants expressed that they are familiar with tolerances, but would appreciate more support from the application.

Confusion over conventions

5/5 participants felt that inputting tolerances as a single numerical value is confusing, as there are multiple conventions that could be used.

5/5 participants felt that inputting tolerances as a single numerical value is confusing, as there are multiple conventions that could be used.

High cognitive load

High cognitive load

3/5 participants shared that other applications are overwhelming with the amount of options and information presented when inputting tolerances.

3/5 participants shared that other applications are overwhelming with the amount of options and information presented when inputting tolerances.

Bulk tolerance inputs

Bulk tolerance inputs

All participants felt that it is important to include the ability to edit tolerances in bulk.

All participants felt that it is important to include the ability to edit tolerances in bulk.

Defining a problem and solution

My next step was to synthesize my learnings into a problem statement that captured the viewpoints of research participants.

The problem

Design Engineers of all experience levels need a simple way to override any number of tolerances in aP Design.

The solution

An immersive VR family tree experience where users can catalogue important memories of themselves and family members to relive time and time again.

Upon finalizing our problem statement, I could construct a solution that encompassed all of our users' needs.

The solution

A tolerance editing workflow with a simple and educational user interface that allows users to edit single or multiple tolerances simultaneously.

Ideating through wireframes

I began to consider the main options for the placement of tolerance editing inside of aP Design according to some of the constraints of the solution. This design needed to:


  1. Present to users the 16 tolerance types

  2. Educate users on each tolerance type

  3. Allow users to override tolerances for each geometric feature in their part


This was a large amount of information with complex interaction, and would not cleanly fit into the tables displaying tolerances that already existed. Under these circumstances, I opted to explore the use of a modal summoned either from the tolerances table or directly from the 3D model. I made the following wireframe sketches to better visualize what this modal could look like:

There first modal design consisted of a title, body text to provide some education about tolerances, and a text field input for each tolerance type. The plan was to expedite development by using two components from our Design Library:

Dialog

Text Field Input

The second option used the same Dialog component, but would use a table instead of single text inputs. Although a table view would allow users to scan the list of tolerance types efficiently, a component like this did not yet exist in our library. The benefit of this design would need to be strong enough to outweigh the additional cost required to deliver this idea.

The third wireframe explored a tab design to switch between different categories of tolerances. This design could improve a user's experience by decreasing their cognitive load on each tab. However, users may have more difficulty finding the specific tolerance they are looking for if they need to search through three separate pages.


This concept used another component from our Design Library, so the developer lift would be minimal if this option was selected.

Toggle

Moments manager

Educating users on tolerances

As I discovered in my research, many engineers understand the importance of tolerances in manufacturing and have a basic understanding of how they are used, but most not be experts. Since aP Design relies on having accurate inputs to provide accurate cost estimates, it's necessary for the application to assist users to prevent them from inputting the wrong tolerance type or inputting a value in the wrong format.

Moments manager