Hide menu
Loading...
Searching...
No Matches
Overview

Manufacturing Toolkit (MTK) is a set of APIs that allows to analyze 3D models, retrieve manufacturing process specific information, identify and collect features (geometric modifications that have been made on the workpiece) and find various possible design issues. The results of the analysis can be used later with other tools to estimate manufacturing costs.

Programming Languages Support

MTK is written in C++ and provides wrappers for C# , Java and Python . This documentation is generated from the original C++ code, and that is why uses C++ API conventions. Nonetheless, understanding MTK API for other languages should be very straightforward, especially if consulting numerous examples.

See also:

CNC Machining

MTK allows to recognize machining features produced by CNC Machining processes (Milling/Drilling/Turning), such as: holes of various types (through, blind, flat-bottom, partial), countersinks, pockets, etc (the full list of features is listed here). Below is a simple recognition example.

3D model Features

To recognize machining features, simply run Machining_FeatureRecognizer on a solid part, as shown below. A list of found features will be returned as the result of recognition.

using namespace cadex;
ModelData::Solid aSolid = ...;
MTKBase_FeatureList aFeatures = aRecognizer.Perform (aSolid);
Defines a list of features.
Definition MTKBase_FeatureList.hxx:36
Provides an interface to recognizing machining features tool.
Definition Machining_FeatureRecognizer.hxx:45
MTKBase_FeatureList Perform(const ModelData::Solid &theSolid, const cadex::ProgressStatus &theProgressStatus=cadex::ProgressStatus())
Runs features recognition process.
Definition Machining_FeatureRecognizer.cxx:301
Defines a topological solid.
Definition Solid.hxx:32
Contains classes, namespaces, enums, types, and global functions related to Manufacturing Toolkit.
Definition LicenseManager_LicenseError.hxx:30

The tool has parameters that affect the result. In order to set them, just add the following lines:

using namespace cadex;
/* set up parameters */
...
aRecognizer.Parameters() = aParam;
Defines parameters used by Machining_FeatureRecognizer.
Definition Machining_FeatureRecognizerParameters.hxx:38
void SetHoleRadiusThreshold(double theHoleRadThreshold)
Definition Machining_FeatureRecognizerParameters.cxx:153

See also:

Design for Manufacturing (DFM) for CNC Machining

CNC Machining product designs start with CAD files and in order to get the manufacturable machining parts. Those CAD files should follow specific machining design guidelines. A Design for Manufacturing (DFM) analysis for CNC Machining can be run on a CAD file in order to find any possible design issues, e.g. small and deep holes, non-standard radius floor fillet, etc. As a result of the analysis, features of the part that don't meet the DFM check criteria will be found.

3D model Issues

See also:

Sheet Metal

MTK allows to recognize sheet metal features, such as: bends, beads, holes, cutouts, etc (the full list of features is listed here). Below is a simple recognition example.

3D Model Features

To start feature recognition of sheet metal part, simply run SheetMetal_FeatureRecognizer on a part, as shown below. A list of found features will be returned as the result of recognition.

using namespace cadex;
ModelData::Shell aShell = ...;
MTKBase_FeatureList aFeatures = aRecognizer.Perform (aShell);
Defines a connected set of faces.
Definition Shell.hxx:32
Provides an interface to recognizing sheet metal features tool. Is used for recognition of features s...
Definition SheetMetal_FeatureRecognizer.hxx:38
MTKBase_FeatureList Perform(const ModelData::Solid &theSolid, const cadex::ProgressStatus &theProgressStatus=cadex::ProgressStatus())
Definition SheetMetal_FeatureRecognizer.cxx:2166

See also:

Design for Manufacturing (DFM) for Sheet Metal

Sheet metal design guidelines are followed to ensure the final product is precise and to reduce costs. Unfortunately, some engineers of sheet metal enclosures and parts do not design with the manufacturing process in mind. This gives manufacturers a hard time fixing errors that could have been avoided in the design stage. For this purpose a Design for Manufacturing (DFM) analysis for Sheet Metal can be run on a CAD file in order to find any possible design issues, e.g. small distance between holes, inconsistent bend radii, etc. As a result of the analysis, features of the part that don't meet the DFM check criteria will be found.

3D model Issues

See also:

Unfolding

In some scenarios it can be useful to unfold a sheet metal part to get the original flat metal sheet which was used to produce this part, for example:

  • computation the dimensions and perimeter of the original metal sheet;
  • association of the current shapes of the sheet metal part with the original flat metal sheet ones;
  • transferring the result to CAD systems to design documentation.

The following pictures illustrate a sheet metal model and its unfolded view.

3D Model
Unfolded View

To get an unfolding of sheet metal part, simply run SheetMetal_Unfolder on a part, as shown below.

using namespace cadex;
ModelData::Shell aShell = ...;
SheetMetal_FlatPattern aFlatPattern = anUnfolder.Perform (aShell);
Describes a flat pattern for sheet metal models.
Definition SheetMetal_FlatPattern.hxx:42
Is used to unfold sheet metal models.
Definition SheetMetal_Unfolder.hxx:39
SheetMetal_FlatPattern Perform(const ModelData::Solid &theSolid, const cadex::ProgressStatus &theProgressStatus=cadex::ProgressStatus())
Runs the unfolding process.
Definition SheetMetal_Unfolder.cxx:395

If a part needs to be processed by SheetMetal_FeatureRecognizer and SheetMetal_Unfolder, you can reduce computation time by running the tools as part of the SheetMetal_Analyzer.Perform(), as shown below.

using namespace cadex;
ModelData::Shell aShell = ...;
SheetMetal_Data aData = anAnalyzer.Perform (aShell);
MTKBase_FeatureList aFeatures = aData.FeatureList();
SheetMetal_FlatPattern aFlatPattern = anUnfolder.Perform (aShell);
Provides an interface to run several analyzer tools.
Definition SheetMetal_Analyzer.hxx:42
void AddTool(const SheetMetal_AnalyzerTool &theTool)
Adds additional tool to run during analyzing process.
Definition SheetMetal_Analyzer.cxx:175
SheetMetal_Data Perform(const ModelData::Solid &theSolid, const cadex::ProgressStatus &theProgressStatus=cadex::ProgressStatus())
Runs analyzing process.
Definition SheetMetal_Analyzer.cxx:149
Contains specific information for sheet metal tools.
Definition SheetMetal_Data.hxx:36
const MTKBase_FeatureList & FeatureList() const
Definition SheetMetal_Data.cxx:68

See also:

Injection Molding

MTK allows to recognize molding features, such as: ribs, screw bosses, etc (the full list of features is listed here). Below is a simple recognition example.

3D model Features

To recognize molding features, simply run Molding_FeatureRecognizer on a solid part, as shown below. A list of found features will be returned as the result of recognition.

using namespace cadex;
ModelData::Solid aSolid = ...;
MTKBase_FeatureList aFeatures = aRecognizer.Perform (aSolid);
Provides an interface to recognizing molding features.
Definition Molding_FeatureRecognizer.hxx:37
MTKBase_FeatureList Perform(const ModelData::Solid &theSolid, const cadex::ProgressStatus &theProgressStatus=cadex::ProgressStatus())
Runs features recognition process.
Definition Molding_FeatureRecognizer.cxx:157

See also:

Design for Manufacturing (DFM) for Molding

Molding designs require meticulous attention to detail to ensure successful manufacturing process. A Design for Manufacturing (DFM) analysis for Molding can be run on a CAD file in order to find any possible design issues, e.g. small draft angles, irregular diameters and heights for ribs and screw bosses, etc. As a result of the analysis, features of the part that don't meet the DFM check criteria will be found.

3D model Issues

See also:

Nesting

The nesting algorithm enables optimal arrangement of 2D patterns on flat materials (e.g., sheet metal, wood, plastic) to minimize waste. The process uses a genetic algorithm to explore and select the most efficient layouts. Only 2D drawings without bend lines are supported. To run nesting, create a Nesting_Computer, set parameters, define materials, and add patterns. The result is Nesting_Data, which can be converted into a drawing. For more details refer to Nesting Process.

The image below shows a possible result generated with the defult configurations:

Draft Nesting Result

See also:

Web apps for Manufacturing

With the help of Manufacturing Toolkit Web (MTK Web) you can build a responsive MaaS (Manufacturing-as-a-Service) solution that will visualize and process 3D CAD files in web apps.

You can use MTK Converter Example to prepare your data for web visualization.

Basic Measurements

MTK contains base algorithms for measurements computing:

Advanced Measurements

MTK contains advanced algorithms for measurements computing: