-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add multi_pass_weld-0.1.0.yaml #667
add multi_pass_weld-0.1.0.yaml #667
Conversation
TCP: | ||
description: | | ||
Transformation describing the welding TCP movement in relation to the groove coordinates. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have taken this from the single_pass_weld schema but I think in general it would be more generic to describe the contact tip position and orientation (with an optional target stickout length)
Codecov Report
@@ Coverage Diff @@
## master #667 +/- ##
=======================================
Coverage 96.05% 96.05%
=======================================
Files 92 92
Lines 6393 6393
=======================================
Hits 6141 6141
Misses 252 252 Continue to review full report at Codecov.
|
As already mentioned yesterday, the references in the definitions do not work. So I tested it with the following script and schema: import asdf
tree = dict(
# a=dict(b=dict(c="This")),
# a2=[dict(c="is")],
# a3=[dict(b=[dict(c="strange")])],
aa=dict(b=dict(c="This")),
aa2=[[dict(c="is")]],
aa3=[dict(b=[dict(c="strange")])],
)
with asdf.AsdfFile(tree, custom_schema="test_schema.yaml") as ff:
ff.write_to("test.asdf") %YAML 1.1
---
$schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
definitions:
C:
type: object
properties:
c:
required: [c]
B:
type: object
properties:
b:
$ref: "#/definitions/C"
required: [b]
B2:
type: array
items:
$ref: "#/definitions/C"
B3:
type: array
items:
type: object
properties:
b:
type: array
items:
$ref: "#/definitions/C"
required: [ b ]
type: object
properties:
a:
$ref: "#/definitions/B"
a2:
$ref: "#/definitions/B2"
a3:
$ref: "#/definitions/B3" The
Seems like nested Another thing I wanted to mention: The way nested arrays are stored is also not very nice: my_array
- - - v: a
- v: b
- - v: c
- - v: d
- - - v: e
- v: f It gets messy quickly and it is hard to see where a new array is starting at which nesting level, especially with larger objects. This should also be resolved by tagged objects since there will be at least a separating tag (IIRC) and probably another property name to store the next array. |
thank you for the report @vhirtham :) One possible issue I could see with the nested references is that it might break when using a "relative" reference (that is not resolvable within a nesting) So we might try to use absolute schema references here like or maybe it works on the file level with if the absolute reference doesn't work we should probably check in with the asdf devs |
Okay, got the id: "asdf://weldx.bam.de/weldx/schemas/datamodels/test_schema-0.1.0" and actually puts the schema in the corresponding directory, the relative references work without further problems. So I have to create a dev kernel on the server and use a working branch to further develop the schema and apply it to the experimental data using the already existing jupyter notebook. However, I think I will draft it locally with dummy data before trying it on the real data. Should save some time by avoiding huge data chunks. |
can you please update the schema on this branch (it is already tagged with an for a simple dev kernel on JupyterHub, this should work:
then register the kernel in this environment, clone this repository/branch and local pip install |
The schema works with the experimental data, but we should still discuss this:
|
It's not pretty but I still think this is the most 'natural' way to define the schema how does it look in our |
Changes
Describe changes in this PR
Related Issues
Closes # (add issue numbers)
Checks