You create assembly outputs by setting the declared field assembly output’s field variable Output property to a persistent business object. EvaluateAssembly is invoked when the outputs are to be created and anytime the assembly needs to be evaluated. Therefore, it is the responsibility of the developer to determine whether the output is already generated. A typical pattern for creating an assembly output might appear as:
If (m_NozzleSuction.Output Is Nothing) Then
m_NozzleSuction.Output = ConstructNozzleSuction(oSP3DConnection)
The code always checks whether the output already exists and only constructs the output when it is Nothing. Failure to make this check results in an exception indicating that the output already exists.