Skip to content

RetainingRingGroove

The RetainingRingGroove model records a groove for a retaining ring (circlip), on a shaft or in a bore. The drawing names the ring either by a standard (DIN 471 30x1,5 on a shaft, DIN 472 42x1,75 in a bore) or by its manufacturer's designation (Seeger RB 042). It stores the standard, which side the ring sits on, the nominal diameter and ring thickness where the drawing states them, a manufacturer's designation and the manufacturer, the quantity, a normalised label and a confidence score.

  • ring_side is SHAFT for an external ring on a shaft (DIN 471, DIN 6799) and BORE for an internal ring in a bore (DIN 472). It is null when neither the standard nor the wording of the callout says which.
  • nominal_diameter is the diameter of the shaft or bore the ring is for (30 in DIN 471 30x1,5), and ring_thickness the thickness of the ring (1.5). The groove's own width and diameter follow from these in the standard's table.
  • designation is a manufacturer's designation as written (RB 042). It is not decoded into sizes.

Requires werk24 2.9.0 or newer; see Minimum client version.

Example

[
  {
    "reference_id": 14,
    "label": "RETAINING RING GROOVE DIN 471 30x1.5",
    "confidence": {"score": "1.0"},
    "quantity": 1,
    "standard": "DIN 471",
    "ring_side": "SHAFT",
    "nominal_diameter": {"value": "30", "unit": "millimeter", "size_type": "DIAMETER", "tolerance": null},
    "ring_thickness": {"value": "1.5", "unit": "millimeter", "size_type": "LINEAR", "tolerance": null},
    "designation": null,
    "manufacturer": null
  }
]

Bases: Feature

Represents a groove for a retaining ring (circlip), e.g. DIN 471 30x1,5 on a shaft, DIN 472 42x1,75 in a bore, or a ring named by its maker's designation such as Seeger RB 042.

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 retaining ring grooves or instances. Must be at least 1.

TYPE: int

standard

The standard the retaining ring is specified by, as written on the drawing, if one is named.

TYPE: str | None DEFAULT: None

ring_side

Whether the ring sits on a shaft or in a bore, if known.

TYPE: RetainingRingSide | None DEFAULT: None

nominal_diameter

The diameter of the shaft or bore the ring is for (e.g. 30 in DIN 471 30x1,5), if stated.

TYPE: Size | None DEFAULT: None

ring_thickness

The thickness of the ring (e.g. 1.5 in DIN 471 30x1,5), if stated.

TYPE: Size | None DEFAULT: None

designation

The manufacturer's designation of the ring as written on the drawing (e.g. RB 042), if one is used. It is reported as written and not decoded.

TYPE: str | None DEFAULT: None

manufacturer

The manufacturer, if the drawing names one.

TYPE: str | None DEFAULT: None

Source code in werk24/models/v2/models.py
class RetainingRingGroove(Feature):
    """
    Represents a groove for a retaining ring (circlip), e.g.
    `DIN 471 30x1,5` on a shaft, `DIN 472 42x1,75` in a bore, or a ring
    named by its maker's designation such as `Seeger RB 042`.
    """

    quantity: int = Field(
        ...,
        ge=1,
        description="The number of retaining ring grooves or instances. Must be at least 1.",
        examples=[1],
    )
    standard: Optional[str] = Field(
        None,
        description="The standard the retaining ring is specified by, as written on the drawing, if one is named.",
        examples=["DIN 471"],
    )
    ring_side: Optional[RetainingRingSide] = Field(
        None,
        description="Whether the ring sits on a shaft or in a bore, if known.",
        examples=[RetainingRingSide.SHAFT],
    )
    nominal_diameter: Optional[Size] = Field(
        None,
        description=(
            "The diameter of the shaft or bore the ring is for (e.g. `30` in "
            "`DIN 471 30x1,5`), if stated."
        ),
        examples=[
            Size(
                size_type=SizeType.DIAMETER,
                value=Decimal("30"),
                tolerance=None,
                unit="millimeter",
            )
        ],
    )
    ring_thickness: Optional[Size] = Field(
        None,
        description="The thickness of the ring (e.g. `1.5` in `DIN 471 30x1,5`), if stated.",
        examples=[
            Size(
                size_type=SizeType.LINEAR,
                value=Decimal("1.5"),
                tolerance=None,
                unit="millimeter",
            )
        ],
    )
    designation: Optional[str] = Field(
        None,
        description=(
            "The manufacturer's designation of the ring as written on the "
            "drawing (e.g. `RB 042`), if one is used. It is reported as "
            "written and not decoded."
        ),
        examples=["RB 042"],
    )
    manufacturer: Optional[str] = Field(
        None,
        description="The manufacturer, if the drawing names one.",
        examples=["Seeger"],
    )

Bases: str, Enum

Where a retaining ring sits, and so where its groove is cut.

  • SHAFT: an external ring in a groove on a shaft, e.g. DIN 471 or DIN 6799.
  • BORE: an internal ring in a groove in a bore, e.g. DIN 472.
Source code in werk24/models/v2/enums.py
class RetainingRingSide(str, Enum):
    """Where a retaining ring sits, and so where its groove is cut.

    - SHAFT: an external ring in a groove on a shaft, e.g. DIN 471 or
      DIN 6799.
    - BORE: an internal ring in a groove in a bore, e.g. DIN 472.
    """

    SHAFT = "SHAFT"
    BORE = "BORE"