Software Libraries to Read, Write and Visualize 3D CAD files
Quickly and easily enrich your web, server or desktop app with access to CAD and BIM data.
Work with CATIA, SOLIDWORKS, Creo, STEP, JT, IFC and many more formats from C++, Python, C#, Java and JavaScript.
Play CAD Exchanger SDK Overview
Suitable for any 3D powered application
3D web applications
Ingest, convert and process CAD/BIM data on the backend. Use lightweight and interactive visualization on the frontend.
AR, VR and Unity applications
Set up 3D data conversion pipelines with tunable mesh generation and optimization to deliver immersive experiences.
Manufacturing as a Service platforms
Enable seamless part import, accurate cost estimations and instant DFM feedback for sheet metal, CNC machining, etc.
Engineering applications
Get full access to the structure, geometry and metadata in CAD and BIM models. Save time by using robust advanced processing functions.
All your CAD and 3D data needs, covered
Import and Export
Visualization of CAD, BIM & 3D data
3D and drawing data
Analysis and Measurement
PMI and insights from 3D data
Mesh Generation & Model Modification
Import and Export
CAD Exchanger SDK Exchange data in 30+ supported 3D/2D CAD and BIM formats, preserving every possible bit of content, including structure, geometry, metadata and appearances. Import data from proprietary formats such as SOLIDWORKS, CATIA, NX and Creo without expensive CAD software. Export data to STEP, JT, glTF, FBX and other 3D and CAD formats for further processing in your software of choice. Enjoy blazing fast conversions thanks to intelligent parallel processing.
Visualization of CAD, BIM & 3D data
The all-in-one 3D viewer components for various UI technologies provide a multitude of features - customizable and controllable viewport, programmatic and user selection, exploded and section views, measurements and manipulator. The modular scene graph architecture enables fine control over the look of 3D objects and allows to mix them with 3D data created on-the-fly. Aside from the 3D viewers, the SDK can also be used with popular visualization platforms: Unity, Three.js, UNIGINE.
Full access to 3D and drawing data
Unified format-neutral data model provides access to all aspects of the 3D and drawing data regardless of where it came from. Traverse arbitrarily nested part-assembly trees with ease via visitors. Explore structure of drawings by accessing all sheets, views and layers. Inspect B-Rep and mesh geometry down to the last vertex. Retrieve contents of drawings: 2D curves, dimensions, hatches, notes and more.
Analysis and Measurement
Analyze face and edge geometry by querying surface and curve types and type-specific properties. Calculate curve lengths, as well as curve and surface local features: tangents, normals and curvatures. Utilize powerful correspondence between 3D curves and parametric curves to write complex B-Rep processing algorithms. Compute bounding boxes, centroids, volumes and surface areas for models for integrity assessment or domain-level processing.
Full access to PMI and insights from 3D data
Easily extract from and attach to the model conceptual information stored as names, IDs and metadata assigned to parts, assemblies or geometry. Access PMI annotations such as dimensions, tolerances, feature control frames and others in graphical or machine-readable forms. Build intelligent manufacturing-related algorithms by accessing faces and edges that PMI annotations are assigned to. Create machine-readable PMI annotations and export to STEP and JT for further usage.
Mesh Generation and Model Modification
Quickly generate high quality triangular meshes from precise B-Rep geometry. Control mesh granularity with convenient presets or fine-tune the result with a rich set of parameters. Use the model editing capabilities to combine existing models or create models from scratch. Create primitive shapes, extrusions and rotations or even arbitrarily complex B-Rep bodies via bottom-up modeling (from vertex to solid).
Customizable to fit your needs
Pick components to deliver the most value to your users
Get started with everything you need for a fully‑featured 3D application
Top it off with optional components for maximum productivity
Converters
Proprietary and open standards
visualization
Desktop and web 3D viewers & tools
Advanced processing
Meshing, simplification, NURBS recognition
Integrations
Game engines, CAD kernels
CAD Exchanger 3.23.0, November 2023
Highlights:
- Added import of new version of formats: Autodesk Inventor 2023 and 2024, NX 2306.
- Documentation has been reworked significantly to make it easier to navigate. It also
now contains comprehensive information about SDK, Web Toolkit and Manufacturing Toolkit,
together with all their examples.
- BIM model structure has been reworked to align more closely with relevant formats and
mainstream usage.
SDK:
- Added new examples: "coloring", "configurations" and "drawings".
- Added support of Microsoft Visual Studio 2022 (vc14.3).
- For product improvements, evaluation version may now collect anonymous usage data
(such as file formats and sizes). No data collection is performed in the commercial
version.
SDK/API:
- BIM-related API changes:
- Removed ModelData_BIMSpace class and added ModelData_BIMCompositeElement class to represent
groupings of elements not related to model structure.
- Renamed base class for all BIM classes from ModelData_BIMElement to ModelData_BIMBaseObject
and added an ability to carry UUIDs to it.
- Renamed ModelData_BIMHostElement to ModelData_BIMHost.
- Introduced restrictions on types of BIMElement that can be added to each subclass of BIMHost.
This enforces a rigid site-building-storey inclusion order.
- Added Name and PropertyLibrary fields that relate to the entire ModelData_BIMModel.
- Added new class ModelData_OrderedWireIterator that iterates over edges in a wire on a face
in topology connected order.
- Added new overload to ModelAlgo_TransformationApplier to transform an entire ModelData_Model.
- Added ModelData_ShapeList class to Python, C#, and Java API.
- Stub files have been added to Python packages, enabling autocomplete back in some editors.
- Improved CDXWEB files structure to load multi-LOD files faster in the browser.
- Fixed crash in methods that accept ModelData_PMIGraphicalElementComponent,
ModelData_PMISemanticElementComponent or ModelData_PMISemanticAttribute as parameters
in Python API.
SDK/Documentation:
- SDK documentation now contains information on all modules and products, including
Manufacturing Toolkit and Web Toolkit.
- The SDK documentation has been streamlined to make it easier for a new reader.
Multiple articles have been rewritten (introduction, installation, etc.), others
have been added (e.g. Integration with Open CASCADE).
- SDK, Web Toolkit and Manufacturing Toolkit examples are now all on a single page.
- Added documentation for classes for which there were no description before.
SDK/Unity add-on:
- Fixed texture export from Unity model to ModelData_Model.
SDK/UNIGINE add-on:
- Add-on ported to currently relevant UNIGINE SDK 2.17.
SDK/Web Toolkit:
- Added API to check scene node is selected or not.
- Fixed selected scene node rendering when the node becomes visible.
- Fixed selected measurements rendering.
- Fixed selection algorithm for PolyVertex selection mode.
- Fixed TypeScript definitions (d.ts file).
ACIS:
- Improved support of ACIS ASM binary files.
Collada:
- Improved export of transparency.
FBX:
- Fixed import of objects without mesh.
glTF:
- Fixed textures not being exported on Linux.
- Improved export for assemblies with Draco compression.
IFC:
- Fixed the structure of files exported from mechanical CAD and 3D formats
for wider support in downstream applications.
- Fixed data races when reading files containing non-ASCII characters.
- Improved import of entities based on profile curves with big gaps between vertices
of said profiles.
NX:
- Import now retains the transparency of objects.
OBJ:
- Added export for materials with transparency.
STEP:
- Added support for import of used-defined properties at geometry level assigned
using 'geometric_item_specific_usage' entities. These properties can be retrieved from
property tables attached to BRep subshapes.
U3D:
- Improved appearance export in debug mode.
Manufacturing Toolkit 3.23.0, November 2023
General:
- Starting with this version, Manufacturing Toolkit is distributed in the CAD Exchanger
SDK package.
- Manufacturing Toolkit documentation and examples are now available within the
CAD Exchanger SDK documentation.
CNC Machining:
- DFM (Design for Manufacturing) Analysis:
- Improved fillet related checks logic to find spline fillets.
- Updated logic for Outer Diameter Profile check. The rule will no longer be called
for perpendicular turning faces.
Sheet Metal:
- Added association between edges of original and unfolded models. It is accessible with
SheetMetal_FlatPattern::RelatedShape() method.
- Feature Recognition:
- Added possibility to find Tabs on circular forms.
Measurements:
- Added volume calculation for SheetMetal_Hole and SheetMetal_Cutout features.
- Added volume calculation for Machining_Hole, Machining_Countersink and Machining_Pocket
features.
Wall Thickness:
- Overhauled the algorithm to make it faster and more accurate.