Technical documentation for analyzing the PDF/technical drawing

Below you will find an overview and a detailed explanation of the JSON data structure extracted from a technical drawing. The JSON data structure contains dimensional values, tolerances, drawing metadata, and additional manufacturing details.

Overview of the JSON Structure

1. Component Dimensions

The bounding_box object contains the overall dimensions of the component:

  • height: Height (e.g., 40 mm).
  • length: Length (e.g., 50 mm).
  • width: Width (e.g., 25 mm).

2. Countersinks

The countersinks entry describes countersinks (chamfered holes):

  • value: Diameter of the countersink (e.g., ⌀ 6 mm).
  • quantity: Number of countersinks with this specification.
  • lower_tolerance and upper_tolerance: Tolerance limits which may be null if not provided in the technical drawing.

3. Deburring

The boolean value deburring indicates whether the component needs deburring (removal of sharp edges).

4. Dimensions

The dimension entry contains detailed measurement data for various features of the component:

  • value: The nominal value.
  • quantity: The number of occurrences of the nominal value.
  • lower_tolerance and upper_tolerance: The lower and upper limits of the measurement.
  • tolerance_bandwidth: The tolerance range.

5. Information Block

The info_block object contains metadata for the drawing:

  • drawing_name: Name of the drawing (e.g., Halter XX43).
  • drawing_number: Unique identifier of the drawing (e.g., E212-6372).
  • iso_norm and iso_standard: Applicable ISO standards for the drawing. Typically, the categories for DIN ISO 2768 are provided here.
  • material: Material specification (e.g., EN AW 5083 [AlMg4.5Mn0.7]).

6. Laser Marking

The boolean value laser_marking indicates whether laser marking has been applied to the component.

7. Number of Countersinks and Threads

  • num_of_countersinks: Total number of countersinks (e.g., 4).
  • num_of_threads: Total number of threaded features (e.g., 2).

8. Radius

The radius entry contains information about the radii present in the component.

9. Surface Treatment

The surface_treatment entry contains information on surface finishing or treatment processes. In this response, it is empty.

10. Thickness

thickness indicates the thickness of the component (e.g., for a sheet metal component) (e.g., 8.4).

11. Threads

The threads entry contains information on threaded features of the component:

  • thread_size: The thread size (e.g., M5).
  • quantity: The number of threads of this type.
  • pitch: The distance between thread crests (can be null if not provided).

JSON Response Preview

{
  "bounding_box": {
    "height": 40,
    "length": 50,
    "width": 25
  },
  "countersinks": [
    {
      "lower_tolerance": null,
      "quantity": 2,
      "upper_tolerance": null,
      "value": 5
    },
    {
      "lower_tolerance": null,
      "quantity": 2,
      "upper_tolerance": null,
      "value": 6
    }
  ],
  "deburring": false,
  "dimension": [
    {
      "lower_tolerance": 4.6,
      "quantity": 2,
      "tolerance_bandwidth": 0.2,
      "upper_tolerance": 4.8,
      "value": 4.7
    },
    {
      "lower_tolerance": 5.3,
      "quantity": 1,
      "tolerance_bandwidth": 0.2,
      "upper_tolerance": 5.5,
      "value": 5.4
    },
    {
      "lower_tolerance": 9.3,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 9.7,
      "value": 9.5
    },
    {
      "lower_tolerance": 10.8,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 11.2,
      "value": 11
    },
    {
      "lower_tolerance": 15.8,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 16.2,
      "value": 16
    },
    {
      "lower_tolerance": 17.8,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 18.2,
      "value": 18
    },
    {
      "lower_tolerance": 20.3,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 20.7,
      "value": 20.5
    },
    {
      "lower_tolerance": 23,
      "quantity": 1,
      "tolerance_bandwidth": 0.1,
      "upper_tolerance": 23.1,
      "value": 23.1
    },
    {
      "lower_tolerance": 24.8,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 25.2,
      "value": 25
    },
    {
      "lower_tolerance": 28.8,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 29.2,
      "value": 29
    },
    {
      "lower_tolerance": 29.4,
      "quantity": 1,
      "tolerance_bandwidth": 0.4,
      "upper_tolerance": 29.8,
      "value": 29.6
    },
    {
      "lower_tolerance": 39.7,
      "quantity": 1,
      "tolerance_bandwidth": 0.6,
      "upper_tolerance": 40.3,
      "value": 40
    },
    {
      "lower_tolerance": 49.7,
      "quantity": 1,
      "tolerance_bandwidth": 0.6,
      "upper_tolerance": 50.3,
      "value": 50
    }
  ],
  "info_block": {
    "drawing_name": "Halter XX43",
    "drawing_number": "E212-6372",
    "iso_norm": "ISO 2768-mK",
    "iso_standard": "m",
    "material": "EN AW 5083 [AlMg4.5Mn0.7]"
  },
  "laser_marking": false,
  "num_of_countersinks": 4,
  "num_of_threads": 2,
  "radius": [],
  "surface_treatment": [],
  "thickness": 8.4,
  "threads": [
    {
      "lower_tolerance": null,
      "pitch": null,
      "quantity": 2,
      "thread_size": "M5",
      "upper_tolerance": null
    }
  ]
}
    

Technical documentation for the analysis of STEP components

This documentation describes the JSON data structure provided by the STEP-Reader, a microservice for analyzing STEP files. The JSON data structure contains geometric data, processing information, and an image preview of the component.

Overview of the JSON Structure

1. Number of Holes

The entry number_of_holes indicates the total number of holes detected in the component.

  • Example value: 10

2. Diameters of Holes

The entry diameters_of_holes lists the diameters (in millimeters) of the individual holes.

  • Example values: [3.3, 3.3, 2.7, 2.7, 5, 5, 5, 5, 6, 6]

3. Bounding Box

The bbox object contains the dimensions of the component's minimum bounding box:

  • l: Length (e.g., 51.8333 mm)
  • w: Width (e.g., 40 mm)
  • h: Height (e.g., 23.6631 mm)

4. Volume

The entry volume indicates the calculated volume of the component, given in cubic millimeters.

  • Example value: 24027.7384 mm³

5. Assembly

The boolean entry is_assembly indicates whether the component is an assembly (true) or an individual part (false).

  • Example value: false

6. Outer Diameters

The entry outer_diameters contains optional information on outer diameters. Outer diameters are only provided for round components. For milled components (from a cuboid), no outer diameter is given.

  • Example value: 130 mm

7. Processing Technology

The entry machine_type describes the type of processing technology, e.g., SheetMetal for sheet metal components.

  • Example value: SheetMetal

8. Turning and Milling Features

The entries turning_features and milling_features indicate how many features for turning and milling processes were detected.

  • turning_features: 0
  • milling_features: 0

9. Surface Area

The entry surface specifies the surface area of the component in square millimeters.

  • Example value: 8119.2504 mm²

10. Maximum Cutout Area

The entry maximum_cutout_area describes the largest detected cutout area, given in square millimeters. This value can be used, for example, to assess whether a component is suitable for powder coating and to check if it can be "hung" in a powder coating machine.

  • Example value: 28.27433388230814 mm²

11. Preview

The entry preview contains a Base64-encoded image preview of the analyzed component. This image can be used in web applications for visualization.

JSON Response Preview

 {
 "number_of_holes": 10,
 "diameters_of_holes": [
 3.3,
 3.3,
 2.7,
 2.7,
 5,
 5,
 5,
 5,
 6,
 6
 ],
 "bbox": {
 "l": 51.8333,
 "w": 40,
 "h": 23.6631
 },
 "volume": 24027.7384,
 "is_assembly": false,
 "outer_diameters": [],
 "machine_type": "SheetMetal",
 "turning_features": 0,
 "milling_features": 0,
 "surface": 8119.2504,
 "maximum_cutout_area": 28.27433388230814,
 "preview": "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