As noted earlier, output will already exist with subsequent invocations of the EvaluateAssembly method. To modify the output, cast the output to the constructed business object class and manipulate the object:
<AssemblyOutput(2, SPSSymbolConstants.Pier)> _
Public m_oPierAssemblyOutput As AssemblyOutput
.
.
Public Overrides Sub EvaluateAssembly()
Dim oPierComponent As FoundationComponent = Nothing
' construct the pier (if not generated yet)
If m_oPierAssemblyOutput.Output Is Nothing Then
oPierComponent = CreateComponent(SPSSymbolConstants.Pier)
m_oPierAssemblyOutput.Output = oPierComponent
Else
oPierComponent = DirectCast(m_oPierAssemblyOutput.Output, FoundationComponent)
End If
oPierComponent.Origin = New Position(1, 2, 3)
.
.