Quick Start

# Overview

1. Download and uncompress the SDK package into some directory (hereinafter referred to as ${install_dir}), e.g. C:/dev/cadexchanger/3.8.0. 2. Save the license key file you received for your evaluation period to ${install_dir}/examples/\${programming_langugage}.
3. Set up your development environment depending on your programming language and preferred IDE.
4. From the list below, select the usage scenario, which is the closest to yours. Build, run and adapt to your case.

Prior to significant experiments with examples you might want to read a Quick Introduction that will help you get familiar with major concepts and functionalities of the CAD Exchanger SDK.

# Installation

The following video explains how to uncompress the SDK package and copy the license key file:

# Setting up development environment

The fastest way to prepare your development environment is to use the provided examples and generate project files for your preferred IDE. In this case, the generators will set up required paths and environment variables for you.

Otherwise you can just copy examples' code excerpts into your existing projects. In this case, just make sure that you properly set paths to header and library files of CAD Exchanger SDK, respecting OS, architecture and debug/release versions. Note that whenever you change a required configuration (e.g. when switching from debug to release) make sure you update your environment. CAD Exchanger SDK libraries are located in separate subfolders depending on target configuration. For instance libraries targeted for Visual Studio 2015, 64 bit architecture, debug mode are located in /win64/vc14/bind subfolder.

To set up environment specific to your programming language select one of the links below:

# Selecting matching usage scenario

From the list below select the usage scenario, which is the closest to yours. Build, run and adapt to your case.

 Scenario: Your app is already able to import some format(s), for instance, OBJ, and you would like to import files from a broader list of formats (e.g. STEP, JT, Solidworks, etc). Solution: The simplest (although suboptimal) approach is to use CAD Exchanger SDK to convert any file into an OBJ file and import the latter. This will require writing an interim file on a disk. Recommendations: More efficient approach would be to develop mapping from format-neutral representation to application's internal representation (see "Conversion of 3D models into user's data" below). Example(s): Transfer Example

## Import, measurement and analysis of 3D models

 Scenario: You need to read 3D files and make various measurements and analysis. For instance, bounding boxes and volumes to estimate manufacturing costs; retrieving application-specific meta-data (such as string properties); retrieving XYZ coordinates, recognition of drilled holes (their radii and positions) and so on. Solution: Import any file into format-neutral data model, explore assemblies and part hierarchy, retrieve various meta-data, compute bounding boxes, volumes, surface areas, explore B-Rep representation and analyze geometrical objects (cylinders, cones, ...) and many more. Recommendations: Make yourself familiar with details of B-Rep and polygonal representations, parts and assemblies. Example(s): Import Example, B-Rep Representation Example, Property Table Example, Validation Properties Example

## Visualizing 3D models

 Scenario: You need to read various 3D files. Your application is already able to visualize 3D models, or you might be interested to use a new visualization engine. Solution: Use CAD Exchanger to import multiple mesh and B-Rep formats. Use visualization mesher to generate tessellations from B-Rep models. If you need a new visualization engine, evaluate CAD Exchanger visualization toolkit. Recommendations: See also "Visualizing 3D models via CAD Exchanger SDK" blog post. Example(s): Import Example, Visualization Mesher Example, Polygonal Representation Example, Basic Viewer Example

## Conversion of 3D models into user's data

 Scenario: You need to read files from various formats and map 3D data into internal representation (e.g. meshes, geometrical elements, hierarchy of objects, etc). Unlike the simplest scenario "Adding new 3D formats into user's application" above, you want to avoid any interim files and/or to import data you previously could not read (e.g. B-Rep). Solution: Import any file into format-neutral data model, explore assemblies and part hierarchy, B-Rep and/or polygonal representations. Recommendations: Make yourself familiar with details of B-Rep and polygonal representations, parts and assemblies. Example(s): Import Example, Bill of Materials (BOM) Example, B-Rep Representation Example, Polygonal Representation Example, Property Table Example

## Conversion of user's 3D data into 3D formats

 Scenario: Your app is able to create some 3D data (e.g. meshes or precise geometries) which you need to write to various 3D files which will be read by downstream applications accepting standard CAD formats (e.g. STEP, JT, VRML, STL, etc). Solution: Convert your app data into format-neutral data model and export it to any format. Recommendations: Use validity checking to ensure correctness of the constructed data. Save in native XML format and open resulting files in CAD Exchanger GUI to double-check correctness. Example(s): B-Rep Geometry Creation Example, Polygonal Modeling Example, Assembly Modeling Example, Export Example

## Creating 3D models in user's app

 Scenario: You need to model complex B-Rep's and meshes, possibly visualize 3D models and export to CAD formats. Solution: Use various modeling algorithms (primitives, sweeping, etc). Populate format-neutral data model and export it to any format. Recommendations: Use CAD Exchanger GUI to check validity of the resulting files. Example(s): B-Rep Primitives Example, B-Rep Features Example, B-Rep Geometry Creation Example, Assembly Modeling Example, Export Example