Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions werk24/models/v2/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -1408,3 +1408,26 @@ class PrimaryProcessType(str, Enum):
CUTTING = "CUTTING"
TURNING = "TURNING"
MILLING = "MILLING"


class CertificationType(str, Enum):
AS9100 = "AS9100"
CMRT = "CMRT"
COC = "COC"
EAR = "EAR"
EN_9100 = "EN_9100"
FINISHING_CERT = "FINISHING_CERT"
HARDWARE_CERT = "HARDWARE_CERT"
IATF_16949 = "IATF_16949"
ISO_13485 = "ISO_13485"
ISO_14001 = "ISO_14001"
ISO_9001 = "ISO_9001"
ITAR = "ITAR"
JCP = "JCP"
MATERIAL_CERT_DFARS = "MATERIAL_CERT_DFARS"
MATERIAL_CERT_STANDARD = "MATERIAL_CERT_STANDARD"
MATERIAL_TRACEABILITY = "MATERIAL_TRACEABILITY"
NADCAP = "NADCAP"
NIST_800_171 = "NIST_800_171"
REACH = "REACH"
ROHS = "ROHS"
19 changes: 19 additions & 0 deletions werk24/models/v2/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
)

from .enums import (
CertificationType,
CoordinateSpace,
CurvatureType,
DepthType,
Expand Down Expand Up @@ -1271,3 +1272,21 @@ class BoundingDimensions(BaseModel):
None,
description="The enclosing cylinder of the component.",
)


class Certification(BaseModel):
"""
Represents a certification or compliance mark on a part or drawing.
"""

certification_type: CertificationType = Field(
...,
description="The type of certification, such as CE, UL, or ISO.",
examples=[CertificationType.EAR],
)

raw_ocr: Optional[str] = Field(
None,
description="Raw OCR text extracted from the drawing that contains the certification information.",
examples=["Requires Certificate of Compliance"],
)
13 changes: 9 additions & 4 deletions werk24/models/v2/responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
BillOfMaterial,
Bore,
BoundingDimensions,
Certification,
Chamfer,
Dimension,
Entry,
Expand Down Expand Up @@ -153,6 +154,10 @@ class ResponseMetaDataComponentDrawing(Response):
None,
description="Bill of materials for the component, listing parts and quantities.",
)
certifications: List[Certification] = Field(
default_factory=list,
description="List of certifications associated with the component.",
)
designation: list[Entry] = Field(
default_factory=list,
description="Designation of the component.",
Expand All @@ -177,6 +182,10 @@ class ResponseMetaDataComponentDrawing(Response):
default_factory=list,
description="Material options available for the component.",
)
notes: list[Note] = Field(
default_factory=list,
description="List of all notes in the drawing.",
)
projection_method: Optional[ProjectionMethod] = Field(
None,
description="Projection method used in the drawing (e.g., first angle or third angle).",
Expand All @@ -189,10 +198,6 @@ class ResponseMetaDataComponentDrawing(Response):
None,
description="Weight of the component.",
)
notes: list[Note] = Field(
default_factory=list,
description="List of all notes in the drawing.",
)


class ResponseRedaction(Response):
Expand Down
Loading