Skip to content

Title Block

WERK24's Title Block feature allows you the programmatic access of information stored on a drawing's title block. We know, your drawings contain a variety of Title Block formats, we understand most of them. WERK24 understands complexities in the Title Blocks Fields and the Title Block Frame that are explained in the section below.

If you ever come across new types of Title Blocks, do reach out to us, we are happy to implement them for you.

Title Block Challenges

In the technical drawings, there exist various challenges associated with the title block. Werk24 categorizes these challenges into two types:

  • Title Block Fields, which encompass difficulties related to the written components within the title block

  • Title Block Frame, which refers to the issue of low-quality title block lines leading to misinterpretation.

(1) Title Block Fields

  • Missing Captions. To the human reader it is obvious that “Screw M3x100” is a designation (and not a drawing number or a material number 3.100 with a misread ‘x’). Because of this “obvious to humans”-phenomenon, the Designation field is frequently drawn without caption.

  • Captions in neighboring cells. Some drawings show the caption of titles on a neighboring cell. The caption can be below, above or to one side. Often the true association between caption and value can only be determined by a process of elimination.

  • Non-Standard values. The Title Block fields are free-text blocks that are filled out by the individual designer. We do our best to deal with all the creative deviations from the standards. Take the DIN ISO 2768-1-m / DIN ISO 2768-2-K in the title block below as an example. From WERK24 you receive "DIN ISO 2768-m-K-E" with the corresponding toleration tables.

(2) Title Block Frame

  • Low Quality/Scanned. : Title Blocks from scanned/old drawings where the quality of the title block frame is compromised due to scanning. WERK24's AI understands these low quality title blocks.

Models

The data models are defined in the following models:

Extracted information can be accessed from the W24TitleBlock Model.

W24TitleBlock

Information that could be extracted from the Title Block.

Attributes:

designation: Designation of the Sheet on the Title Block

drawing_id: Main Identification Number of the Drawing

part_ids: List of Part IDs that are located on the drawing.
    Keep in mind that the drawing might define multiple
    variants that each specify their own part id

reference_ids: List of additional reference IDs
    detected on the Drawing

general_tolerances: General Tolerances quoted on the TitleBlock

material: Material which is quoted on the TitleBlock

weight: Weight as read from the TitleBlock. NOTE: this is not
    cross-checked with the material and volume of the part,
    but provided as it was read on the TitleBlock.

filename_drawing: Filename of the drawing if it is explicitly
    indicated on the title block

colors: List of colors detected on the TitleBlock or in the
    canvas notes.

Properties

  • designation: Refer to #/definitions/W24CaptionValuePair.

  • drawing_id: Refer to #/definitions/W24CaptionValuePair.

  • part_ids (array): Default: [].

  • Items: Refer to #/definitions/W24CaptionValuePair.

  • reference_ids (array)

  • Items: Refer to #/definitions/W24CaptionValuePair.

  • general_tolerances: Refer to #/definitions/W24GeneralTolerances.

  • material: Refer to #/definitions/W24Material.

  • weight: Refer to #/definitions/W24Weight.

  • filename_drawing: Refer to #/definitions/W24Filename.

  • colors (array): Default: [].

  • Items: Refer to #/definitions/W24PropertyColor.

Definitions

  • W24BaseFeatureCoordinate (object): Coordinate point
    Attributes: x: x position normalized by the thumbnail's width
    y: y position normalized by the thumbnail's height.

  • x (number)

  • y (number)

  • W24BaseFeaturePosition (object): Position of the Feature on the individual thumbnails normalized by the width and height of each thumbnail.
    Each features position is indicated as a list of coordinates. If the list only has two elements, you are dealing with a line. If it has four or more, you are looking at a polygon
    Attributes: page: Position of the Feature on the Page thumbnail
    sheet: Position of the Feature on the Sheet thumbnail
    sectional: Position of the Feature on the Sectional thumbnail.

  • sheet (array)

    • Items: Refer to #/definitions/W24BaseFeatureCoordinate.
  • canvas (array)

    • Items: Refer to #/definitions/W24BaseFeatureCoordinate.
  • sectional (array)

    • Items: Refer to #/definitions/W24BaseFeatureCoordinate.
  • W24Language (string): Enum of supported languages following the naming convention of ISO/639-2B. Must be one of: ['DEU', 'DUT', 'ENG', 'FRA', 'ITA', 'SPA', '__UNK__'].

  • W24TitleBlockItem (object): Per-Language caption or value
    Attributes:
    language: Language in accordance with the ISO/639-2B standards
    text: Text of the identification.

  • position: Refer to #/definitions/W24BaseFeaturePosition.

  • language: Refer to #/definitions/W24Language.

  • text (string)

  • W24CaptionValuePair (object): Caption-Value pair for that were found on the Title Block.
    Attributes:
    blurb: Caption-Value pair for human consumption
    captions: List of captions in different languages. This will only return the languages that were detected and NOT translate the captions into languages that are not present on the drawing. This behavior might however change in the future.

  • blurb (string)

  • captions (array)

    • Items: Refer to #/definitions/W24TitleBlockItem.
  • values (array)

    • Items: Refer to #/definitions/W24TitleBlockItem.
  • W24GeneralTolerancesStandard (string): Enum of all supported General Tolerance Standards. Must be one of: ['DIN 7168', 'ISO 2768', 'ISO 4759-1', 'DEFINED_ON_SHEET'].

  • W24GeneralTolerancesPrinciple (string): Enum of the supported General Tolerance Principles. Must be one of: ['INDEPENDENCE', 'ENVELOPE'].

  • W24ToleranceProperty (string): Enum of all attributes that can be described by general tolerances. Must be one of: ['ANGULAR', 'FLATNESS', 'LINEAR', 'PERPENDICULARITY', 'RADIUS', 'RUNOUT', 'STRAIGHTNESS', 'SYMMETRY'].

  • W24ToleranceTableItem (object)

  • nominal_min (number)

  • nominal_max (number)

  • deviation_min (number)

  • deviation_max (number)

  • W24ToleranceClass (object): Tolerance Class which matches an individual attribute of the General Tolerances to a tolerance property and tolerance table
    Attributes: blurb: Tolerance class label for human consumption
    property: Property that is being tolerated
    table: Rows of the tolerance table that correspond to the selected tolerance class.

  • blurb (string)

  • property: Refer to #/definitions/W24ToleranceProperty.

  • table (array)

    • Items: Refer to #/definitions/W24ToleranceTableItem.
  • W24GeneralTolerances (object): Object representing the General Tolerances indicated on the Title Block of the Technical Drawing.

  • position: Refer to #/definitions/W24BaseFeaturePosition.

  • blurb (string)

  • tolerance_standard: Refer to #/definitions/W24GeneralTolerancesStandard.

  • principle: Refer to #/definitions/W24GeneralTolerancesPrinciple.

  • angular_class: Refer to #/definitions/W24ToleranceClass.

  • flatness_class: Refer to #/definitions/W24ToleranceClass.

  • straightness_class: Refer to #/definitions/W24ToleranceClass.

  • linear_class: Refer to #/definitions/W24ToleranceClass.

  • radius_class: Refer to #/definitions/W24ToleranceClass.

  • runout_class: Refer to #/definitions/W24ToleranceClass.

  • symmetry_class: Refer to #/definitions/W24ToleranceClass.

  • perpendicularity_class: Refer to #/definitions/W24ToleranceClass.

  • W24MaterialCategory1 (string): An enumeration. Must be one of: ['FERROUS_ALLOY', 'NONFERROUS_ALLOY', 'POLYMER', 'CERAMIC', 'COMPOSITE', 'ORGANIC'].

  • W24MaterialCategory2 (string): An enumeration. Must be one of: ['STEEL', 'IRON', 'MAGNETIC_OR_ELECTRICAL_MATERIAL', 'SINTERED_POWDEDERD_METAL', 'WELDING_FILLER_MATERIAL', 'ALUMINUM', 'ANTIMONY', 'BERYLLIUM', 'BISMUTH', 'CADMIUM', 'CHROMIUM', 'COBALT', 'COPPER', 'GALLIUM', 'LEAD', 'MAGNESIUM', 'MANGANESE', 'MERCURY', 'MOLYBDENUM', 'NICKEL', 'NIOBIUM', 'PLATINUM', 'REAR_EARTHS', 'SELENIUM', 'SILICON', 'THALLIUM', 'TIN', 'TITANIUM', 'TUNGSTEN', 'VANADIUM', 'ZINC', 'ZIRCONIUM', 'THERMOPLAST', 'THERMOSET', 'THERMOPLASTIC_ELASTOMER', 'THERMOSET_ELASTOMER', 'POLYMER_FOAM', 'REFRACTORY', 'TECHNICAL_CERAMIC', 'CERAMIC_FOAM', 'MATRIX', 'REINFORCEMENT', 'WOOD'].

  • W24MaterialCategory3 (string): An enumeration. Must be one of: ['STRUCTURAL_OR_CONSTRUCTIONAL_STEEL', 'STAINLESS_STEEL', 'TOOL_STEEL', 'CAST_STEEL', 'CAST_IRON', 'FERROALLOY', 'ABS', 'ABS_PC', 'ABS_PLUS_PA', 'ABS_PLUS_PA6', 'ABS_PLUS_PA66', 'ABS_PLUS_PBT', 'ABS_PLUS_PC', 'ABS_PLUS_PET', 'ABS_PLUS_PMMA', 'ABS_PLUS_PVC', 'ABS_PLUS_PVC_C', 'ABS_PLUS_SAN', 'ABS_PLUS_TPE', 'ABS_PLUS_TPES', 'ABS_PLUS_TPU', 'ABS_PP', 'ACPES', 'AES', 'AES_PLUS_PC', 'ASA', 'ASA_PC', 'ASA_PLUS_ABS', 'ASA_PLUS_AES', 'ASA_PLUS_MSAN', 'ASA_PLUS_PA', 'ASA_PLUS_PC', 'ASA_PLUS_PMMA', 'ASA_PLUS_SAN', 'ASA_PLUS_TPE', 'BMI', 'BVOH', 'CAB', 'CAP', 'CE', 'COC', 'CP', 'CPE', 'CPT', 'E_P', 'EA', 'EAA', 'EBA', 'EBACO', 'EC', 'ECTFE', 'EEA', 'EFEP', 'EMAA', 'EMAAA', 'ENBAGMA', 'ETFE', 'EVA', 'EVACO', 'EVOH', 'FEP', 'HDPE', 'HIPP', 'HIPS', 'IONOMER_RESIN', 'LCP', 'LCP_PLUS_PPS', 'LDPE', 'LDPE_EVA', 'LDPE_LLDPE', 'LLDPE', 'LMDPE', 'MABS', 'MBS', 'MDPE', 'MFA', 'PA', 'PA_MACM10_1010', 'PA_MACM12', 'PA_MACM12_PLUS_PA_12', 'PA_MXD6', 'PA_MXD6_MXDI', 'PA_PACM12', 'PA_PLUS_HDPE', 'PA_PLUS_PA66_6', 'PA_PLUS_PE', 'PA_PLUS_PP', 'PA_PLUS_PPA', 'PA_PLUS_SPS', 'PA_PLUS_TPE', 'PA_TPE', 'PA1010', 'PA1012', 'PA10T_X', 'PA11', 'PA12', 'PA12_MACMI', 'PA12_MACMI_PLUS_PA12', 'PA410', 'PA46', 'PA46_PLUS_PA6', 'PA4T', 'PA510', 'PA6', 'PA6_12', 'PA6_3T', 'PA6_66_12', 'PA6_66_136', 'PA6_66_610', 'PA6_69', 'PA6_6I', 'PA6_6T', 'PA6_IPDI', 'PA6_PA12', 'PA6_PLUS_ASA', 'PA_6_PLUS_PA_6I_6T', 'PA6_PLUS_PA12', 'PA6_PLUS_PA12_X', 'PA6_PLUS_PA66', 'PA6_PLUS_PA66_6', 'PA6_PLUS_PE', 'PA6_PLUS_PP', 'PA610', 'PA612', 'PA66', 'PA66_6', 'PA66_610', 'PA66_PLUS_PA610', 'PA66_PLUS_PA612', 'PA66_PLUS_PA6I', 'PA66_PLUS_PA6I_6T', 'PA66_PLUS_PA6I_X', 'PA66_PLUS_PE', 'PA66_PLUS_PP', 'PA66_PLUS_PPA', 'PA69', 'PA6I', 'PA6I_6T', 'PA6I_X', 'PA6T', 'PA6T_66', 'PA6T_XT_PLUS_PA6T_66', 'PA6T_6I', 'PA6T_6I_66', 'PA6T_MPMDT', 'PA6T_XT', 'PA9T', 'PAEK', 'PAI', 'PAMXD6_PA66', 'PAO', 'PAR', 'PARA', 'PB', 'PBAT', 'PBAT_PLUS_PLA', 'PBI', 'PBS', 'PBT', 'PBT_ASA', 'PBT_PC', 'PBT_PLUS_ASA', 'PBT_PLUS_PE', 'PBT_PLUS_PET', 'PBT_PLUS_PET_PLUS_ASA', 'PBT_PLUS_PETG', 'PBT_PLUS_PPE', 'PBT_PLUS_PS', 'PBT_PLUS_SAN', 'PC', 'PC_PET', 'PC_PLUS_HIPS', 'PC_PLUS_MBS', 'PC_PLUS_PBT', 'PC_PLUS_PCT', 'PC_PLUS_PET', 'PC_PLUS_PET_PLUS_PBT', 'PC_PLUS_PLA', 'PC_PLUS_PMMA', 'PC_PLUS_PPC', 'PC_PLUS_PS', 'PC_PLUS_PTFE', 'PC_PLUS_SAN', 'PC_PLUS_TPES', 'PC_PLUS_TPU', 'PC_PPC', 'PCL', 'PCT', 'PCTA', 'PCTFE', 'PCTG', 'PCTG_PLUS_PC', 'PE', 'PE_HMW', 'PE_HMWHD', 'PE_PLUS_HIPS', 'PE_UHMW', 'PEEK', 'PEI', 'PEI_PLUS_PCE', 'PEK', 'PEKEKK', 'PEKK', 'PEN', 'PESU', 'PET', 'PET_G', 'PET_PLUS_PA6', 'PET_PLUS_PA66', 'PEX_B', 'PFA', 'PFSA_PTFE', 'PGA', 'PHA', 'PHB', 'PHBV', 'PI', 'PIB', 'PK', 'PLA', 'PLA_PCL', 'PLA_PEG', 'PLA_PHA', 'PLA_PLUS_ABS', 'PLA_PLUS_HDPE', 'PLA_PLUS_PHB', 'PLA_PLUS_PMMA', 'PLGA', 'PMMA', 'PMMI', 'PMP', 'PMS', 'POM', 'POM_PLUS_MBS', 'POM_PLUS_PE', 'POM_PLUS_PTFE', 'POM_PLUS_PUR', 'PP', 'PP_PE', 'PP_PLUS_EPDM', 'PP_PLUS_EPR', 'PP_PLUS_EVA', 'PP_PLUS_PE', 'PP_PLUS_PPE_PLUS_PS', 'PPA', 'PPC', 'PPE', 'PPE_PLUS_HIPS', 'PPE_PLUS_PA', 'PPE_PLUS_PA6', 'PPE_PLUS_PA66', 'PPE_PLUS_PP', 'PPE_PLUS_PS', 'PPE_PLUS_PS_PLUS_PA', 'PPE_PLUS_TPE', 'PPE_PLUS_TPS_SEBS', 'PPOX', 'PPS', 'PPS_PLUS_PA', 'PPS_PLUS_PPE', 'PPS_PLUS_PTFE', 'PPSU', 'PPSU_PLUS_PSU', 'PS', 'PS_I', 'PS_PLUS_PE', 'PS_PLUS_PMMA', 'PS_PLUS_SPS', 'PSU', 'PSU_PLUS_ABS', 'PSU_PLUS_PC', 'PTFE', 'PTT', 'PVAL', 'PVB', 'PVC', 'PVC_C', 'PVC_C_PLUS_PVC', 'PVC_PLUS_NBR', 'PVC_PLUS_PMMA', 'PVC_PLUS_PUR', 'PVC_U', 'PVCA', 'PVDC', 'PVDF', 'PVP', 'RPS', 'SAN', 'SB', 'SMA', 'SMA_PLUS_HIPS', 'SMI', 'SMMA', 'SPS', 'SRP', 'TPC_EE_PLUS_PBT', 'TPC_ET_PLUS_EMA', 'TPC_ET_PLUS_PBT', 'TPES', 'TPU_PLUS_TPS_PLUS_TPA', 'VDF_CTFE', 'VDF_HFP', 'VINYL_CHLORIDE_BLEND', 'VLDPE', 'XLPE', 'XLPO', 'CA', 'EP', 'MA', 'MF', 'MP', 'PDAIP', 'PDAP', 'PUR', 'UF', 'UP', 'VE', 'MPR', 'PCU', 'PEBA', 'SPU', 'TPA', 'TPC', 'TPC_EE', 'TPC_ES', 'TPC_ET', 'TPE', 'TPO', 'TPO_EB', 'TPO_EO', 'TPO_EPDM_PLUS_PP', 'TPS', 'TPS_SBS', 'TPS_SEBS', 'TPS_SIS', 'TPU', 'TPU_ALES', 'TPU_ALET', 'TPU_ARES', 'TPU_ARET', 'TPU_ES', 'TPU_ET', 'TPV', 'TPV_EPDM', 'TPV_EPDM_PLUS_PP', 'TPV_IIR_HIIR', 'TPV_NBR', 'TSPCU', 'TSPU', 'ACM', 'ACSM', 'AEM', 'AU', 'BIIR', 'BR', 'CIIR', 'CM', 'CR', 'CR_NBR', 'CR_SBR', 'CSM', 'ECO', 'EPDM', 'EPDM_SBR', 'EPM', 'EPM_EPDM', 'EPT', 'EU', 'FFKM', 'FKM', 'FMQ', 'FVMQ', 'HNBR', 'IIR', 'IR', 'IR_BR', 'NBR', 'NBR_PVC', 'NBR_SBR', 'NR', 'PDMS', 'PUMA', 'PVMQ', 'RET', 'SBR', 'SBR_ACM', 'SBR_BR', 'SBR_IR', 'SBR_NR', 'SI', 'VMQ', 'VMQ_PVMQ', 'XNBR', 'XNBR_PVC', 'CARBON_FIBER_COMPOSITE', 'GLASS_FIBER_COMPOSITE', 'FIBER_REINFORCEMENT', 'STRUCTURAL_COMPOSITE', 'POLYPHENYLENE_OR_POLYSTYRENE', 'POLYPHENYLENE_OR_POLYSTYRENE_HIPS', 'POLYCARBONATE'].

  • W24Material (object): W24 Object for Materials.
    Parsed Material object that can either be associated to the TitleBlock or derived from all the available information (including the text on the canvas.
    Attributes: blurb: Material Name for human consumption. This will typically include the designation and the standard.
    standard: Material Standard indicated on the technical drawing. This used to be an enum - but we now have over 100 supported material standards and the number is increasing weekly. So a string seems to be more appropriate.
    designation: Name of the material in accordance with the material standard. An alternative name would be material_designation.
    material_category: Categorization of the material following W24MaterialCategoryX Tree.

  • position: Refer to #/definitions/W24BaseFeaturePosition.

  • blurb (string)

  • standard (string)

  • designation (string)

  • material_category (array)

    • Items_0: Refer to #/definitions/W24MaterialCategory1.

    • Items_1: Refer to #/definitions/W24MaterialCategory2.

    • Items_2: Refer to #/definitions/W24MaterialCategory3.

  • material_family

  • material_class

  • material_type

  • material_group

  • material_standard

  • material_code (string)

  • W24UnitWeight (string): Enum of all the supported weights
    NOTE: This also includes relative weights such as kilogram per meter. Must be one of: ['GRAM', 'KILOGRAM', 'POUND', 'OUNCE'].

  • W24UnitLength (string): Enum of the supported length units . Must be one of: ['METER', 'DECIMETER', 'CENTIMETER', 'MILLIMETER', 'FOOT', 'INCH', 'MICRO_INCH'].

  • W24Weight (object): Weight of a Part - for example as indicated on the Title Block.
    NOTE: this can also be a relative weight (e.g. kg per meter for profiles)
    Attributes: blurb: Weight in a human-readable format.
    value: Value of the Weight
    weight_unit: Unit of the Weight (e.g., kg)
    length_unit: Unit of the Length for relative weights (e.g., METER for meter weights of profiles)s.

  • position: Refer to #/definitions/W24BaseFeaturePosition.

  • blurb (string)

  • value (number)

  • weight_unit: Refer to #/definitions/W24UnitWeight.

  • length_unit: Refer to #/definitions/W24UnitLength.

  • W24FileExtensionType (string): Enum of the extension types.
    For example, pdf and idw extensions will be mapped to DRAWING, while step and stl extensions will be mapped to MODEL. Must be one of: ['DRAWING', 'MODEL', 'UNKNOWN'].

  • W24FilePathType (string): Enum of the file path types, indicating whether a POSIX (unix) or WINDOWS path is used. When only a filename is indicated, the value will be UNKNOWN. Must be one of: ['POSIX', 'WINDOWS', 'UNKNOWN'].

  • W24Filename (object): Object describing all the information that we can deduce from a filename that was found on the TitleBlock
    Attributes:
    blurb: Filename and Path as it was found on the drawing. Example: /path/to/drawing.pdf
    filename: Filename without the prefix. Example drawing.pdf
    extension: Extension of the filename. Examples: .pdf, .tar.gz
    extension_type: filetype indicated by the extension. PDF, ... extensions are mapped to DRAWING, while STEP, ... extensions are mapped to MODEL
    path_type: WINDOWS or POSIX (unix) path types if we have found an absolute path. UNKNOWN if we only read a filename without prefix.

  • position: Refer to #/definitions/W24BaseFeaturePosition.

  • blurb (string)

  • filename (string)

  • extension (string)

  • extension_type: Refer to #/definitions/W24FileExtensionType.

  • path_type: Refer to #/definitions/W24FilePathType.

  • W24PropertyColor (object): Color Property.
    NOTE: at this stage we do not make the colors comparable. There might be ways of doing this, but colors are complex and most color systems cannot express the complete space (e.g., RGB is not describing the glossiness of the color).

  • property_type (string): Must be one of: ['COLOR']. Default: COLOR.

  • property_subtype

  • blurb (string)

Requesting the Title Block

from werk24 import Hook, W24AskTitleBlock
from werk24.models.techread import W24TechreadMessage
from werk24.utils import w24_read_sync

# define a function to read a file and return it as bytes
from . import get_drawing_bytes


def recv_title_block(message: W24TechreadMessage) -> None:
    """ Print the Weight when we received it
    """
    if message.is_successful:
        print(message.payload_dict.get('weight'))
    else:
        print("Exceptions occurred: {message.exceptions}")


if __name__ == "__main__":

    # get your drawing bytes from a file or buffer
    drawing_bytes = get_drawing_bytes()

    # define what information you want to receive from the API
    # and what shall be done when the info is available.
    hooks = [Hook(ask=W24AskTitleBlock(), function=recv_title_block)]

    # submit the request to the Werk24 API
    w24_read_sync(drawing_bytes, hooks)