Leveraging SDKs for Metrology Software Development – a Conversation with Tech Soft 3D’s VP of Engineering, Antonio Carvalho
Antonio Carvalho has been involved with metrology software development for over 22 years, working with some of the industry’s leading applications. Now the VP of Engineering here at Tech Soft 3D he offers a unique perspective on how development teams in the metrology market can leverage SDKs to build competitive applications. Below we’ll cover how developers can benefit from utilizing existing technology, specific functionality within the HOOPS toolkits for metrology workflows, and how being a one-time Tech Soft 3D partner has impacted his current role and perspective at the company.
Q: How did you get started in the world of metrology software?
A: in 1997 I started as a developer working for a German company called CATS, that developed metrology software which was later acquired by FARO in 1998. Those early days allowed me to learn what metrology was really all about as we would spend a lot of time working closely with our customers, in this case the big automobile manufacturers. In 2008 I moved away from the Engineering side of the business and transitioned into Product Management but still connected to FARO’s CAM2 product line. In total, my metrology software life spanned a total of 22 years both from the Engineering and Product Management.
Q: During your time at FARO, you became familiar with the HOOPS toolkits having used them in your application. Can you talk about the role you see SDKs playing in measurement software development?
A: Let's start with the visualization technology where the big decision is build versus buy. Every metrology software out there needs a 3D viewer embedded in their application, and they will likely be developers who could build their own 3D viewer; in fact, that is the kind of project that those developers would love to work on because it's exciting! But there are a lot of challenges that come with building your own 3D viewer, like compatibility with different types of graphics cards, which makes metrology software companies, like FARO, to ask themselves how many people they would need to throw at this need to have acceptable quality and performance and whether that is a good investment on their end.
In the earlier days, the graphics needs of metrology software were quite basic: CAD files were either non-existent or very basic and the information drawn in the 3D viewer was rather elementary. Over time, the adoption of CAD became broader, the CAD files started getting larger and more complex. We also saw the transition from using discrete points, in the thousands that were used to calculate prismatic features, to the collection of large amounts of point cloud data (in the billions). These trends brought new 3D graphics challenges which made us realize that, okay, maintaining a competitive graphics engine has become much more challenging and this is not really our core business. It made much more sense to buy something off the shelf and leverage it instead. That’s what originally got us to HOOPS Visualize for 3D visualization.
The second need that you have in metrology applications is accessing CAD data. A common customer of metrology software, tier one, tier two,or tier three suppliers to automotive and aerospace industries, will get CAD files for the components they need to manufacture so it becomes vital that they be able to extract the data they need from those files in a reliable way. In earlier days, our customers were provided VDA, IGES or STEP files that are open formats for which it is quite easy to develop a reader. Over time, as the content of the CAD files became richer, the files provided were coming directly from CAD modeling software, like CATIA and Solidworks. We are now talking about binary files with proprietary formats which require significant expertise and development effort that is way beyond what is reasonable for a metrology software company. There were workarounds, like exporting the data from the CAD modelers to these open formats, but there was a significant loss in both quality and the information contained in the original file. It became mandatory for metrology software to be able to read these files directly.
We were using a competitor solution at FARO for the longest time. We had been evaluating HOOPS Exchange off and on for seven or eight years, and even though it looked like it was able to satisfy our needs and performance-wise looked good, it was never really the right time to pull the trigger, so we delayed the decision to adopt it. Eventually, it got to a point where the level of support that we were getting from our supplier was not great, and having seen the better performance of the HOOPS Exchange readers, we made the decision to switch over to HOOPS Exchange. Commercially, it also worked out nicely for FARO to leverage the HOOPS Native Platform providing functionality vital to metrology applications, HOOPS Visualize which is the viewer, Parasolid as the CAD kernel, and HOOPS Exchange for 3D CAD data access.
Q: In your opinion what are some key features of the HOOPS Toolkits that enable Metrology workflows?
A: The importance of accessing accurate PMI data through different native file formats is critical. When it comes to metrology, having access to that information is extremely helpful because when you have a CAD file, even a very basic one, there are innumerous details in it that you could potentially measure but not all of them are relevant from a metrology standpoint. The PMI information helps narrow down the scope of what is really relevant and that simplifies the life of the metrologist.
Another key feature is visualizing point clouds and the capability to project point clouds to CAD surfaces to show part quality by using coloring directly on the CAD. In the early days, Metrology was based on a simple principle of calculating a geometry, for example a circle, from a small number of points and then comparing that circle center, diameter, etc to what was defined in a CAD file or a print. This is how it was done for decades and is probably still so in many places. Now with these scanning devices that can capture millions of points per second, with amazing accuracy, why do I want to take a couple of sets of points? Operators can just cover their parts with point cloud data and then extract all the information they need from the point cloud. So having the ability to store those point clouds, capture them at a fast rate, render them real-time while computing the deviations to CAD to display the color information is a key capability that the HOOPS SDKs provide. When it comes to Metrology, this is a capability that all our partners can certainly benefit from.
PMI accessed from a native CAD file via HOOPS Exchange
Q: You touched on this earlier but what do development teams stand to gain by leveraging SDKs versus building in-house?
A: I mentioned this earlier regarding 3D visualization, that clearly it could be built, so it's a matter of cost and enabling the engineering teams to focus their development time on what's core to the business, rather than focusing on functionality that somebody else specializes in. So clearly on the visualization side, I think that's where the biggest benefit comes from using an SDK. When it comes to CAD data access and building a reader for proprietary native formats there isn't even a chance. You can't develop that expertise because it's so specific and it requires so much time to develop it correctly, so there's no alternative option in that case.
The solution for somebody developing a metrology application and not leveraging an SDK for CAD data access would be to require their customers to go ask their suppliers to export an IGES file or export a STEP file. Eventually, you would be putting your customers in a non-ideal workflow, and you'd lose competitiveness right away as a product. So, it's a requirement in today’s metrology world, to be able to read those proprietary file formats directly, natively and that technology you cannot reasonably develop on your own.
Q: How has being a previous partner and user of the HOOPS SDKs impacted your current position as VP of Engineering?
A: I would say the biggest thing, at least the thing that I’m most conscious of in my day-to-day, is being aware of how important it is that the products we release are easy to integrate.
I am mostly talking about verifying that the behavior and performance do not change from one version to the next. As a partner, it is a struggle when you take on a new version of a toolkit and you spot a behavior change. As a result, you drop the newer version, go back to the previous one, report the issue and then wait for the newer version to confirm that you can upgrade to it. What happens when you don’t get your fix in the next version? You fall off the upgrade cycle which makes each upgrade more challenging because you are taking in more changes at once. This awareness has driven me to push internally to release something that our partners can integrate easily and quickly, trying to reduce the changes in behavior to a minimum. And when changes are inevitable, we strive to provide our partners an earlier heads up to allow them to adapt their products accordingly. This is what a successful partnership looks like and it is these successful partnerships that help us justify our value to our partners, including those in metrology.