From be071fee24597d99550d88d163ffc69545f20972 Mon Sep 17 00:00:00 2001 From: vhirtham <20574817+vhirtham@users.noreply.github.com> Date: Fri, 22 Jul 2022 11:36:53 +0200 Subject: [PATCH 1/4] Make weld_seam a required property --- .../datamodels/multi_pass_weld-0.1.0.yaml | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml b/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml index 8a546b0ee..d033d8c5c 100644 --- a/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml +++ b/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml @@ -50,17 +50,19 @@ definitions: type: object properties: - workpiece: - description: | - The workpiece to be welded defined by the base metal and the geometric description of the weld seam. - type: object + workpiece: + description: | + The workpiece to be welded defined by the base metal and the geometric description of the weld seam. + type: object + + weld_seam: + description: | + List of weld seams composing the final weldment. + type: array + items: + $ref: "#/definitions/weld_seam" +required: [weld_seam] - weld_seam: - description: | - List of weld seams composing the final weldment. - type: array - items: - $ref: "#/definitions/weld_seam" examples: - From ae119a3eb2718b2f642101947a3d5f4e2256c04f Mon Sep 17 00:00:00 2001 From: vhirtham <20574817+vhirtham@users.noreply.github.com> Date: Fri, 22 Jul 2022 11:49:23 +0200 Subject: [PATCH 2/4] Update changelog --- CHANGELOG.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9c5a133ca..8b0047181 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,12 +9,14 @@ changes ======= - Updated the outdated tutorial about the `LocalCoordinateSystem` [:pull:`775`] +- `weld_seam` is now a required field in the `multi_pass_weld` schema [:pull:`790`] fixes ===== - `MathematicalExpression` now uses SciPy and NumPy in numerical function evaluation. This enables it to use advanced integration methods and fixes lengths computation of `DynamicShapeSegment` [:pull:`770`]. +- Fix errors in tutorial about quality standards [:pull:`777`] ******************** 0.6.1 (19.05.2022) @@ -34,7 +36,6 @@ fixes - Fix interactive ``view_tree`` display [:pull:`756`]. - Increase ``mypy`` coverage and update type hints and GH action [:pull:`753`]. -- Fix errors in tutorial about quality standards [:pull:`777`] dependencies ============ From ac8b16156c037062ea2ea5df127d11040ec13537 Mon Sep 17 00:00:00 2001 From: vhirtham <20574817+vhirtham@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:31:10 +0200 Subject: [PATCH 3/4] Bump schema version --- .../datamodels/multi_pass_weld-0.1.0.yaml | 1 - .../datamodels/multi_pass_weld-0.1.1.yaml | 147 ++++++++++++++++++ 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.1.yaml diff --git a/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml b/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml index d033d8c5c..fd1276afc 100644 --- a/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml +++ b/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.0.yaml @@ -61,7 +61,6 @@ properties: type: array items: $ref: "#/definitions/weld_seam" -required: [weld_seam] examples: diff --git a/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.1.yaml b/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.1.yaml new file mode 100644 index 000000000..7f995772c --- /dev/null +++ b/weldx/schemas/weldx.bam.de/weldx/datamodels/multi_pass_weld-0.1.1.yaml @@ -0,0 +1,147 @@ +%YAML 1.1 +--- +$schema: "http://stsci.edu/schemas/yaml-schema/draft-01" +id: "asdf://weldx.bam.de/weldx/schemas/datamodels/multi_pass_weld-0.1.1" + +title: | + A generic multi-layer GMAW weldment. +description: | + This schema describes a welding application consisting of multiple passes. + + The individual weldments are hierarchically grouped into beads, layers and seams. This is reflected by a nested array + with the name `weld_seam` and a nesting depth of 4 (seam, layer, bead, weldment). + + Each weldment may contain the following data: + + - process + - TCP + - welding_current + - welding_voltage + + The `process` entry contains all relevant data that describes the welding process. A comprehensive list of all + optional and required fields can be [found here](https://weldx.readthedocs.io/projects/weldx-standard/en/latest/generated/schemas/process/terms-0.1.0.html#base_process). + `TCP` describes the trajectory of the torch during the weldment process. The TCP data of all weldments must be + defined in relation to the workpiece coordinate system. + The welding_current and welding_voltage entries refer to signals containing the final measurement data of corresponding dimensions [current] and [voltage]. + + > Note that this schema is currently work in progress and some optional data might become required in the future. + +definitions: + weld_seam: + description: | + A single weld seam consisting of one or more layers. + type: array + items: + $ref: "#/definitions/weld_layer" + + weld_layer: + description: | + A single weld layer consisting of one or more beads. + type: array + items: + $ref: "#/definitions/weld_bead" + + weld_bead: + description: | + A single weld bead consisting of one or more weldments. + type: array + items: + $ref: "./terms-0.1.0#/weldment" + +type: object +properties: + workpiece: + description: | + The workpiece to be welded defined by the base metal and the geometric description of the weld seam. + type: object + + weld_seam: + description: | + List of weld seams composing the final weldment. + type: array + items: + $ref: "#/definitions/weld_seam" +required: [weld_seam] + + +examples: + - + - Two seams with a single layer and bead, but the first seam has two weldments while the second has only one. + - | + ! + weld_seam: + - - - - TCP: ! + time: ! + values: !core/ndarray-1.0.0 + data: [0, 30000000000] + datatype: int64 + shape: [2] + start: ! P0DT0H0M0S + end: ! P0DT0H0M30S + min: ! P0DT0H0M0S + max: ! P0DT0H0M30S + coordinates: ! + name: coordinates + dimensions: [c] + dtype: millimeter + data: !core/ndarray-1.0.0 + data: [[0, 0, 0], [50, 0, 0]] + datatype: float64 + shape: [2, 3] + welding_voltage: ! + units: ! volt + value: 30 + welding_current: ! + units: ! ampere + value: 250 + - - TCP: ! + time: ! + values: !core/ndarray-1.0.0 + data: [0, 30000000000] + datatype: int64 + shape: [2] + start: ! P0DT0H0M0S + end: ! P0DT0H0M30S + min: ! P0DT0H0M0S + max: ! P0DT0H0M30S + coordinates: ! + name: coordinates + dimensions: [c] + dtype: millimeter + data: !core/ndarray-1.0.0 + data: [[0, 5, 0], [50, 5, 0]] + datatype: float64 + shape: [2, 3] + welding_voltage: ! + units: ! volt + value: 30 + welding_current: ! + units: ! ampere + value: 250 + - - - - TCP: ! + time: ! + values: !core/ndarray-1.0.0 + data: [0, 30000000000] + datatype: int64 + shape: [2] + start: ! P0DT0H0M0S + end: ! P0DT0H0M30S + min: ! P0DT0H0M0S + max: ! P0DT0H0M30S + coordinates: ! + name: coordinates + dimensions: [c] + dtype: millimeter + data: !core/ndarray-1.0.0 + data: [[0, 2.5, 5], [50, 2.5, 5]] + datatype: float64 + shape: [2, 3] + welding_voltage: ! + units: ! volt + value: 30 + welding_current: ! + units: ! ampere + value: 350 From d65b6dd5cc658bc30ea332a366a82bbcba60e509 Mon Sep 17 00:00:00 2001 From: vhirtham <20574817+vhirtham@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:47:07 +0200 Subject: [PATCH 4/4] Fix doc --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8b0047181..93e74fab5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,7 +9,7 @@ changes ======= - Updated the outdated tutorial about the `LocalCoordinateSystem` [:pull:`775`] -- `weld_seam` is now a required field in the `multi_pass_weld` schema [:pull:`790`] +- ``weld_seam`` is now a required field in the ``multi_pass_weld`` schema [:pull:`790`] fixes =====