Skip to content

Bore

Bore describes a cylindrical recess or through-hole that must be machined into the part. The object collects the dimensional callouts that define the bore’s diameter, depth, tolerances, and positional references. It also records notes about surface finish, counterbore or countersink pairings, and associated features such as threads or plugs. When the API encounters a bore specification on the drawing, it normalizes that information into this model so downstream applications can reason about hole-making operations. You can use the object to generate toolpaths, validate machining capabilities, estimate cycle time, or check whether mating fasteners will fit. Because bores are fundamental to mechanical design, the model is designed to capture both simple drilled holes and more complex stepped geometries in a single, consistent structure.

Bases: Feature

Represents a bore feature in an engineering or technical drawing.

PARAMETER DESCRIPTION
reference_id

Reference ID to identify the object.

TYPE: int

label

A short description of the feature in a human-readable format.

TYPE: str

confidence

Confidence in the feature extraction or interpretation.

TYPE: Confidence | None

quantity

The number of bores or instances. Must be at least 1.

TYPE: int

counterbore

The counterbore feature, if present.

TYPE: Counterbore | None DEFAULT: None

countersink

The countersink feature, if present.

TYPE: Countersink | None DEFAULT: None

counterdrill

The counterdrill feature, if present.

TYPE: Counterdrill | None DEFAULT: None

diameter

The diameter of the bore.

TYPE: Size

depth

The depth of the bore.

TYPE: Depth | None

thread

Reference to the reference_id of the associated thread.

TYPE: Reference | None DEFAULT: None

Source code in werk24/models/v2/models.py
class Bore(Feature):
    """
    Represents a bore feature in an engineering or technical drawing.
    """

    quantity: int = Field(
        ...,
        ge=1,
        description="The number of bores or instances. Must be at least 1.",
        examples=[2],
    )
    counterbore: Optional[Counterbore] = Field(
        None, description="The counterbore feature, if present."
    )
    countersink: Optional[Countersink] = Field(
        None, description="The countersink feature, if present."
    )
    counterdrill: Optional[Counterdrill] = Field(
        None, description="The counterdrill feature, if present."
    )
    diameter: Size = Field(
        ...,
        description="The diameter of the bore.",
        examples=[
            Size(
                size_type=SizeType.DIAMETER,
                value=Decimal("10"),
                tolerance=None,
                unit="millimeter",
            )
        ],
    )
    depth: Optional[Depth] = Field(
        ...,
        description="The depth of the bore.",
        examples=[
            Depth(
                size=Size(
                    size_type=SizeType.LINEAR,
                    value=Decimal("50"),
                    tolerance=None,
                    unit="millimeter",
                ),
                depth_type=DepthType.SIZE,
            )
        ],
    )
    thread: Optional[Reference] = Field(
        None, description="Reference to the reference_id of the associated thread."
    )