CAD Exchanger SDK is a software library for developers, enabling integration of 3D CAD/BIM data access, visualization, and processing into various applications.




CAD Exchanger SDK provides a comprehensive suite of software libraries designed to empower developers with the ability to read, write, and visualize 3D CAD and BIM files within their web, server, or desktop applications. This powerful toolkit simplifies the complex task of working with diverse CAD formats such as CATIA, SOLIDWORKS, Creo, STEP, JT, and IFC, supporting multiple programming languages including C++, Python, C#, Java, and JavaScript. It is suitable for a wide range of 3D-powered applications, from backend data ingestion and processing for web applications to setting up 3D data conversion pipelines for AR/VR and Unity environments. The SDK also facilitates seamless part import, accurate cost estimations, and instant DFM feedback for Manufacturing as a Service platforms, and offers full access to the structure, geometry, and metadata in CAD and BIM models for engineering applications, saving significant development time through robust advanced processing functions.
Features & Benefits
- Import and Export
- Exchange data in over 30 supported 3D/2D CAD and BIM formats, preserving all content including structure, geometry, metadata, and appearances. It allows importing from proprietary formats like SOLIDWORKS, CATIA, NX, and Creo without requiring the original CAD software, and exporting to formats such as STEP, JT, glTF, and FBX with blazing fast conversions via intelligent parallel processing.
- Visualization of CAD, BIM & 3D Data
- Offers all-in-one 3D viewer components for various UI technologies, providing features like a customizable and controllable viewport, programmatic and user selection, exploded and section views, measurements, and manipulators. Its modular scene graph architecture allows fine control over 3D object appearance and mixing with dynamically created 3D data. The SDK also integrates with popular visualization platforms like Unity, Three.js, and UNIGINE.
- Full Access to 3D and Drawing Data
- Provides a unified, format-neutral data model for accessing all aspects of 3D and drawing data, regardless of its origin. Users can easily traverse arbitrarily nested part-assembly trees, explore drawing structures by accessing sheets, views, and layers, inspect B-Rep and mesh geometry down to the vertex level, and retrieve drawing contents such as 2D curves, dimensions, hatches, and notes.
- Analysis and Measurement
- Enables analysis of face and edge geometry by querying surface and curve types and their specific properties. It can calculate curve lengths, local features (tangents, normals, curvatures), and utilize the correspondence between 3D and parametric curves for complex B-Rep processing. The SDK also computes bounding boxes, centroids, volumes, and surface areas for models, crucial for integrity assessment or domain-level processing.
- PMI and Insights from 3D Data
- Facilitates easy extraction and attachment of conceptual information (names, IDs, metadata) to parts, assemblies, or geometry. It allows access to PMI annotations like dimensions, tolerances, and feature control frames in both graphical and machine-readable forms, enabling the creation of intelligent manufacturing-related algorithms by linking to specific faces and edges. Machine-readable PMI annotations can also be created and exported to STEP and JT.
- Mesh Generation and Model Modification
- Quickly generates high-quality triangular meshes from precise B-Rep geometry, with control over granularity via presets or fine-tuning parameters. It includes model editing capabilities to combine existing models or create new ones from scratch, supporting the creation of primitive shapes, extrusions, rotations, or complex B-Rep bodies through bottom-up modeling.
- Flexible Integration & Customization
- Designed for developers, the SDK offers a clean, structured API with easy-to-follow guides and examples. It supports direct embedding into C++, C#, Java, Python, and JavaScript applications, or can run in a separate process from any other language, allowing deployment on desktop, mobile, and cloud environments. Developers can pick specific components to deliver maximum value to their users.