Integration with UNIGINE engine and massive updates to Web Toolkit in CAD Exchanger 3.15.0

New and more powerful visualization API in Web Toolkit, better support of semantic PMI, and a V1 of offloading of computations to subprocesses for greater stability.

Ramil Gasanov
Ramil Gasanov
5 min read

In the last six weeks, we've been working on many important features and have made several enhancements.

The latest updates include:

  • Added integration with UNIGINE engine
  • Web Toolkit version is bumped to 3.15.0 and aligned with SDK version due to new visualization API and a multitude of new features
  • New SDK setting enabling running of model import in a separate process for greater stability
  • Semantic PMI support added to STEP export, Web Toolkit, and CAD Exchanger native persistence formats
  • Improved scope and algorithms of neutral and native formats

If you want to learn more about each new feature of the 3.15.0 version, check out the CHANGES.txt file. Read the post below for all the major updates.

Integration with UNIGINE engine

CAD model imported into UNIGINE with CAD Exchanger
CAD model imported into UNIGINE with CAD Exchanger

UNIGINE is a 3D solution for virtual environments, visual analytics, science research, and computer games intended to make the experience of immersive technology a reality for all industries around the world. All of the UNIGINE projects are built on their own real-time 3D engine, which was created entirely in-house.

Starting with version 3.15.0 CAD Exchanger SDK includes UNIGINE integration, which allows it to be used in applications built with the UNIGINE engine to import CAD and 3D models. This integration enables conversion of geometry, product structure, and appearances to Unigine Nodes. The models from 30+ supported formats can be loaded at runtime, either using CAD Exchanger as UNIGINE import plug-in or using CAD Exchanger API directly.

Offloading import to subprocesses

One noteworthy feature is a new setting called Base_Settings::SubprocessMode, which enables model import in a separate process. Previously, errors occurring during the import process would crash the application. The new mode ensures that SDK modules were imported in a separate process, allowing to keep the main process running. Effectively, this guards the end-user against losing the data, as only the auxiliary process is terminated. Currently, this feature has several limitations: it covers only import operations, is available only for Windows, and incurs a performance penalty compared to traditional in-process import. We intend to continue working on it to expand its scope and applicability to make sure great stability guarantees do not require compromises in other areas.

Web Toolkit overhaul

Web Toolkit overhaul
Web Toolkit overhaul

Since the original release of Web Toolkit 4 years ago, we have kept the API stable, only adding features and functions. At the same time, we've been observing how our clients use the Web Toolkit and which features they ask for to solve their web visualization challenges. The conclusion we've made from these observations is that further enhancements to the Web Toolkit require a step back to reassess some choices and start anew.

New features have been added, such as support for lights, cameras, and custom input handlers. Together with some old features that have been integrated in an ad-hoc fashion, these functions are now presented to the client code in the clean and uniform form with "manager" classes, making Web Toolkit usage more streamlined for complex applications.

Visualization API also includes a generalized selection API allowing one: to select nodes, B-Rep and Poly shapes in the same way, the ability to highlight entities on the scene programmatically, iterate over selected and highlighted entities on the scene, get detailed information about ray intersection with scene.

Web Toolkit data model now includes semantic PMI, so they can be accessed on both the client and server side. Web Toolkit has already been convenient for rendering PMI, and now users of manufacturing-related web apps can get access to even more vital data. Finally, the API for progress status reporting was added. Client code can hook into it to display a progress bar for long-running operations.

Some of the updates to the Web Toolkit were breaking, which is why we're bumping up the major version. In version 3.15.0, npm package version of CAD Exchanger Web Toolkit has been aligned with the CAD Exchanger SDK version. From now on, the Web Toolkit will be released alongside each SDK release. This will streamline the development process for those, who use both CAD Exchanger SDK and Web Toolkit in their applications.

Alongside all these new and redesigned old features, we've made some updates to the Web Toolkit examples; including enabling TypeScript checking and switching to ES6 modules.

Better support of semantic PMI

Better support of semantic PMI
Better support of semantic PMI

Up until this point, the support of semantic PMI has been limited to import from a few formats and exploration of semantic PMI annotations using the SDK API. In 3.15.0 this support has been expanded. CAD Exchanger has added the export of semantic PMI to STEP according to the Application Protocol 242, allowing users to read model-based design data without 2D drawings. Successful export of semantic PMI enables software developers to re-use the PMI data from the files written with CAD Exchanger. This way, clients no longer need to send out the original proprietary CAD files or require suppliers to maintain matching CAD software when reading them.

As was mentioned above, API for access and editing of semantic PMI was added to Web Toolkit. The semantic PMI can now also be saved to and retrieved from the native CAD Exchanger persistence formats: CDXFB and XML. This facilitates the production scenarios where the same CAD data should be available to the user of the app many times over different sessions.

Improvements to neutral and native formats

Improvements to neutral and native formats
Improvements to neutral and native formats

The latest version also includes improvements of neutral and native formats support. JT component now supports the import of JT 10.6 files. We've enhanced the quality of parametric curves imported from CATIA and import of drawings for files that were written using Autodesk Inventor in DWG. Additionally, we have fixed incorrect processing of instances with no name in NX and improved the export of double precision floating point numbers in Parasolid.

Product rebranding

Finally, we are thrilled to introduce new product names for desktop application and command-line interface.

Currently, they are named CAD Exchanger and CAD Exchanger CLI, respectively. This often misled users, making it look like CAD Exchanger includes access to the SDK (it does not). CLI is a highly specialized term that is well understood by software developers but may be unfamiliar to other users, thus veiling the value from the broader audience.

Now CAD Exchanger becomes CAD Exchanger Lab and CAD Exchanger CLI turns to CAD Exchanger Batch. New names differentiate products from each other and better communicate their value in a clearer manner.

Rebranding is purely decorative and will not affect current or future customers. No actions are needed.

So what do you do next?

If you want to start exploring all of the new features in version 3.15.0 before making a purchase decision, check out our most recent updates.

We release an updated edition of CAD Exchanger software every six weeks, so keep up with the updates to benefit from the latest and greatest version.

We are constantly expanding the number of supported file types and file format versions.
If you're an existing CAD Exchanger user and would like to try out the new version, register in the Customer Corner and download CAD Exchanger 3.15.0.

Ramil Gasanov
Ramil Gasanov
Head of marketing

Get the CAD Exchanger Newsletter

From us to your inbox weekly.