Skip to content

BoundingDimensions

BoundingDimensions provides the overall envelope sizes detected for the part or feature described in the drawing. It captures the enclosing cuboid and the enclosing cylinder derived from the drawing’s annotations. These values are especially useful when you need to validate that a component fits within stock material, machining travel, or packaging limits. The object also flags whether the annotations were complete enough to determine the envelope and carries a note explaining any gaps. By consolidating the outer dimensions in one place, the model simplifies downstream calculations such as bounding-box weight estimates, nesting optimizations, or quick capacity checks for additive manufacturing platforms.

Bases: BaseModel

Represents the bounding dimensions of a component.

PARAMETER DESCRIPTION
enclosing_cuboid

The enclosing cuboid of the component.

TYPE: GeometryCuboid | None DEFAULT: None

enclosing_cylinder

The enclosing cylinder of the component.

TYPE: GeometryCylinder | None DEFAULT: None

annotations_complete

Whether the drawing dimensions the component's outermost geometry. False when features that extend the envelope carry no dimension of their own - tabs, winglets, lugs, standoffs, welded-on brackets - in which case the bounding dimensions are a lower bound on the true envelope rather than an exact figure. See completeness_note for the reason.

TYPE: bool DEFAULT: True

completeness_note

Plain-language explanation of why the bounding dimensions are only a lower bound. Set together with annotations_complete=False, and null otherwise.

TYPE: str | None DEFAULT: None

Source code in werk24/models/v2/models.py
class BoundingDimensions(BaseModel):
    """
    Represents the bounding dimensions of a component.
    """

    enclosing_cuboid: Optional[GeometryCuboid] = Field(
        None,
        description="The enclosing cuboid of the component.",
    )
    enclosing_cylinder: Optional[GeometryCylinder] = Field(
        None,
        description="The enclosing cylinder of the component.",
    )
    annotations_complete: bool = Field(
        True,
        description=(
            "Whether the drawing dimensions the component's outermost "
            "geometry. False when features that extend the envelope carry no "
            "dimension of their own - tabs, winglets, lugs, standoffs, "
            "welded-on brackets - in which case the bounding dimensions are a "
            "lower bound on the true envelope rather than an exact figure. "
            "See `completeness_note` for the reason."
        ),
        examples=[True],
    )
    completeness_note: Optional[str] = Field(
        None,
        description=(
            "Plain-language explanation of why the bounding dimensions are "
            "only a lower bound. Set together with "
            "`annotations_complete=False`, and null otherwise."
        ),
        examples=[
            "The winglets on the side panels carry no dimensions, so the "
            "depth is a lower bound and the true envelope is slightly larger."
        ],
    )