Checking the Status of Nested Symbols - Intergraph Smart 3D - Reference Data - Hexagon PPM

Intergraph Smart 3D Reference Data

Language
English
Product
Intergraph Smart 3D
Subproduct
Reference Data
Search by Category
Reference Data
Smart 3D Version
13.1

There are 3D APIs to place and update a nested symbol from an outer symbol. You must check the status of the nested symbol after an update to see if the update resulted in success, failure, or warning.

A read-only property called ToDoListMessage is available in SymbolOccurrence. After calling update() on the nested symbol, this property needs to be checked to know the status of the update. When the symbol updates successfully, this property is null. When the Update() results in a warning or error, the ToDoListMessage property is not null. The following example shows how to check the status of Update().

Dim oBox As SymbolOccurrence

oBox = New SymbolOccurrence(oConnection, "SP3DBallValve,Ingr.SP3D.Piping.NetBox", "", True)

oBox.SetInputDouble("Xmax", 0.6)

oBox.SetInputDouble("Ymax", 0.6)

oBox.SetInputDouble("Zmax", 1.1)

oBox.Update()

'Check the status of update

Dim oBoxTDLMsg As ToDoListMessage

oBoxTDLMsg = oBox.ToDoListMessage

If Not oBoxTDLMsg Is Nothing Then

'Create a ToDoList Message on outer symbol
ToDoListMessage = New ToDoListMessage(oBoxTDLMsg.Type, oBoxTDLMsg.Text)

End If

If the outer symbol does not check the status of Update() for the nested symbol, and therefore does not create a ToDoListMessage on itself, no To Do record is created. No To Do record is created on the inner symbol because the Update() method on the inner symbol does not create a To Do record.

Any symbol occurrence (outer or inner) created using 3DAPI has the property ‘ToDoListMessage’ which can be used in 3DAPI.

If there are any existing .NET symbols that use nested symbols, they need to be modified to check the status of nested symbols after Update(). In case there is an error, appropriate action (such as creating a ToDoListMessage on outer symbol as shown in the example above) needs to be taken.