17 Mar 2016
CAD Exchanger: The easiest way to convert 3D data
Roman Lygin, Ramil Gasanov
CAD Exchanger is a program suite aimed at addressing CAD data interoperability challenges. The software allows to visualize 3D data, convert it across wide range of CAD formats, build computational meshes for engineering analysis, display 3D model properties, etc. The list of supported formats is constantly growing and includes both neutral formats (IGES, STEP, STL, JT, VRML, X3D, OBJ) and modeling kernel-specific ones (ACIS, Parasolid, Open CASCADE, Rhino/Open NURBS).
CAD Exchanger is actively used by manufacturing and engineering companies, software vendors, service providers and individual professionals. Our customer list includes Alcatel-Lucent, Altium, Fujitsu, SENER and many others.
CAD Exchanger is available on all major platforms including Windows, Linux, MacOS and Android. Users can take advantage of CAD Exchanger GUI (Graphical User Interface), a CLI (Command Line Interface) for automation purposes, or an SDK (Software Development Kit) for integration to customers’ applications. In addition to products we also offer custom development services for clients with specific needs.
Key reasons that make CAD interoperability challenging
The problem of CAD data interoperability is probably as old as early CAD systems. Despite attempts of the professional community to solve it by establishing open formats and standardizing them (for instance, IGES, STEP, VRML, etc), it is obviously impossible to find a ‘silver bullet’ – a solution that would resolve this issue once and for all.
First, technical factors come into play. Differences in format designations (e.g. for visualization or for exact representation) lead to different contents and descriptions of 3D data (e.g. with approximated triangulation or precise B-Rep model, with colors, materials and other meta-data).
Second, huge volume of legacy data accumulated during many years. For instance, there are myriads of files in the IGES format, which was the first vendor-neutral format adopted in 1980-es. Those files still need to be exchanged.
Third, different mathematical descriptions used in geometrical kernels underneath the CAD systems. Using a minimum set of geometrical objects (for instance, NURBS) would lead to loss of history and deteriorated geometrical accuracy (e.g. in the case of approximating procedural curves and surfaces). On the other side, trying to include every possible feature in an exhaustive encompassing format, like STEP, ends up in complicated descriptions and ambiguous interpretations of the standard, which require additional agreements by work groups in the CAx-IF community.
Finally, business drivers make big players to follow the ‘walled gardens’ strategies and lobby their own proprietary formats or drive design of the neutral formats primarily reflecting their own needs.
Therefore, relevance of the CAD data interoperability challenges will remain over foreseeable future. Moreover complexities connected with data conversion will only grow over time. Not only do new versions of existing formats appear (with introduction of new object types) but also grows data complexity and size (primarily thanks to adoption of 64 bit architectures). Therefore new more efficient methods are required to faster process growing data.
The last decade showed that the only practical way of hardware performance growth is by increasing the number of cores and processors. Therefore the most effective long-term way to increase software performance is by leveraging parallel computations. At the same time, adoption parallelism for the CAD applications is still very challenging.
This combination of using parallel computations to address problems of 3D visualization and conversion became the starting point in the history of CAD Exchanger.
CAD Exchanger is developed and distributed by CADEX company based in the city of Nizhny Novgorod, Russia and founded in 2014 by Roman Lygin. First beta versions were released several years before that.
Just like many other tech start-ups, CAD Exchanger at first was a hobby of the founder. With rich background in software development and management at Intel and Datavision CIS (the development site of the Open CASCADE Technology vendor) behind his back and being inspired by parallel computations, Roman prototyped a 3D visualization and conversion app which leveraged parallel computations for maximum performance on multi-core systems. Early versions received a positive users’ feedback and brought first commercial clients. Growing customer base and product size required larger support efforts. As a result Roman decided to found his own company and build up a team.
CAD Exchanger includes 3 different packages so far:
- GUI (Graphical User Interface);
- SDK (Software Development Kit);
- CLI (Command Line Interface);
CAD Exchanger GUI is an end-user graphical application. It allows to visualize 3D models in different view modes, work assemblies and parts, switch between B-Rep and polygonal representations, build section views, gather information such as volume, surface area, centroid, bounding box etc.
CAD Exchanger SDK is a set of C++ libraries for software developers. By integrating SDK libraries into their applications our customers become able to work with broader range of file formats and to convert new data into formats their applications already support. For instance, CAD Exchanger SDK can be efficiently used in CAM/CNC applications for importing exact geometry from STEP, JT or other format and converting into polygonal representations the application might already support. The SDK libraries enable the developer to analyze product structure and geometrical data of a 3D model, to generate high-quality computational meshes for engineering analysis, to create 3D models from scratch and to export to the target formats. CAD Exchanger SDK ships with a user’s guide which highlights most common use cases and demonstrates various workflows that can be integrated into C++ and C# examples.
CAD Exchanger CLI is a server-based solution, aimed at collaborative usage. It enables automated batch-mode conversions, what makes it convenient for cloud-based services and large enterprises. Another usage example is deployment of CAD Exchanger CLI on servers in large companies accessible by multiple users with a need to convert and store 3D data. This facilitates integration with corporate PLM systems and makes it easy to share CAD data and collaborate between internal engineering teams, external vendors and suppliers.
From the very beginning we focused on ease of use combined with high performance and quality, and reasonable pricing policy. Focus on ease of use was reflected in streamlined graphical interface on the one hand, and well-thought structured API of SDK on the other. To ensure high accuracy and quality of
conversions we pay close attention to analysis of various geometrical cases and peculiarities of CAD systems that generate 3D files.
Performance is provided by both optimizations of the single-threaded algorithms and adoption of the multi-threaded ones. Due to specificities of data structures applied in CAD and geometrical modeling, efficient design and use of multi-threaded algorithms is often challenging. Therefore key methods of parallel processing invented during CAD Exchanger design have been filed for patents.
CAD Exchanger is a cross-platform product and is available on Windows, Linux, MacOS and Android.
The product utilizes various open source libraries such as Open CASCADE Technology (geometrical kernel), Intel Threading Building Blocks (library for multi-threaded computations), Qt (library for cross-platform GUI design), Boost (C++ template library).
The test infrastructure includes thousands files and test scenarios that are regularly executed to ensure sustained product quality.
We are proud of the fact that CAD Exchanger’s customer geography covers all continents. The focus on the global market was determined from the very beginning and proved its effectiveness. There are numerous well-known brands among our customers like Alcatel-Lucent, Altium, Fujitsu, SENER and others. You can find more names and detailed success stories on our web-site.
We always welcome honest feedback on CAD Exchanger. It is heartwarming to receive the highlights on ease of use of the user interface, convenience of the SDK API, overall performance and quality. It is especially exciting when our customers decide to favor CAD Exchanger after thorough benchmarking of several solutions available on the market. We also thank all the users who provide their opinions on current features and desired extensions.
In 2015 our company was invited as a guest speaker to the Intel Software conference in Moscow and Nizhny Novgorod where CAD Exchanger was showcased as a convincing example of successful adoption of Intel software for parallel computing. You can read the full success story in the official Intel developer zone.
In April 2016 we are going to attend COFES, the largest international event gathering CAD/CAM/CAE/PLM vendors, which will be held in Arizona, USA.
Today CAD Exchanger is designed by a team of 8 employees. Majority are graduates from Nizhny Novgorod State University. The start-up environment forces the team to face challenging technical tasks, experience constant growth of responsibilities and reaching ambitious goals.
We highly appreciate users feedback and would love to hear your thoughts on our products. Please feel free to download free evaluation version of GUI on our web-site and drop us a line at firstname.lastname@example.org.
Permanent link :: http://isicad.net/articles.php?article_num=18432