3D XML and Solid Edge, broader versions coverage for CATIA, JT, Parasolid, and universal converter API in CAD Exchanger SDK 3.10.

Behold the second release of 2021 for 3D CAD apps developers: two new native formats and numerous enhancements for integrating CATIA, JT, Parasolid, SOLIDWORKS, and Unity into your product.

Maria Gazarkh
Maria Gazarkh
4 min read

Our only regret in this CAD Exchanger version is that being released during the low season, it competes for your attention with such a stronghold as summer vacations. But when it comes to two new native formats and an all-formats reader and writer, none of the sunny routines can beat us.

Here are the highlights of CAD Exchanger SDK 3.10:

  • 3D XML (CATIA V6) import
  • Solid Edge import
  • Mesh colors import in SOLIDWORKS
  • Broader versions coverage for CATIA, JT, Parasolid, SOLIDWORKS
  • Universal reader and writer API
  • API for computing lengths of curves
  • IL2CPP and asynchronous model loading in Unity

3D XML (CATIA V6) import

3D XML (CATIA V6) import in CAD Exchanger SDK
3D XML (CATIA V6) import in CAD Exchanger SDK

3D XML is a proprietary 3D file format developed and supported by Dassault Systemes. It is typically created as an export from Dassault Systemes' 3DEXPERIENCE application (also known as CATIA V6). The file is a zip archive file consisting of a BOM file and one or more 3D representations stored in either XML or binary format.

Compact file size allows users to transfer 3D XML quickly and embed it into websites, emails, and various MS Office documents. Therefore, the format is commonly used to integrate 3D data into technical and marketing documentation.

Since version 3.10, CAD Exchanger can read 3D XML files from schema version 4.0 to version 4.3. The scope includes part-assembly structure, polygonal geometry, names, and colors.

Solid Edge import

Solid Edge import in CAD Exchanger SDK
Solid Edge import in CAD Exchanger SDK

Solid Edge is a native format of Solid Edge, a 3D CAD solid modeling software for mechanical designers. Being developed by Intergraph on the basis of ACIS in 1996, Solid Edge changed its owner to Siemens and its geometric modeling kernel to Parasolid in 1998. Solid Edge targets the mid-range CAD market  (with its closest rivals being SolidWorks and Inventor) and is used to store mechanical and electrical data, data for simulation and manufacturing processes, data management, and collaboration.

CAD Exchanger added support of Solid Edge files from version 17 to version 2021, including its part (*.par), assembly (*.asm), and sheet metal (*.psm) extensions. The converter enables import of B-Rep representations from part and sheet metal (PSM) files, colors, part-assembly structure, and external files. Polygonal representations and textures reading will be added in further CAD Exchanger versions.

Mesh colors import in SOLIDWORKS

SOLIDWORKS mesh colors import in CAD Exchanger SDK
SOLIDWORKS mesh colors import in CAD Exchanger SDK

In July 2020 CAD Exchanger 3.8.1 was released with a new feature of SOLIDWORKS meshes import. Today we are taking another important step for this feature by enabling mesh colors support for the full range of recent software versions. Mesh color reading improves the usability of scenarios where standalone SOLIDWORKS assemblies (*.sldasm) with missing components are converted to mesh formats.

Apart from this, SOLIDWORKS converter reads B-Rep representations and their colors, meta-data, part-assembly structure, and external files.

Universal reader and writer API

Universal reader and writer API in CAD Exchanger SDK
Universal reader and writer API in CAD Exchanger SDK

Up till now, there was only one way to handle the processing of CAD formats in CAD Exchanger SDK: with the help of format-specific reader and writer classes, e.g. JT_Reader or ACIS_Writer. After integrating the first format into the customer’s application, adding the new ones was a matter of a couple of code lines. It provided fine control over the import and export, but at the cost of boilerplate code for dispatching models between the components.

CAD Exchanger 3.10 introduces new classes, ModelData_ModelReader and ModelData_ModelWriter, which can be used as single entry points for every format supported by CAD Exchanger. It is especially useful for multi-formats applications and when buying a bundle of all formats. The universal reader and writer determines what format the file is and performs the import or export correspondingly. User’s code now includes just a handful number of lines, but handles all supported formats:

#include <cadex/ModelData_ModelReader.hxx>
using namespace cadex;
ModelData_Model aModel;
ModelData_ModelReader aReader;
if (!aReader.Read ("myfile.igs", aModel)) {
//error during reading the file

API for computing lengths of curves

CAD Exchanger SDK allows CAD applications to compute various 3D model properties: bounding boxes, surface areas, volumes, and centroids. This feature can be useful when an end-user needs to measure the model or any of its parts, to calculate the manufacturing cost, or in other geometric algorithms. Version 3.10 expands the list of available properties with a length of a curve.

    ModelData_Circle aCircle (ModelData_Axis2Placement (
        ModelData_Point (0., 0., 0.),
        ModelData_Direction::XDir()), 5.); 

    ModelData_Edge anEdge (aCircle, 0., M_PI); 

    double aCurveLength = ModelAlgo_CurveLength().Compute (anEdge);

Unity integration enhancement

Unity progress bar visualization in CAD Exchanger SDK

CAD Exchanger continues to fine-tune the Unity Integration module, improving its performance. Version 3.10 features two changes: support of IL2CPP (Intermediate Language To C++) and support of asynchronous model loading.

With IL2CPP, CAD Exchanger now enables both Unity scripting backends. IL2CPP algorithm first involves code conversion to C++ and then native binary file creation. This approach results in an increased performance compared to building a project with a Mono backend.

Another highlight of 3.10 is the asynchronous loading of the models. Initially, Unity add-on worked fully in the main thread, just like Unity itself does. As a result, the import of large models froze all the other processes, including the UI update. Now we are able to run the model loading in the background, freeing the main Unity thread capacity. As one of the results, the Unity Integration module now enables a progress bar visualization.

There are also other important changes in IFC, IGES, NX, PRC, Rhino, primarily focused on stability and correctness. Please check out a complete list of new features and bug fixes in the CHANGES.txt file.

Our mission is to provide you with the seamless conversion experience when working with whichever CAD package you prefer. If you are already a CAD Exchanger user, please feel free to share your feedback at support@cadexchanger.com. But if you haven’t tried it yet, take a chance and start your trial right now:

By now existing customers should have received the notifications with the direct download links of the licensed products. If you didn’t receive the email please contact us at support@cadexchanger.com and we will follow up shortly.

Maria Gazarkh
Maria Gazarkh
Content Manager

Get the CAD Exchanger Newsletter

From us to your inbox weekly.