Working on a 3D engineering app for desktop, web, or mobile? Looking for CAD SDKs and developer tools to work with various 3D formats (STEP, JT, SOLIDWORKS, STL, etc.)? Then CAD Exchanger can be the right choice for you. Keep on reading to select which tool can be the best fit for your case.
End-users and software developers: two worlds
When I started CAD Exchanger in 2009, it was a single Windows application, a precursor of the current CAD Exchanger GUI which now runs on Windows, Linux, macOS, Android as well as its brother CAD Exchanger Cloud running fully online. Today these two serve our end-users who need to import, visualize, measure, analyze and convert 3D files on a desktop or in the cloud.
However, over time, as my team and I were building CAD Exchanger into a sustainable business, it grew up to address a whole new audience — software developers — who themselves create engineering applications and need to enable working with 3D data. Through this target audience of the software developers, CAD Exchanger technologies are now exposed to millions of end-users who use applications created by these software developers, for desktop, web, or mobile.
These software developers work in companies of different sizes, use different toolchains, address different use cases and platforms, apply different licensing models to their apps, and serve differently their own end-users. All these different audiences have different needs and priorities with respect to CAD SDKs and developer tools they seek, on the market in general and from us in particular.
CAD Exchanger Developer Tools
First things first, so let me quickly enumerate what we offer today to software developers:
- CAD Exchanger SDK and add-ons
- CAD Exchanger CLI
- CAD Exchanger Cloud API
- CAD Exchanger Web Toolkit
#1. CAD Exchanger SDK and Add-ons
Brief description. CAD Exchanger SDK is C++, C#, and Java libraries to import/export, explore, analyze, and visualize 3D data. The SDK provides the deepest access to available 3D data, from assembly hierarchies, precise B-Reps and polygonal meshes to PMI, materials and textures, and other meta-data. Add-ons support domain-specific use cases, such as integrating CAD with Unity game engine, generating high-quality FEA meshes, applying mesh decimations and B-Rep simplifications, on-demand manufacturing, and so on.
Licensing. For application distribution (works best for commercial desktop applications running on end-user seats) or for Server deployment, such as SaaS.
Pricing. Tier-based pricing depending on the revenue generated by the customer’s app. Per format/component or via cost-effective bundles.
Benefits. The most powerful option to work with 3D data. Unified format-neutral data model API. The platform to build world-leading engineering apps.
Downsides. More time required to leverage the power of the SDK, however numerous examples and clear well-documented API reduce this entry barrier.
“The CAD Exchanger SDK API was quite easy to use, and I appreciate your team’s quick response time and detailed explanations for solving our problems. Great work all around, keep it up.”
Product develoment manager, Altium LLC
#2. CAD Exchanger CLI
Brief description. CAD Exchanger CLI (Command Line Interface) is an easy-to-deploy conversion utility between file formats. The primary focus is on its ease-of-use. CLI can be used to automate regular batch file conversions and is available on Linux, Windows, and macOS.
CAD Exchanger CLI can be used both in corporate environments and in public clouds, to convert from any source format to target format(s) which the customer’s service already supports. CLI does not pretend to do any more than conversions (with limited user-defined settings capabilities and thumbnail generations).
The CLI license key is tied to a particular server’s MAC address, so an app on a local end-user machine must invoke conversion on that remote server, not on the local machine.
Licensing. per server (MAC address).
Pricing. Tier-based pricing depending on the revenue generated by the customer’s service. Per format or via cost-effective bundles.
Benefits. The shortest learning curve. Very easy-to-use (simple command-line syntax).
Downsides. Non-redistributable as runs on a dedicated server. For extremely high-load conversions may require specific work scheduling.
#3. CAD Exchanger Cloud API
Brief description. CAD Exchanger Cloud API (in Beta) is a REST API to perform conversions in the public cloud managed by our team. It is essentially “CLI in the cloud”.
Unlike CLI, which is often deployed on the client’s premise, Cloud API does not require any deployment whatsoever. It is instantly available and runs 24/7.
Data are securely managed and stored in Microsoft Azure cloud. Data security in the public clouds is much higher than in most small-to-large companies, so unless “data within premise” is a formal requirement, using Cloud API can be a very viable option.
Licensing. “Pay as you go”. Conversion packs are included in a monthly subscription and can be additionally purchased.
Pricing. Conversion price is primarily defined by the format (e.g., neutral STEP vs. native SOLIDWORKS) and file size. Other services, such as extra storage, may be charged additionally.
Benefits. Can be the most cost-effective option in the case of very rare conversions. No infrastructure management (deployment or upgrade) is required: you always access the latest version.
Downsides. Not redistributable. Data is sent to the public server. Less predictable conversion times as the servers are shared with multiple users accessing Cloud API, including other developers and CAD Exchanger Cloud end-users.
“For us, the main benefit in using CAD Exchanger Cloud API was to get a hosted CAD conversion service and completely focus on our own SaaS solution.”
#4. CAD Exchanger Web Toolkit
The Web Toolkit allows to build highly interactive 3D web applications running either on-premise or in the cloud (in public, private or hybrid). It runs on a client’s side and enables to work in a 3D view, explore assemblies and PMI, measure, mark-up, and collaborate with other users in real-time. The Web Toolkit powers our own CAD Exchanger Cloud, so you can build any similar app.
The Web Toolkit consumes data in a specific web-friendly format that applies high compression to reduce file size and transfer times. Requires either CAD Exchanger SDK or CLI (running on a server’s side) to convert any input 3D file into that specific file format.
Licensing. Licensed together with CAD Exchanger SDK or CLI.
Pricing. Tier-based pricing depending on the revenue generated by the customer’s app.
Downsides. Nothing particular per se, as the Web Toolkit is a complementary component.
So, What Should I Use?
The decision-making process is actually quite straightforward. We follow the same process when we talk to our prospects during exploratory and onboarding calls and provide them with recommendations on our tools that would fit them best.
The list of questions and recommendations is typically boiled down to the following:
1. Do you anticipate any need to explore and analyze the 3D data after you have imported it? For instance, explore the assembly tree and access element names? Compute bounding boxes, volumes, or surface areas? Access PMI? Generate meshes with user-defined parameters? Will you need visual feedback, such as a progress bar?
If the answer is ‘yes’ or ‘likely yes’ to any question above, then the CAD Exchanger SDK is the answer. Even if you plan to start with a simple conversion, we typically encourage you to start with CAD Exchanger SDK right away. We saw customers who were over-cautious and started with CLI to only switch to SDK in a few months, once they have realized they need something more (e.g., bounding box computation).
If the answer is no, and the conversion is all you will ever need, then select between CAD Exchanger CLI and Cloud API.
2. When deciding between CLI and Cloud API, consider a few factors. How many conversions do you anticipate a year? Where are the files located — within your perimeter, or on the internet? Are your stakeholders comfortable with files going through the public cloud? Do you prefer your IT or dev team to manage the server or do you prefer to free yourself of that? How large are your data (e.g., <10MB, >100MB,…)? Do you need predictable conversion times or are you fine with greater latencies?
If you are more inclined to self-control, to work with larger data, need smaller latencies or at least better predictability, then CLI is the option.
If you anticipate to sporadically work on smaller, non-confidential files where minor delays are OK, then Cloud API could be your option.
3. At last, if you are building a web app, do you need to visualize 3D objects in the browser? Would you prefer doing this via some low-level three.js API and a simpler 3D view? Or would you prefer a more feature-rich and responsive 3D widget?
This blog series (part 1, part 2) explains how you could achieve that with different tools we provide — from simple conversions to glTF and using three.js API, to using CAD Exchanger Web Toolkit. It can help you decide if the Web Toolkit could be a good fit for you to save your time, and focus on your business instead of reinventing a wheel.
I intentionally do not put financial aspects in the decision-making process. First off, pricing does not really change any decision flows here — everything is determined by required features and other factors, not the price. Secondly, all CAD Exchanger components are priced very reasonably and provide a great return on investment, and value for their price. If you are serious about building an engineering application, the price level of a few thousand US dollars a year (or dozens of thousands if you are in a higher tier) is just an admission fee into this world if you will. In any case, CAD Exchanger developer tools have always been very affordable to all target audiences. You can learn more about licensing and pricing at individual product pages.
Hope this review will serve as a helpful navigation through the key developer toolkits and tools we provide and will help you make more informed decisions. If something remains unclear or you still have any question, please feel free to contact us and our team will be happy to help.
Should you be interested in evaluation in any of these tools, please just go to the respective product web page and click “Try for free”. You will receive detailed instructions and onboarding emails to help you jump start within a few minutes. Our support team will always be available to help if there are any questions along the road. And of course, do drop us a line on how your experience was, that’s always important to receive!
Thanks for reading!