Multiport Valve Operator Data - Intergraph Smart 3D - Reference Data

Intergraph Smart 3D Piping Reference Data

PPMProductFamily
3D Design and Visualization
PPMProduct
Intergraph Smart 3D
PPMCategory
Reference Data
Version_S3D
12.1(2019)

The Multiport Valve Operator Data node (the MultiportValveOperatorData sheet in the Bio Pharm Catalog.xls workbook) defines the operator data for each port of a multiport valve. This information is used when the Multiport Valve Op Req in the Piping Commodity Material Control Data specifies that multiport operators are required.

Contractor Commodity Code (Required)

Enter the contractor commodity code, which is the commodity code that is used during the design phase.

The Contractor Commodity Code and the Client Commodity Code properties both must be size-independent or size-dependent. One cannot be size-dependent and the other one be size-independent. In addition, both must include a schedule or neither must include a schedule.

First Size From (Required)

Defines the lower bound of the largest nominal piping diameter for which this operator applies.

First Size To (Required)

Defines the upper bound of the largest nominal piping diameters for which this operator applies.

First Size Units (Required)

Specifies the units for the First Size From and First Size To columns. For example, you could enter in for inches or mm for millimeters.

Multisize Option (Conditionally Required)

Type a string to represent an optional piping commodity selection for multi-sized fittings when the first size and second size are inadequate.

For example, if two additional sizes (2" and 1") are required in addition to a first size of 6" and a second size of 4", the string that would represent the sizes would be 6x4x2x1. The software interprets the string to determine the second size and the number of sizes in addition to the first size and second size. The unit of measure for the first size, defined in the First Size Units column, is used for the string.

Port Number (Required)

Specify the port number on the valve for which the valve operator or actuator applies.

This value is the port number in reference to the symbol. For example, in most manufacturers' catalogs a 5- way diverter valve has the outlet ports numbered 1 through 5. However, most symbols designate 1 as the inlet port. In which case, the outlet ports would be 2 through 6. The port number that you define here is relative to the symbol port numbers. For more information about symbols, refer to the Smart 3D Reference Data Guide.

Second Size From (Conditionally Required)

Defines the lower bound of the next largest nominal piping diameter for which this operator applies.

Second Size To (Conditionally Required)

Defines the upper bound of the next largest nominal piping diameters for which this operator applies.

Second Size Units (Conditionally Required)

Specifies the units for the Second Size From and Second Size To columns. For example, you could enter in for inches or mm for millimeters.

Valve Operator Geometric Ind Std (Optional)

Enter the code that represents the source used in the preparation of the catalog data applicable to the valve operator. Valid codes are listed in the AllCodeLists.xls workbook on the GeometricIndustryStandard sheet in the Codelist Number column.

Valve Operator Number (Required)

Type the unique identification for the valve operator as found in the catalog data and the material control data.

Valve Operator Type (Required)

Enter the code that represents the specific type of valve operator, actuator, or appurtenance. Valid codes are listed in the AllCodeLists.xls workbook on the ValveOperatorType sheet in the Codelist Number column.

You can specify valve accessories using the Port Number and Valve Operator Type. The Port Number value represents the valve port number for which the valve operator or actuator applies. The valve port number can also be used to specify one or more valve accessories for each valve operator or valve actuator. Because the port number must uniquely identify the mounting location of the applicable valve accessory, the port number for a valve accessory must be specified using the following formula:

Accessory Port Number = (Operator/actuator Port Number * 100) + mounting location number

Where the mounting location is specified for each valve operator or valve actuator. The mounting location number is a value of 1 or 2 as indicated by the following figure:

In the following example, the gearbox is the operator and is set to 1. The chainwheel is the accessory, so its value is set to 101 according to the formula.

Valve Symbol

The following methods are available to support valve symbols.

  • GetValveOperatorsForPorts - Retrieves the valveoperator collection for multi-operator cases.

  • GetValveOperatorPartPerPort - Retrieves the valveoperator part given the port number for multi-operator cases.

  • SetMultiPortValveAccColl - Sets the partnumber on the specified port number for multi-operator cases.

The following example shows the valve symbol:

'****************************************************************************************************

'Operator

'****************************************************************************************************

'Insert your code for output 7 (Valve Operator)

Dim oSymbolHelper As IJSymbolGeometryHelper

Set oSymbolHelper = New SP3DSymbolHelper.SymbolServices

oSymbolHelper.OutputCollection = m_OutputColl

Dim oDirX As IJDVector

Dim oDirY As IJDVector

Dim oDirZ As IJDVector

Set oDirX = New DVector

Set oDirY = New DVector

Set oDirZ = New DVector

oDirX.Set Cos(parHandwheelAngle), 0, Sin(parHandwheelAngle)

oDirY.Set 0, 1, 0

oDirZ.Set -Sin(parHandwheelAngle), 0, Cos(parHandwheelAngle)

Dim oOperatorPart As IJDPart

Dim oOperatorOcc As IJPartOcc

Dim oVlvPart As GSCADRefDataPipingSpec.IJValveOperator

If Not oPipeComponent Is Nothing Then

On Error Resume Next

If oPipeComponent.GetMultiPortValveOperatorRequirement = 5 Then

On Error GoTo ErrorLabel

Set oOperatorPart = oPipeComponent.GetValveOperatorPart

ElseIf oPipeComponent.GetMultiPortValveOperatorRequirement = 10 Then

On Error GoTo ErrorLabel

Dim oMultiValCol As IJMultiPortValveAccCol

Dim strPartNumber As String

Dim lPortNumber As Long

oPipeComponent.GetValveOperatorsForPorts oMultiValCol

If Not oMultiValCol Is Nothing Then

lPortNumber = 1

strPartNumber = oPartFclt.PartNumber

Set oOperatorPart = oMultiValCol.GetValveOperatorPartPerPort(lPortNumber)

If Not oOperatorPart Is Nothing Then

Set oVlvPart = oOperatorPart

Call oVlvPart.SetMultiPortValveAccCollInfo(lPortNumber, strPartNumber)

If Not oOperatorPart Is Nothing Then

Set OpOrigin = New DPosition

OpOrigin.Set 0, 0, 0

oDirX.Set Cos(parHandwheelAngle), 0, Sin(parHandwheelAngle)

oDirY.Set 0, -1, 0

oDirZ.Set Sin(parHandwheelAngle), 0, -Cos(parHandwheelAngle)

Set oOperatorOcc = oSymbolHelper.CreateChildPartOcc("ValveOperator", oOperatorPart, OpOrigin, oDirX, oDirY, oDirZ)

Set oIJDEditJDArgument = GetIJDEditJDArgument(oOperatorOcc)

'Offset from Valve Center line

UpdateOperatorAttributes oOperatorOcc, "IJUAOffsetFrmValCen", _

"OffsetFrmValCen", parOffsetfrmValCen, oIJDEditJDArgument

Set oIJDInputsArg = oOperatorOcc

oIJDInputsArg.Update

End If

Set oVlvPart = Nothing

End If

lPortNumber = 2

strPartNumber = oPartFclt.PartNumber

Set oOperatorPart = oMultiValCol.GetValveOperatorPartPerPort(lPortNumber)

If Not oOperatorPart Is Nothing Then

Set oVlvPart = oOperatorPart

Call oVlvPart.SetMultiPortValveAccCollInfo(lPortNumber, strPartNumber)

If Not oOperatorPart Is Nothing Then

Set OpOrigin = New DPosition

OpOrigin.Set 0, 0, 0

oDirX.Set Cos(parHandwheelAngle), 0, Sin(parHandwheelAngle)

oDirY.Set 0, 1, 0

oDirZ.Set -Sin(parHandwheelAngle), 0, Cos(parHandwheelAngle)

Set oOperatorOcc = oSymbolHelper.CreateChildPartOcc("ValveOperator1", oOperatorPart, OpOrigin, oDirX, oDirY, oDirZ)

Set oIJDEditJDArgument = GetIJDEditJDArgument(oOperatorOcc)

'Offset from Valve Center line

UpdateOperatorAttributes oOperatorOcc, "IJUAOffsetFrmValCen", _

"OffsetFrmValCen", parMotorOffsetfrmValCen, oIJDEditJDArgument

Set oIJDInputsArg = oOperatorOcc

oIJDInputsArg.Update

End If

Set oVlvPart = Nothing

End If

End If

End If

Valve Operator Symbol

The following method is available to support valve operator symbols.

  • GetMountingLocationsAndValveAccessories - Retrieves the mounting locations and valve accessory collection.

The following example shows the valve operator symbol:

' Insert your code for the Valve Accessory parts

Dim oVlvOpPart As IJValveOperator

Dim oAccessoryCol As IJDCollection

Dim aMountingLocations() As Long

Set oVlvOpPart = oPartFclt

On Error Resume Next

Call oVlvOpPart.GetMountingLocationsAndValveAccessories(aMountingLocations, oAccessoryCol)

'Set oVlvOpPart = Nothing

oSymbolHelper.OutputCollection = m_OutputColl

On Error Resume Next

Dim oOperatorOcc As IJPartOcc

Dim oOpPart As IJValveOperator

Dim i As Long

Dim lLocation As Long

If Not oVlvOpPart Is Nothing Then

On Error Resume Next

If Not oAccessoryCol Is Nothing Then

For i = 1 To oAccessoryCol.Size

lLocation = aMountingLocations(i)

' Insert your Code for Side Mounted Accessory

If lLocation = 1 Then

Set oOpPart = oAccessoryCol.Item(i)

OpOrigin.Set 0, parOffsetfromValveCenterLine + parActuatorHeight, 0

oDirX.Set 1, 0, 0

oDirY.Set 0, 1, 0

oDirZ.Set 0, 0, 1

Set oOperatorOcc = oSymbolHelper.CreateChildPartOcc("ValveAccessory1", oOpPart, OpOrigin, oDirX, oDirY, oDirZ)

Set oIJDEditJDArgument = GetIJDEditJDArgument(oOperatorOcc)

Set oOpPart = Nothing

Set oOperatorOcc = Nothing

End If

If lLocation = 2 Then

Set oOpPart = oAccessoryCol.Item(i)

OpOrigin.Set 0, parOffsetfromValveCenterLine + parAccessory2YOffset, 0

oDirX.Set 0, 1, 0

oDirY.Set Cos(parAngle), 0, Sin(parAngle)

oDirZ.Set Sin(parAngle), 0, -Cos(parAngle)

Set oOperatorOcc = oSymbolHelper.CreateChildPartOcc("ValveAccessory2", oOpPart, OpOrigin, oDirX, oDirY, oDirZ)

Set oIJDEditJDArgument = GetIJDEditJDArgument(oOperatorOcc)

Set oOpPart = Nothing

Set oOperatorOcc = Nothing

End If

Next i

End If

End If

See Also

Instrument Class Data
Multiport Valve Operator Data
Piping Commodity Filter
Piping Commodity Material Control Data
Piping Commodity Procurement
Piping Materials Classes
Piping Specialty Class Data
Valve Operator Material Control Data
Commodity Codes
Instruments
Pipe Specification