################## Technical Overview ################## **HOOPS AI** empowers users to turn **3D CAD data** into AI-ready datasets and develop specialized **Machine Learning Models** for engineering applications. From part classification and feature detection to data inference and more, **HOOPS AI** is intended to empower users to build AI solutions in a single, streamlined environment. .. figure:: /_assets/images/HOOPS-AI.png :align: center :alt: HOOPS AI, the API to create Machine Learning Models for 3D CAD Data Leveraging the power of `HOOPS Exchange `__ to read Geometrical 3D CAD files from a long list of CAD formats and `HOOPS Visualize for Web `__ to visualize and analyze your 3D data within a web-based graphics, the HOOPS AI SDK is a set of Python libraries that enable development teams to quickly and reliably bring Artificial Intelligence into the 3D Computer Aided Design world. **HOOPS** AI is designed not only for **CAD engineers** who want to leverage their data for machine learning, but also for **data scientists** aiming to solve CAD-specific problems or more. .. sidebar:: Contents .. contents:: :local: Typical Use Cases ===================================== HOOPS AI can be used to develop Machine Learning models in several domains, such as: * **Feature Recognition & Part Classification** – Automatically identify features (holes, ribs, bosses) and categorize components across large CAD libraries. * **Similarity Search & Design Clustering** – Find and group geometrically similar parts to reduce duplication and streamline reuse. * **Shape-to-Business Correlation** – Map and predict manufacturing or business attributes directly from 3D geometry (e.g., cost drivers, machining complexity, supplier classification, or lead time). * **Generative & Autocompletion Tasks** – Predict missing geometry or propose design variations based on learned representations. * **Data Mining & Trend Analysis** – Uncover relationships between design patterns, performance metrics, and production outcomes across product portfolios. Check our :doc:`Public Roadmap ` page for new features and use cases as soon as they’re released. Architectural Overview ===================================== HOOPS AI facilitates machine learning workflows with 3D CAD by providing: * **Access** to Geometrical & Topologilca 3D CAD data * **Encoding** and management of datasets * **Control** over data pipelines * **Training of models** using either pre-built architectures or custom machine learning frameworks .. figure:: /_assets/images/ml-framework.png :alt: Bridge between CAD Data and Machine Learning ============================================ In order to bring CAD and AI together, the framework is composed of two main parts: 1. **CAD Data Handling** - Deals with CAD data. It is composed of two modules: **CAD Access** and **CAD Encode**. 2. **Machine Learning** - Handles the machine learning processes including a module for managing **Dataset** and another for performing **Training & Prediction** , either using pre-built architectures or your own custom ML architecture. **The Modules:** * :doc:`CAD Access ` - **Read 30 + CAD formats via HOOPS Exchange; extract geometry, assemblies, features, and metadata in Python.** This is the CAD Data access module based on Python enabling users to load any CAD file using the ``CADLoader``. It provides a high-level view of the CAD model data for machine learning (ML) tasks and allows detailed data retrieval through Access objects. .. figure:: /_assets/images/cad-access.png :alt: * :doc:`CAD Encode ` - **Convert models into structured ML-ready formats—matrices, graphs, or tensors capturing geometry + semantics.** Transforms raw CAD data into encoded data suitable for ML workflows. It bridges the gap between CAD data and ML input. The ``BrepEncoder`` object converts CAD Brep data into a numeric matrix representation based on a graph structure, which can be directly consumed as a tensor in ML processes. .. figure:: /_assets/images/cad-encode.png :alt: * :doc:`Datasets ` & :doc:`Storage ` - **Clean, label, analyze, and split datasets in a few lines of code.** The dataset module provides comprehensive tools for navigating, exploring, and loading CAD model datasets in machine learning workflows. This module bridges the gap between processed CAD data (generated through CAD Data Encoding and Flow Management) and machine learning training pipelines and consists of three core components that work together to simplify data handling and eliminate the complexities of direct data manipulation: ``DatasetExplorer``, ``DatasetLoader`` & ``GraphDataset``. The Storage module provides the persistence layer for HOOPS AI. It defines interfaces and implementations for saving and loading CAD-encoded data, graph structures, training metrics, and labels across different storage backends. It consists of six submodules, each addressing a specific persistence requirement: ``DataStorage``, ``GraphStorage``, ``DatasetStorage``, ``LabelStorage``, ``MetricStorage`` & ``CADFileRetriever``. .. figure:: /_assets/images/cad-dataset.png :alt: * :doc:`Training and Prediction ` - **Ready-to-use ML models for part classification, feature recognition, and representation learning (≈ 80 % accuracy out-of-the-box).** HOOPS AI includes ready-to-train modules that make it easy to integrate existing machine learning models for specific tasks such as *Part Classification*, *Part Segmentation*, *CAD Features Detection* and *more* using the ``FlowTrainer`` and ``FlowInference`` functions. .. figure:: /_assets/images/cad-ml.png :alt: * :doc:`Flow Management ` - **Orchestrates datasets and parallel experiments with full reproducibility.** Complex CAD processing and machine learning workflows require coordinating multiple steps—gathering CAD files, extracting features, building graph structures, preparing datasets, and training models. Managing these interdependent steps manually becomes error-prone and difficult to maintain, especially when processing large numbers of files across multiple CPU cores. The *Flow Management* system addresses these challenges by providing a structured framework for building modular, reusable, and parallel processing pipelines. .. figure:: /_assets/images/cad-flow.png :alt: HOOPS AI ready to train models ============================== * **Parts Classification & Segmentation** Classification is when the computer looks at a whole thing and decides what it is - ``This is a chair``. Segmentation is when the computer looks at the thing and decides which part is which - ``This part is the seat, this part is the backrest, and these are the legs`` So, classification labels the entire object, while segmentation labels the pieces inside it. The U-Net architecture is a type of AI model originally designed for image segmentation. It learns to recognize and separate different objects within an image. Building upon this concept, UVNet extends the U-Net architecture to handle 3D CAD-specific data, such as Brep surfaces and topology. This adaptation makes it particularly effective for part classification and segmentation in engineering workflows, where geometric precision and topological relationships are key. Part segmentation architectures are designed to divide 3D objects or CAD models into meaningful parts. These models analyze 3D geometry (such as point clouds, meshes, or Breps) and assign a label to each region or surface, enabling machines to understand object structure in detail. ``GraphClassification`` from the ``FlowModel`` abstract interfacen is designed for classification of entire B-rep (Boundary representation) models/parts. It implements a graph-level classification approach on Part classification & CAD model categorization. GraphNodeClassification * **CAD Feature Recognition** Designed for classification of individual B-Rep faces within CAD models. ``GraphNodeClassification`` implements a node-level classification approach on a graph representation ideal for Face segmentation, machining feature recognition, semantic labeling of CAD model faces. * **Develop your own ML model** ``FlowModel`` allows users to provide their proper custom strategies to define the behavior of each method, enabling maximum flexibility to build your own Machine Learning Model depending on your desired Use Case. .. figure:: /_assets/images/ml.png :alt: Visualize 3D in a web-based graphics environment ================================================ HOOPS AI also allows you to visualize and analyze your 3D CAD Data & Datasets within a web-based graphics environment built on top of HOOPS Visualize for Web, enabling interactive exploration and deeper insights directly in the browser. This is your dashboards for debugging, interpreting results, and correlating hyperparameters with performance. .. figure:: /_assets/images/ai-viewer.png :alt: HOOPS AI is the missing link between CAD and AI—a Python-based, modular framework combining interoperability, Machine Learning orchestration, and scalability to power the next generation of intelligent engineering applications.