Hide menu
Loading...
Searching...
No Matches
Examples and Tutorials

The list below contains a full list of available examples and step-by-step tutorials. The source code is included into the package or is available in our GitHub repo.

Some examples are made in the form of interactive demos enabled by the Web Toolkit, some are simple console apps available in one or several supported programming languages. Some are enabled by the Desktop Visualization Toolkit.

Refer to the installation page for details on building and running.

Tutorials

Step-by-step tutorials that demonstrate various use cases.

CAD Exchanger SDK is a very versatile toolkit, so there is no frequenly used scenario a single step-by-step tutorial would demonstrate. Multiple SDK components might deserve their own tutorials, therefore just a few ones have been collected here. Make sure you also explore demos and examples that match your use case.

Web Toolkit TutorialStep-by-step tutorial how to create a simple interactive application using Web Toolkit.
CNC Machining TutorialStep-by-step tutorial how to retrieve CNC machining data and show it in Web Toolkit based application.
Sheet Metal TutorialStep-by-step tutorial how to retrieve sheet metal data and show it in Web Toolkit based application.

Demos

Demonstrations of complex feature-rich usage scenarios.

Advanced Web Viewers

Conversion

Import and export 3D files in different formats.

Import ExampleReads an external CAD file and translates its contents into a 3D model in memory.
Export ExampleConverts a 3D model in memory and writes it to a target CAD file.
Transfer ExampleConverts a file from one CAD format to another.
Transfer with Parameters ExampleConfigures the conversion and maps a file from one CAD format to another.
CDXWEB Converter ExampleConverts a CAD file to CDXWEB format used in Web Toolkit.

Model Exploration and Analysis

Explore contents of the CAD and BIM models imported from external files or created from scratch.

MCAD model

Bill of Materials (BOM) ExampleTraverses the product structure and computes the number of instances of unique parts and assemblies.
B-Rep Geometry Exploration ExampleExplores and prints out the information about topological shapes and their geometry from B-Rep representation.
B-Rep Representation ExampleExplores topological and geometrical entities inside a B-Rep representation: faces, edges, curves, surfaces, etc.
Polygonal Representation ExampleExplores triangulation, polylines and point sets inside a polygonal representation.
Appearance ExampleCollects colors and materials attached to product structure elements, B-Rep and polygonal representations.
Property Table ExampleExplores user-defined properties ({name, value} pairs) attached to various entities inside a 3D model.
Layers ExampleExplores layers holding various entities inside a 3D model.
Transformation ExampleComputes global transformation matrix while traversing the product structure with local transformation matrices attached to assembly or part instances.
PMI ExampleExplores PMI entities attached to various entities inside a 3D model.
Configurations ExampleComputes the number of configurations and their names.
Drawings ExampleTraverses the drawing structure and computes the number of drawing elements and 2D Geometry entities.

Building Information Modeling (BIM)

BIM Model Exploring ExampleReads and translates an external IFC file into a BIM model. Explores BIM elements and counts BIM types occurrence.

Measurements

Measures various geometrical properties of a 3D model.

Validation Properties ExampleComputes volume, area, center of gravity and bounding box of a 3D model.
Wall Thickness Analyzer ExampleDemonstrates how to compute minimum and maximum wall thickness of a 3D model and print the result in a console.

Meshing

Use various mesh generators to create polygonal representations.

Level of Details (LOD's) ExampleCreates a part with multiple polygonal representations corresponding to different mesh granularity settings.
Visualization Mesher ExampleUses the fastest mesher to create triangulation suitable for visualization and other purposes.
Netgen Mesher ExampleUses the Netgen mesher to create higher quality meshes suitable for FEA (Finite Element Analysis).
Mefisto Mesher ExampleUses the Mefisto mesher to create meshes also suitable for FEA.
Remeshing ExampleForce usage of specific mesh for export or further processing.

Modeling

Create 3D models (parts and assemblies) from scratch using various B-Rep and mesh modeling techniques.

B-Rep Geometry Creation ExampleDemonstrates creation of all curve and surfaces types, all topological entities (vertex, edge, face, etc) and all body types (solids, sheet, wireframe).
B-Rep Primitives ExampleUses solid primitives (box, cylinder, cone, sphere, torus) to construct a 3D model.
B-Rep Features ExampleUses extrusion and revolution operations to construct a 3D model.
Polygonal Modeling ExampleBottom-up creation of triangulation, polyline and point sets from 3D points.
Metadata ExampleAttaches meta-data (names, colors, user-defined properties) to a part and B-Rep sub-shapes.
Assembly Modeling ExampleCreates an assembly of several instances of a nut-and-bolt sub-assembly.
Element Removal ExampleModifies the model by removing scene graph elements with a given name.

Web Visualization Toolkit

Visualize, explore and analyze 3D CAD models in web applications using Web Toolkit.

Web Toolkit TutorialStep-by-step tutorial how to create a simple interactive application using Web Toolkit.


Desktop Visualization Toolkit

Create 3D scenes and work with them via interactive 3D views using Desktop Visualization Toolkit.

Basic Viewer ExampleDemonstrates out-of-the-box capabilities of a 3D viewer.
Customized Viewer ExampleSetting user-defined background style, viewcube position and other styles.
Selection Handling ExampleDemonstrates enabling interactive object selection, various selection modes and filters, as well as attachment of user-defined data.
Measurements ExampleDemonstrates performing various measurements (coordinates, angles, diameters, distances, etc) between B-Rep shapes.
Manipulator ExampleDemonstrates how to use the manipulator object to interact with a scene nodes transformations.
PMI Viewer ExampleDemonstrates how to display graphical PMI stored in the model.
Exploder ExampleDemonstrates how to create an exploded view for any models.
Drawing Viewer ExampleDemonstrates how to display a drawing stored in the model.
Offscreen Rendering ExampleDemonstrates how to capture images of the model for thumbnail generation and other uses.

Modification

Modify 3D models using various techniques.

Coloring ExampleDemonstrates how to modify appearance properties of a model using the visitor pattern.

Model Simplification

Create simplified representations of models.

Mesh Simplification ExampleComputes simplified representation of mesh model.
BRep Simplification ExampleComputes simplified representation of BRep model.

Manufacturing Toolkit

Demonstrate using Manufacturing Toolkit.

CNC Machining

Analyze a 3D model to extract data / help with design in CNC Machining process.

CNC Machining TutorialStep-by-step tutorial how to retrieve CNC machining data and show it in Web Toolkit based application.
CNC Machining Feature Recognizer ExampleDemonstrates how to perform recognition of machining features on a 3D model and print information about found features and their parameters in a console.
CNC Machining DFM Analyzer ExampleDemonstrates how to perform machining design analysis on a 3D model and print information about found issues and their parameters in a console.

Sheet Metal

Analyze a 3D model to extract data / help with design in Sheet Metal process.

Sheet Metal TutorialStep-by-step tutorial how to retrieve sheet metal data and show it in Web Toolkit based application.
Sheet Metal Feature Recognizer ExampleDemonstrates how to perform recognition of sheet metal features on a 3D model and print information about found features and their parameters in a console.
Sheet Metal Unfolder ExampleDemonstrates how to perform unfolding of 3D model and saves it as DXF 2D drawing.
Sheet Metal DFM Analyzer ExampleDemonstrates how to perform sheet metal design analysis on a 3D model and print information about found issues and their parameters in a console.

Miscellaneous

Various helper tools used in other MTK examples.

MTK Converter ExampleDemonstrates how to generate view and manufacturing information files for the imported model, that can be easily acessed through web interface for downstream analysis.
Model Explore Helper ImplementationImplementation of classes that help to explore model BRep representation of a part in Manufacturing Toolkit examples.
Feature Group Helper ImplementationImplementation of classes that help to group and print information about found features and their parameters in Manufacturing Toolkit examples.

Eyeshot Integration

Use CAD Exchanger to import CAD models in Eyeshot.

Eyeshot Conversion ExampleReads an external CAD file and translates its contents into Eyeshot objects at runtime.

Unity Integration

Use CAD Exchanger to import CAD models into the Unity game engine.

Unity Base Viewer ExampleReads an external CAD file and translates its contents into Unity objects at runtime.
Unity PMI Viewer ExampleReads an external CAD file along with PMI and translates its contents into Unity objects at runtime.
Unity Edit Mode Import ExampleReads an external CAD file and translates its contents into Unity objects in Edit Mode.
Unity Edit Mode Export ExampleTranslates Unity objects into external CAD file in Edit Mode.

UNIGINE Integration

Use CAD Exchanger to import CAD models in UNIGINE.

UNIGINE Runtime Import ExampleReads an external CAD file and translates its contents into UNIGINE objects at runtime.

Miscellaneous

Various scenarios including progress bar, logging, and integration with 3rd party libraries.

Logging ExampleDemonstrates use of a custom logger to collect errors, warnings and information messages during files import.
Progress Bar ExampleUses a custom progress status observer to receive notifications of the algorithm progress.
Progress Bar with Qt ExampleQt-based graphical app displaying a progress bar and demonstrating cancellation of file import or mesh generation.