Skip to content

AskInsights

Request

AskInsights is a request object used to extract high-level insights about a mechanical component from a technical drawing. These insights include manufacturing process recommendations, estimated material volume, and other key considerations for production.

Example Usage

from werk24 import AskInsights, read_example_drawing

read_example_drawing([AskInsights()])

Response

Bases: Response

ResponseInsightsComponentDrawing is the response object corresponding to an AskInsights request. It provides structured insights into the manufacturability and processing of a mechanical component.

PARAMETER DESCRIPTION
ask_version

TYPE: Literal[str] DEFAULT: 'v2'

ask_type

TYPE: Literal[AskType] DEFAULT: <AskType.INSIGHTS: 'INSIGHTS'>

page_type

TYPE: Literal[PageType] DEFAULT: <PageType.COMPONENT_DRAWING: 'COMPONENT_DRAWING'>

dimensions_before_processing

The bounding dimensions of the component before processing.

TYPE: BoundingDimensions | None DEFAULT: None

dimensions_after_processing

The bounding dimensions of the component after processing.

TYPE: BoundingDimensions | None DEFAULT: None

primary_process_options

The primary processing options available for the component.

TYPE: List[Union[PrimaryProcessCutting, PrimaryProcessTurning, PrimaryProcessMilling]]

secondary_processes

The final geometry or shape of the material after processing.

TYPE: List[SecondaryProcess]

volume_estimate

The estimated volume of the component.

TYPE: VolumeEstimate | None DEFAULT: None

Source code in werk24/models/v2/responses.py
class ResponseInsightsComponentDrawing(Response):
    """
    `ResponseInsightsComponentDrawing` is the response object corresponding to an AskInsights request.
    It provides structured insights into the manufacturability and processing of a mechanical component.
    """

    ask_type: Literal[AskType.INSIGHTS] = AskType.INSIGHTS
    page_type: Literal[PageType.COMPONENT_DRAWING] = PageType.COMPONENT_DRAWING

    dimensions_before_processing: Optional[BoundingDimensions] = Field(
        None,
        description="The bounding dimensions of the component before processing.",
    )

    dimensions_after_processing: Optional[BoundingDimensions] = Field(
        None,
        description="The bounding dimensions of the component after processing.",
    )

    primary_process_options: List[PrimaryProcessUnion] = Field(
        ...,
        description="The primary processing options available for the component.",
    )

    secondary_processes: List[SecondaryProcess] = Field(
        ...,
        description="The final geometry or shape of the material after processing.",
    )

    volume_estimate: Optional[VolumeEstimate] = Field(
        None,
        description="The estimated volume of the component.",
    )

Example Output

{
    "ask_version": "v2",
    "ask_type": "INSIGHTS",
    "page_type": "COMPONENT_DRAWING",
    "primary_process_options": [
        {
            "process": "TurningProcess",
            "requires_secondary_milling": true,
        }
    ],
    "secondary_processes": [
        {
            "reference_id": 1,
            "label": "Anodizing",
            "process_category": [
                "COATING",
                "COATING_FROM_IONDIZED_STATE",
                "GALVANIC_COATING",
                "ANODIZING"
            ],
            "confidence": {
                "score": 0.88
            },
        },
    ],
    "volume_estimate": {
        "value": 125.6,
        "unit": "cm³",
        "confidence": {
            "score": 0.94
        }
    }
}