Skip to content

Process

Manufacturing involves transforming raw materials or components into finished products using tools, machinery, and chemical procedures.

Manufacturing processes are divided into main groups based on whether they aim to create an initial shape from shapeless material, modify the shape, or change the material properties. When modifying the shape, the cohesion can be maintained, reduced, or increased.

Werk24 extracts the processes from technical drawings and classifies them based on a comprehensive classification system inspired by the DIN 8580:2022-12 standard. It's important to note that while our classification system is based on DIN 8580, we have expanded it to provide more detailed results. If you need even more detailed information, please feel free to contact us. We will do our best to meet your requirements, as long as they don't conflict with the needs of other users.

Categorization of Processes

Werk24 follows the following categorization of processes based on DIN 8580. The categorization allows you to identify the type of processes needed on the part. You can get the detailed categorization in the following link: Werk24's Process Categorization

Models

Extracted information can be accessed from the W24Process Model.

W24Process

Base Model for Processes.

Attributes: blurb (str): Name of the process.

process_type (str): Programmatic name of the
    process.

process_category (List[str]): Categorization
    of the process. See DIN 8580 for details.

Properties

  • blurb (string)

  • process_type (string)

  • process_category (array)

  • Items (string)

Requesting the Processes

from werk24 import Hook, W24AskVariantProcesses, W24AskVariantProcessesResponse
from werk24.models.techread import W24TechreadMessage
from werk24.utils import w24_read_sync

# define a function to read a file and return it as bytes
from . import get_drawing_bytes


def recv_processes(message: W24TechreadMessage) -> None:
    """ print the Processes when we received them
    """
    if message.is_successful:
        # print the response
        print(message.payload_dict)

        # get the response as W24 object
        response = W24AskVariantProcessesResponse.parse_obj(
            message.payload_dict)

    else:
        print("Exceptions occurred: {message.exceptions}")


if __name__ == "__main__":

    # get your drawing bytes from a file or buffer
    drawing_bytes = get_drawing_bytes()

    # define what information you want to receive from the API
    # and what shall be done when the info is available.
    hooks = [Hook(ask=W24AskVariantProcesses(), function=recv_processes)]

    # submit the request to the Werk24 API
    w24_read_sync(drawing_bytes, hooks)

Example Response

Canvas Text: Oxidizing

Werk24's AI returns

'processes': [
            {
                'blurb': 'Oxidizing',
                'process_type': 'OXIDIZING',
                'process_category': [
                    'PROPERTY_ALTERATION',
                    'HEAT_TREATMENT',
                    'THERMOCHEMICAL TREATMENT',
                    'OXIDIZING',
                ],
            },
        ]