How to access PMI (GD&T) with HOOPS Exchange

Introduction

One of the important classes of information that HOOPS Exchange allows you to access from a CAD file is the Product Manufacturing Information (PMI) which is attached to the 3D model. PMI details the tolerances that a model should be manufactured to. In the past, this information was referred to as Geometric Dimensioning and Tolerancing (GD&T), and it was typically maintained in separate drawings that were associated with the model.

The separation of the manufacturing information from the model meant that manufacturing information had to be generally read by a person who was a barrier to automation. Having the manufacturing tolerances associated with the model rather than a separate drawing meant a broad range of manufacturing processes could be more easily automated. These include the generation of cost estimates for manufacturing to the validation of parts being machined to required tolerances by CMM machines.

Views, Markup and PMI

In HOOPS Exchange, we refer to PMI as Markup. In most cases, Markups/PMIs are associated with Views. Views generally consist of a camera, visibility for different objects in the model (this typically a Part or PMI), and occasionally a cutting plane. You can read more details about Views & Markup in the Markup and Views section of the HOOPS Exchange documentation.

Semantic versus Visual PMI

When you implement PMI in your application, it’s important to know about the differences between visual and semantic PMI definitions. A visual PMI definition includes all the information you need to display the PMI data in your application so that it perfectly matches how it is displayed in the authoring system. To do this, the definition must include placement, font, and color information. A semantic PMI definition is all the information you need to manufacture the part. It’s often only with semantic PMI that you have the connection to the portion of the model the PMI tolerances apply. The semantic PMI is generally the more important, though since the PMI data is so important, users want the data to be displayed as it was in the authoring system so that their users have confidence that the data was imported without problem from the source system.

HOOPS Exchange supports both a Visual and Semantic form of the PMI data. To determine whether we support visual and/or semantic PMI for a particular format, you should review the PMI section of the format. You can find an example in HOOPS Exchange documentation for our Catia V5 Reader.

Formats we support PMI for

We support PMI in both our readers and writers. A copy of our support at the time of publishing this page can be found below. For the most up-to-date information you should refer to the Supported File Formats page in the HOOPS Exchange documentation.

The best way to learn how to access PMI via the HOOPS Exchange APIs

When you get to implement PMI support in your application, you should read the Markup and Views section of the HOOPS Exchange documentation. It shows how you would traverse the model tree and then access the PMI-related data structures in HOOPS Exchange.

Hi gabriel,
This demonstrates how to extract PMI information from the CAD file which is already present . Now if i want to inject similar data markups into the CAD file, how can we do that. I have seen some markup sample example for Cube in the hoops documentation which looks to display only some text.
Do you have any other sample example for adding the markup data to existing CAD file, at least i need to show the dimensions data(width, height) for each partDefination ?

Hey there @kishore.banothu,

The cube example is the only one we have currently. It would depend on what format you’re trying to inject PMI data into. Depending on the format there may be limitations. You can find the full list here of what those are under the “Exported formats” section: File Formats — HOOPS Exchange 2023 Documentation

I think for more in-depth help, support probably is your best bet. If you haven’t made a ticket already, I would suggest doing so. Please let me know if you need any assistance with that. :slight_smile: