TRANSFER DATA
TRANSFER DATA
Transferring data between "source" (reference) and "target" models.
The function is designed to copy properties into model A (the "target" model) from model B (the "source"). The intention is that a model which has had some of its content stripped by a journey through an external piece of software, for example during remeshing, can be re-united with its original properties in a simple operation. Alternatively models from diverse sources can be "married up" with standard definitions held in read-only files.
- Most of the parameters in this panel can be preset in the "oa_pref" file - see below.
- In addition this operation can be performed in dialogue-only mode, and hence in batch - see Appendix L.
The function is invoked from the pop-up menu in the Tools panel.
|
It is mandatory that you define the following parameters:
The source and target models must be different.
You may then define your from the options below. Any permutation of these can be selected.
Under further options, you may define one or more types for re-population of missing data from the following list.
Once you have defined any one of these the button will become "live" and you will be able to proceed. However you should also consider the following settings:
|
|||||||||||||||||||||||||||||||
Match Data to transfer by...There is a range of ways in which data can be matched for transfer:
|
|
||||||||
|
|||||||||
Destination for transferred data...When data is transferred from source to target you can control how it is treated and stored. |
|
||||||||
|
|||||||||
Name Matching Method...When objects are matched by (or ) the methods used to determine whether or not names match must be set. This option only becomes "live" when that is the case. |
|
||||||||||||||
More rules for name matching...When names are matched, by whatever method, the following rules also apply:
|
|||||||||||||||
Superseded Data: what happens when target objects are to be overwritten.
Transferring data from source to target models means implicitly that the target data will be overwritten. You can choose to:
| SAVE |
The original target data is copied to a new, unused label and is transferred
to include file "dt_renumbered.key". This new copy is not referenced
by anything and can be removed by a
CLEANUP_UNUSED
operation
|
|
DELETE |
The original target data is overwritten and lost permanently. |
Status Feedback: controlling visual and tabular feedback
A summary of what has been overwritten with what (by label) is always printed, together with totals, but you can choose to have further feedback:
| SKETCH | Sketches on the current image all objects that have been modified by the data transfer operation |
| PART_STATUS |
Produces a table (by label) of all parts that have been modified (or have had some attribute, eg material, modified); and also a table of those that are unchanged. |
How data transferred by NAME gets special treatmentWhen data is transferred by it is possible that more than one object in the target model will match an object in the source model, in which case multiple copies of the source data will be transferred into the target model. For example consider the following case for materials where name matching is used: |
| Original target model contents | Source model contents | Resulting output in target model |
| MAT #1 "Steel 316s12" | MAT #1 "Aluminium" | MAT #2 "Generic steel" |
| MAT #2 "Steel to BS4360" | MAT #2 "Generic steel" | MAT #2 "Generic steel" |
| MAT #3 "Special steel for supports" | MAT #3 "Concrete" | MAT #2 "Generic steel" |
In this case all three target materials contain the word " steel ", so they will all be overwritten by material #2 ( Generic steel ) from the source model. This would leave three materials in the target model with the same label, so how is this resolved? What happens is this:
Every existing target object that is about to be overwritten has its properties copied to the highest object label + 1.
In this case since superseded data is to be d, before overwriting the "old" source material properties:
- Original target material #1 is copied to #4.
- Material #2 is copied to #5
- Material #3 is copied to #6
These new (#4 .. #6) definitions are not referenced by anything, and are placed into a separate include file. If they are not required a CLEANUP_UNUSED operation will delete them.
Source object data is copied in verbatim
- Source material #2 is copied verbatim into target materials #1, #2 and #3
- At this stage there will be 3 materials in the target model all labelled #2 - clearly illegal
post-transfer check and sorting out takes place
Once all transfers by have taken place then any clashes or illegalities in the target model are sorted out.
- Where any incoming label from a source object clashes with a pre-existing (but not overwritten) target object of the same label, then that original target object is re-labelled.
- Then a check for multiple instances of transferred in objects is made (which will all share the same label), and these are "collapsed" into a single definition.
In the example above the three target materials, all labelled #2, would be collapsed into a single material definition and all references to them (eg from *PART cards) are implicitly also rationalised to reference this single material definition.
How are objects such as loadcurves which might be referenced by transferred data handled?
For example you might transfer a material which contains references to loadcurves in the source model.
In this situation these "supporting" objects are also transferred, although the logic for handling label clashes in the target model differs from the data above:
- If there is no label clash they are copied in "as is".
- If there is a label clash the original definition in the target model is renumbered to a free slot, and the new data is copied in.
This is different because although existing objects in the target model might be relabelled, they are not superseded.
Setting TRANSFER_DATA defaults in the "oa_pref" file
Most of the settings in the panel can be pre-defined in the "oa_pref" file. The following table shows the default settings, and the ways in which they can be modified in that file:
| Setting | Default value | "oa_pref" file keyword | "oa_pref" options |
| Target model | Undefined . But if only one model is present then this is assumed | n/a | n/a |
| Source model | Undefined | primer*transfer_source_file: | <filename> |
| Data Type | Undefined | primer*transfer_data_type: |
|
| Match By method | NAME | primer*transfer_match_by: |
|
| Destination Action | (Copy to Separate) | primer*transfer_action: |
|
| Name Matching method | EITHER | primer*transfer_name_match: |
|
| Superseded data action | SAVE | primer*transfer_superseded: |
|
| Feedback options | (only in graphical mode) | n/a | n/a |
Performing TRANSFER_DATA operations in command-line mode
All the operations above can also be performed in command-line mode, and therefore also in batch. See Appendix L for more information about this.
This figure shows the main