Defining Functions for Generic Material Transfer

The IronPython script generic_material_transfer.py defines the functions for passing the MatML-formatted material data to a downstream Engineering Data task group or task. This includes the method update (invoked by the callback <onupdate> in the XML file), which accesses the file SampleMaterials.xml.

def update(task):
    container = task.InternalObject
    extensionDir = ExtAPI.ExtensionManager.CurrentExtension.InstallDir
    matFilePath = System.IO.Path.Combine(extensionDir, "Sample_Materials.xml")
    matFileRef = None
    isRegistered = IsFileRegistered(FilePath=matFilePath)
    if isRegistered == True:
        matFileRef = GetRegisteredFile(matFilePath)
    else:
        matFileRef = RegisterFile(FilePath=matFilePath)
        AssociateFileWithContainer(matFileRef, container)
    outputRefs = container.GetOutputData()
    matOutputSet = outputRefs["MatML31"]
    matOutput = matOutputSet[0]
    matOutput.TransferFile = matFileRef