Supported datasets
More info on specific datasets can be obtained here.
Prepare
function showcase
Prepare
functions are used for preparing the dictionaries for writing UFF files.
Parameters labeled optional
designate optional fields, that are not needed when writing to a file, as they have a default value.
Parameters labeled ignored
designate fields that are not needed at all, as these fields are defined automatically.
Some fields are data dependent, meaning they are only used/available for some specific data-type. For example modal_damp_vis
in dataset 55.
Parameter return_full_dict
determines if all keys or only specified arguments are returned.
import pyuff
pyuff.prepare_151(model_name='NewModel', date_db_created='17-Jun-21', time_db_created='12:49:33', version_db1= 0, version_db2= 0, file_type= 0)
Dataset 15
- pyuff.prepare_15(node_nums=None, def_cs=None, disp_cs=None, color=None, x=None, y=None, z=None, return_full_dict=False)[source]
Name: Nodes
R-Record, F-Field
- Parameters:
node_nums – R1 F1, node label
def_cs – R1 F2, deformation coordinate system numbers, optional
disp_cs – R1 F3, displacement coordinate system numbers, optional
color – R1 F4, color, optional
x – R1 F5, Dimensional coordinate of node in the definition system
y – R1 F6, Dimensional coordinate of node in the definition system
z – R1 F7, Dimensional coordinate of node in the definition system
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_15
>>> save_to_file = 'test_pyuff' >>> dataset = pyuff.prepare_15( >>> node_nums=[16, 17, 18, 19, 20], >>> def_cs=[11, 11, 11, 12, 12], >>> disp_cs=[16, 16, 17, 18, 19], >>> color=[1, 3, 4, 5, 6], # I10, >>> x=[0.0, 1.53, 0.0, 1.53, 0.0], >>> y=[0.0, 0.0, 3.84, 3.84, 0.0], >>> z=[0.0, 0.0, 0.0, 0.0, 1.83]) >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite._write_set(dataset, 'add') >>> dataset
Dataset 55
- pyuff.prepare_55(id1=None, id2=None, id3=None, id4=None, id5=None, model_type=None, analysis_type=None, data_ch=None, spec_data_type=None, data_type=None, n_data_per_node=None, r1=None, r2=None, r3=None, r4=None, r5=None, r6=None, load_case=None, mode_n=None, freq=None, modal_m=None, modal_damp_vis=None, modal_damp_his=None, eig=None, modal_a=None, modal_b=None, freq_step_n=None, node_nums=None, return_full_dict=False)[source]
Name: Data at Nodes
R-Record, F-Field
- Parameters:
id1 – R1 F1, ID Line 1, optional
id2 – R2 F1, ID Line 2, optional
id3 – R3 F1, ID Line 3, optional
id4 – R4 F1, ID Line 4, optional
id5 – R5 F1, ID Line 5, optional
model_type – R6 F1, Model type, optional
analysis_type – R6 F2, Analysis type; currently only only normal mode (2), complex eigenvalue first order (displacement) (3), frequency response and (5) and complex eigenvalue second order (velocity) (7) are supported
data_ch – R6 F3, Data characteristic number
spec_data_type – R6 F4, Specific data type
data_type – R6 F5, Data type, ignored
n_data_per_node – R6 F6, Number of data values per node, ignored
R7 and R8 are analysis type specific:
- Parameters:
r1 – Response array for DOF 1,
r2 – Response array for DOF 2,
r3 – Response array for DOF 3,
r4 – Response array for DOF 4,
r5 – Response array for DOF 5,
r6 – Response array for DOF 6,
load_case – R7 F3, Load case number
mode_n – R7 F4, Mode number
freq – R8 F1, Frequency (Hertz)
modal_m – R8 F2, Modal mass, optional
modal_damp_vis – R8 F3, Modal viscous damping ratio, optional
modal_damp_his – R8 F4, Modal hysteric damping ratio, optional
eig – R8 F1: Real part Eigenvalue, R8 F2: Imaginary part Eigenvalue
modal_a – R8 F3: Real part of Modal A, R8 F4: Imaginary part of Modal A, optional
modal_b – R8 F5: Real part of Modal B, R8 F6: Imaginary part of Modal B, optional
freq_step_n – R7 F4, Frequency step number
node_nums – R9 F1 Node number
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_55
>>> save_to_file = 'test_pyuff' >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uff_datasets = [] >>> modes = [1, 2, 3] >>> node_nums = [1, 2, 3, 4] >>> freqs = [10.0, 12.0, 13.0] >>> for i, b in enumerate(modes): >>> mode_shape = np.random.normal(size=len(node_nums)) >>> name = 'TestCase' >>> data = pyuff.prepare_55( >>> model_type=1, >>> id1='NONE', >>> id2='NONE', >>> id3='NONE', >>> id4='NONE', >>> id5='NONE', >>> analysis_type=2, >>> data_ch=2, >>> spec_data_type=8, >>> data_type=2, >>> r1=mode_shape, >>> r2=mode_shape, >>> r3=mode_shape, >>> n_data_per_node=3, >>> node_nums=[1, 2, 3, 4], >>> load_case=1, >>> mode_n=i + 1, >>> modal_m=0, >>> freq=freqs[i], >>> modal_damp_vis=0., >>> modal_damp_his=0.) >>> uff_datasets.append(data.copy()) >>> if save_to_file: >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite._write_set(data, 'add') >>> uff_datasets
Dataset 58 and 58b
- pyuff.prepare_58(binary=None, id1=None, id2=None, id3=None, id4=None, id5=None, func_type=None, ver_num=None, load_case_id=None, rsp_ent_name=None, rsp_node=None, rsp_dir=None, ref_ent_name=None, ref_node=None, ref_dir=None, ord_data_type=None, num_pts=None, abscissa_spacing=None, abscissa_min=None, abscissa_inc=None, z_axis_value=None, abscissa_spec_data_type=None, abscissa_len_unit_exp=None, abscissa_force_unit_exp=None, abscissa_temp_unit_exp=None, abscissa_axis_units_lab=None, ordinate_spec_data_type=None, ordinate_len_unit_exp=None, ordinate_force_unit_exp=None, ordinate_temp_unit_exp=None, ordinate_axis_units_lab=None, orddenom_spec_data_type=None, orddenom_len_unit_exp=None, orddenom_force_unit_exp=None, orddenom_temp_unit_exp=None, orddenom_axis_units_lab=None, z_axis_spec_data_type=None, z_axis_len_unit_exp=None, z_axis_force_unit_exp=None, z_axis_temp_unit_exp=None, z_axis_axis_units_lab=None, data=None, x=None, spec_data_type=None, byte_ordering=None, fp_format=None, n_ascii_lines=None, n_bytes=None, return_full_dict=False)[source]
Name: Function at Nodal DOF
R-Record, F-Field
- Parameters:
binary – 1 for binary, 0 for ascii, optional
id1 – R1 F1, ID Line 1, optional
id2 – R2 F1, ID Line 2, optional
id3 – R3 F1, ID Line 3, optional
id4 – R4 F1, ID Line 4, optional
id5 – R5 F1, ID Line 5, optional
DOF identification
- Parameters:
func_type – R6 F1, Function type
ver_num – R6 F3, Version number, optional
load_case_id – R6 F4, Load case identification number, optional
rsp_ent_name – R6 F5, Response entity name, optional
rsp_node – R6 F6, Response node
rsp_dir – R6 F7, Responde direction
ref_ent_name – R6 F8, Reference entity name, optional
ref_node – R6 F9, Reference node
ref_dir – R6 F10, Reference direction
Data form
- Parameters:
ord_data_type – R7 F1, Ordinate data type, ignored
num_pts – R7 F2, number of data pairs for uneven abscissa or number of data values for even abscissa, ignored
abscissa_spacing – R7 F3, Abscissa spacing (0- uneven, 1-even), ignored
abscissa_min – R7 F4, Abscissa minimum (0.0 if spacing uneven), ignored
abscissa_inc – R7 F5, Abscissa increment (0.0 if spacing uneven), ignored
z_axis_value – R7 F6, Z-axis value (0.0 if unused), optional
Abscissa data characteristics
- Parameters:
abscissa_spec_data_type – R8 F1, Abscissa specific data type, optional
abscissa_len_unit_exp – R8 F2, Abscissa length units exponent, optional
abscissa_force_unit_exp – R8 F3, Abscissa force units exponent, optional
abscissa_temp_unit_exp – R8 F4, Abscissa temperature units exponent, optional
abscissa_axis_units_lab – R8 F6, Abscissa units label, optional
Ordinate (or ordinate numerator) data characteristics
- Parameters:
ordinate_spec_data_type – R9 F1, Ordinate specific data type, optional
ordinate_len_unit_exp – R9 F2, Ordinate length units exponent, optional
ordinate_force_unit_exp – R9 F3, Ordinate force units exponent, optional
ordinate_temp_unit_exp – R9 F4, Ordinate temperature units exponent, optional
ordinate_axis_units_lab – R9 F6, Ordinate units label, optional
Ordinate denominator data characteristics
- Parameters:
orddenom_spec_data_type – R10 F1, Ordinate Denominator specific data type, optional
orddenom_len_unit_exp – R10 F2, Ordinate Denominator length units exponent, optional
orddenom_force_unit_exp – R10 F3, Ordinate Denominator force units exponent, optional
orddenom_temp_unit_exp – R10 F4, Ordinate Denominator temperature units exponent, optional
orddenom_axis_units_lab – R10 F6, Ordinate Denominator units label, optional
Z-axis data characteristics
- Parameters:
z_axis_spec_data_type – R11 F1, Z-axis specific data type, optional
z_axis_len_unit_exp – R11 F2, Z-axis length units exponent, optional
z_axis_force_unit_exp – R11 F3, Z-axis force units exponent, optional
z_axis_temp_unit_exp – R11 F4, Z-axis temperature units exponent, optional
z_axis_axis_units_lab – R11 F6, Z-axis units label, optional
Data values
- Parameters:
data – R12 F1, Data values
x – Abscissa array
spec_data_type – Specific data type, optional
byte_ordering – R1 F3, Byte ordering (only for binary), ignored
fp_format – R1 F4 Floating-point format (only for binary), ignored
n_ascii_lines – R1 F5, Number of ascii lines (only for binary), ignored
n_bytes – R1 F6, Number of bytes (only for binary), ignored
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_58
>>> save_to_file = 'test_pyuff' >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uff_datasets = [] >>> binary = [0, 1, 0] # ascii of binary >>> frequency = np.arange(10) >>> np.random.seed(0) >>> for i, b in enumerate(binary): >>> print('Adding point {}'.format(i + 1)) >>> response_node = 1 >>> response_direction = 1 >>> reference_node = i + 1 >>> reference_direction = 1 >>> # this is an artificial 'frf' >>> acceleration_complex = np.random.normal(size=len(frequency)) + 1j * np.random.normal(size=len(frequency)) >>> name = 'TestCase' >>> data = pyuff.prepare_58( >>> binary=binary[i], >>> func_type=4, >>> rsp_node=response_node, >>> rsp_dir=response_direction, >>> ref_dir=reference_direction, >>> ref_node=reference_node, >>> data=acceleration_complex, >>> x=frequency, >>> id1='id1', >>> rsp_ent_name=name, >>> ref_ent_name=name, >>> abscissa_spacing=1, >>> abscissa_spec_data_type=18, >>> ordinate_spec_data_type=12, >>> orddenom_spec_data_type=13) >>> uff_datasets.append(data.copy()) >>> if save_to_file: >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite._write_set(data, 'add') >>> uff_datasets
Dataset 82
- pyuff.prepare_82(trace_num=None, n_nodes=None, color=None, id=None, nodes=None, return_full_dict=False)[source]
Name: Tracelines
R-Record, F-Field
- Parameters:
trace_num – R1 F1, Trace line number
n_nodes – R1 F2, number of nodes defining trace line (maximum of 250), ignored
color – R1 F3, color, optional
id – R2 F1, identification line, optional
nodes – R3 F1, nodes defining trace line (0 move to node, >0 draw line to node)
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_82
>>> save_to_file = 'test_pyuff' >>> dataset = pyuff.prepare_82( >>> trace_num=2, >>> n_nodes=7, >>> color=30, >>> id='Identification line', >>> nodes=np.array([0, 10, 13, 14, 15, 16, 17])) >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite._write_set(dataset, 'add') >>> dataset
Dataset 151
- pyuff.prepare_151(model_name=None, description=None, db_app=None, date_db_created=None, time_db_created=None, version_db1=None, version_db2=None, file_type=None, date_db_saved=None, time_db_saved=None, program=None, date_db_written=None, time_db_written=None, return_full_dict=False)[source]
Name: Header
R-Record, F-Field
- Parameters:
model_name – R1 F1, Model file name
description – R2 F1, Model file description
db_app – R3 F1, Name of the application that created database
date_db_created – R4 F1, Date database created, optional
time_db_created – R4 F2, Time database created, optional
version_db1 – R4 F3, Version string 1 of the database, optional
version_db2 – R4 F4, Version string 2 of the database, optional
file_type – R4 F5, File type. 0:Universal, 1:Archive, 2:Other, optional
date_db_saved – R5 F1, Date database last saved, optional
time_db_saved – R5 F2, Time database last saved, optional
program – R6 F1, Program which created universal file
date_db_written – R7 F1, Date universal file was written, optional
time_db_written – R7 F2 Time universal file was written, optional
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_151
>>> save_to_file = 'test_pyuff' >>> dataset = pyuff.prepare_151( >>> model_name='Model file name', >>> description='Model file description', >>> db_app='Program which created DB', >>> date_db_created='27-Jan-16', >>> time_db_created='14:38:15', >>> version_db1=1, >>> version_db2=2, >>> file_type=0, >>> date_db_saved='28-Jan-16', >>> time_db_saved='14:38:16', >>> program='OpenModal', >>> date_db_written='29-Jan-16', >>> time_db_written='14:38:17') >>> dataset >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite._write_set(dataset, 'add') >>> dataset
Dataset 164
- pyuff.prepare_164(units_code=None, units_description=None, temp_mode=None, length=None, force=None, temp=None, temp_offset=None, return_full_dict=False)[source]
Name: Units
R-Record, F-Field
- Parameters:
units_code – R1 F1, Units code: 1 - SI: Meter (newton), 2 - BG: Foot (pound f), 3 - MG: Meter (kilogram f), 4 - BA: Foot (poundal), 5 - MM: mm (milli newton), 6 - CM: cm (centi newton), 7 - IN: Inch (pound f), 8 - GM: mm (kilogram f), 9 - US: USER_DEFINED
units_description – R1 F2, Units cription, optional
temp_mode – R1 F3, Temperature mode (1-absolute, 2-relative), optional
length – R2 F1, Length
force – R2 F2, Force
temp – R2 F3, Temperature
temp_offset – R2 F4, Temperature offset
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_164
>>> save_to_file = 'test_pyuff' >>> dataset = pyuff.prepare_164( >>> units_code=1, >>> units_description='SI units', >>> temp_mode=1, >>> length=3.28083989501312334, >>> force=2.24808943099710480e-01, >>> temp=1.8, >>> temp_offset=459.67) >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite._write_set(dataset, 'add') >>> dataset
Dataset 2411
- pyuff.prepare_2411(node_nums=None, def_cs=None, disp_cs=None, color=None, x=None, y=None, z=None, return_full_dict=False)[source]
Name: Nodes - Double Precision
R-Record, F-Field
- Parameters:
node_nums – R1 F1, Node label
def_cs – R1 F2, Export coordinate system number
disp_cs – R1 F3, Displacement coordinate system number
color – R1 F4, Color
x – R2 F1, Node coordinates in the part coordinate system
y – R2 F2, Node coordinates in the part coordinate system
z – R2 F3, Node coordinates in the part coordinate system
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Records 1 and 2 are repeated for each node in the model.
Dataset 2412
- pyuff.prepare_2412(element_nums=None, fe_descriptor=None, phys_table=None, mat_table=None, color=None, num_nodes=None, nodes_nums=None, beam_orientation=None, beam_foreend_cross=None, beam_aftend_cross=None, return_full_dict=False)[source]
Name: Elements
R-Record, F-Field
- Parameters:
element_nums – R1 F1, List of n element numbers
fe_descriptor – R1 F2, Fe descriptor id
phys_table – R1 F3, Physical property table number
mat_table – R1 F4, Material property table number
color – R1 F5, Color, optional
num_nodes – R1 F6, Number of nodes on element
nodes_nums – R2 F1 (R3 FOR RODS), Node labels defining element
beam_orientation – R2 F1 FOR RODS ONLY, beam orientation node number
beam_foreend_cross – R2 F2 FOR RODS ONLY, beam fore-end cross section number
beam_aftend_cross – R2 F3 FOR RODS ONLY, beam aft-end cross section number
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_2412
>>> save_to_file = 'test_pyuff' >>> data = pyuff.prepare_2412( >>> element_nums=np.array([69552, 98919, 69304]), >>> fe_descriptor=np.array([94, 94, 94]), >>> phys_table=np.array([2, 2, 2]), >>> mat_table=np.array([1, 1, 1]), >>> color=np.array([2, 2, 2]), >>> nodes_nums=np.array([[ 29, 2218, 2219,30],[81619, 83403, 2218, 29],[ 30, 2219, 2119, 31],[ 31, 2119, 1659, 32]])) >>> dataset = {'type':2412, 'quad':data} >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite.write_sets(dataset, mode='add') >>> dataset
Dataset 2414
- pyuff.prepare_2414(analysis_dataset_label=None, analysis_dataset_name=None, dataset_location=None, id1=None, id2=None, id3=None, id4=None, id5=None, model_type=None, analysis_type=None, data_characteristic=None, result_type=None, data_type=None, number_of_data_values_for_the_data_component=None, design_set_id=None, iteration_number=None, solution_set_id=None, boundary_condition=None, load_set=None, mode_number=None, time_step_number=None, frequency_number=None, creation_option=None, number_retained=None, time=None, frequency=None, eigenvalue=None, modal_mass=None, viscous_damping=None, hysteretic_damping=None, real_part_eigenvalue=None, imaginary_part_eigenvalue=None, real_part_of_modal_A_or_modal_mass=None, imaginary_part_of_modal_A_or_modal_mass=None, real_part_of_modal_B_or_modal_mass=None, imaginary_part_of_modal_B_or_modal_mass=None, d=None, node_nums=None, x=None, y=None, z=None, return_full_dict=False)[source]
Name: Analysis Data
R-Record, F-Field
- Parameters:
analysis_dataset_label – R1 F1, Analysis dataset label
analysis_dataset_name – R2 F1, Analysis dataset name
dataset_location – R3 F1, Dataset location, 1:Data at nodes, 2:Data on elements, 3:Data at nodes on elements, 5:Data at points
id1 – R4 F1, ID line 1
id2 – R5 F1, ID line 2
id3 – R6 F1, ID line 3
id4 – R7 F1, ID line 4
id5 – R8 F1, ID line 5
model_type – R9 F1, Model type
analysis_type – R9 F2, Analysis type
data_characteristic – R9 F3, Data characteristic
result_type – R9 F4, Result type
data_type – R9 F5, Data type
number_of_data_values_for_the_data_component – R9 F6, Number of data values for the data component (NVALDC)
Integer analysis type specific data
- Parameters:
design_set_id – R10 F1,
iteration_number – R10 F1,
solution_set_id – R10 F1,
boundary_condition – R10 F1,
load_set – R10 F1,
mode_number – R10 F1,
time_step_number – R10 F1,
frequency_number – R10 F1,
creation_option – R11 F1,
number_retained – R11 F1,
Real analysis type specific data
- Parameters:
time – R12 F1,
frequency – R12 F1,
eigenvalue – R12 F1,
modal_mass – R12 F1,
viscous_damping – R12 F1,
hysteretic_damping – R12 F1,
real_part_eigenvalue – R13 F1,
imaginary_part_eigenvalue – R13 F1,
real_part_of_modal_A_or_modal_mass – R13 F1,
imaginary_part_of_modal_A_or_modal_mass – R13 F1,
real_part_of_modal_B_or_modal_mass, – R13 F1,
imaginary_part_of_modal_B_or_modal_mass – R13 F1,
node_nums – R14 F1, Node number
d – R15 F1, Data at this node (NDVAL real or complex values)
x – R15 F1,
y – R15 F1,
z – R15 F1,
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included
Test prepare_2414
>>> save_to_file = 'test_pyuff' >>> dataset = pyuff.prepare_2414( >>> analysis_dataset_label=1, >>> analysis_dataset_name='Solid displacement at 1.00000e+02 Hz', >>> dataset_location=1, >>> id1='FEMTown to UNV output driver', >>> id2=' Analysis', >>> id3='Solid displacement at 1.00000e+02 Hz', >>> id4='LoadCase 1', >>> id5='none', >>> model_type=0, >>> analysis_type=5, >>> data_characteristic=2, >>> result_type=8, >>> data_type=5, >>> number_of_data_values_for_the_data_component=3, >>> design_set_id=1, >>> iteration_number=0, >>> solution_set_id=1, >>> boundary_condition=0, >>> load_set=1, >>> mode_number=0, >>> time_step_number=0, >>> frequency_number=0, >>> creation_option=1, >>> number_retained=1, >>> time=0.0, >>> frequency=100.0, >>> eigenvalue=100.0, >>> modal_mass=0.0, >>> viscous_damping=0.0, >>> hysteretic_damping=0.0, >>> real_part_eigenvalue=0.0, >>> imaginary_part_eigenvalue=0.0, >>> real_part_of_modal_A_or_modal_mass=0.0, >>> imaginary_part_of_modal_A_or_modal_mass=0.0, >>> real_part_of_modal_B_or_modal_mass=0.0, >>> imaginary_part_of_modal_B_or_modal_mass=0.0, >>> node_nums=np.array([29, 30, 31]), >>> x=np.array([2.84811e-09+1.73733e-09j, 3.11873e-09+1.19904e-09j, 3.28182e-09+6.12300e-10j]), >>> y=np.array([-7.13813e-10+6.53419e-10j, -4.95859e-10+8.07390e-10j, -2.52772e-10+9.05991e-10j]), >>> z=np.array([4.28828e-10+2.47563e-10j, 4.65334e-10+1.70107e-10j, 4.87383e-10+8.66597e-11j])) >>> if save_to_file: >>> if os.path.exists(save_to_file): >>> os.remove(save_to_file) >>> uffwrite = pyuff.UFF(save_to_file) >>> uffwrite.write_sets(dataset, mode='add') >>> dataset
Dataset 2420
- pyuff.prepare_2420(Part_UID=None, Part_Name=None, CS_sys_labels=None, CS_types=None, CS_colors=None, CS_names=None, CS_matrices=None, return_full_dict=False)[source]
Name: Coordinate Systems
R-Record, F-Field
- Parameters:
Part_UID – R1 F1, Part UID
Part_Name – R2 F1, Part Name
CS_sys_labels – R3 F1, Coordinate System Label
CS_types – R3 F2, Coordinate System Type (0-Cartesian, 1-Cylindrical, 2-Spherical)
CS_colors – R3 F3, Coordinate System Color
CS_names – R4 F1, Coordinate System Name
CS_matrices – R5-8 F1-3, Transformation Matrix
return_full_dict – If True full dict with all keys is returned, else only specified arguments are included