Network Link Functions
These functions are used for working with network links.
| Function | Description |
|---|---|
addLink | Adds a new link to a project. |
deleteLink | Deletes a link from the project. |
getLinkIndex | Gets the index of a link given its ID name. |
getLinkId | Gets the ID name of a link given its index. |
setLinkId | Changes the ID name of a link. |
getLinkType | Retrieves a link’s type. |
setLinkType | Changes a link’s type. |
getLinkNodes | Gets the indexes of a link’s start- and end-nodes. |
setLinkNodes | Sets the indexes of a link’s start- and end-nodes. |
getLinkValue | Retrieves a property value for a link. |
setLinkValue | Sets a property value for a link. |
setPipeData | Sets a group of properties for a pipe link. |
getPumpType | Retrieves the type of head curve used by a pump. |
getHeadCurveIndex | Retrieves the curve assigned to a pump’s head curve. |
setHeadCurveIndex | Assigns a curve to a pump’s head curve. |
getVertexCount | Retrieves the number of internal vertex points assigned to a link. |
getVertex | Retrieves the coordinate’s of a vertex point assigned to a link. |
setVertices | Assigns a set of internal vertex points to a link. |
addLink
Section titled “addLink”Adds a new link to a project.
addLink(id: string, linkType: LinkType, fromNode: string, toNode: string): number;Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | the ID name of the link to be added. |
| linkType | LinkType | The type of link being added (see LinkType) |
| fromNode | string | The ID name of the link’s starting node. |
| toNode | string | The ID name of the link’s ending node. |
Returns
Number
the index of the newly added link.
A new pipe is assigned a diameter of 10 inches (254 mm) and a length of 330 feet (~ 100 meters). Its roughness coefficient depends on the head loss formula in effect (see HeadLossType) as follows:
- Hazen-Williams formula: 130
- Darcy-Weisbach formula: 0.5 millifeet (0.15 mm) *Chezy-Manning formula: 0.01
All other pipe properties are set to 0.
A new pump has a status of LinkStatusType.Open, a speed setting of 1, and has no pump curve or power rating assigned to it.
A new valve has a diameter of 10 inches (254 mm) and all other properties set to 0.
See LinkProperty.
deleteLink
Section titled “deleteLink”Deletes a link from the project.
deleteLink(index: number, actionCode: ActionCodeType): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | the index of the link to be deleted. |
| actionCode | ActionCodeType | The action taken if any control contains the link. |
If actionCode is ActionCodeType.Unconditional then the link and all simple and rule-based controls that contain it are deleted. If set to ActionCodeType.Conditional then the link is not deleted if it appears in any control and error 261 is returned.
getLinkIndex
Section titled “getLinkIndex”Gets the index of a link given its ID name.
getLinkIndex(id: string): number;Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | a link’s ID name. |
Returns
Number
the link’s index (starting from 1).
getLinkId
Section titled “getLinkId”Gets the ID name of a link given its index.
getLinkId(index: number): string;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
Returns
string
The link’s ID name.
setLinkId
Section titled “setLinkId”Changes the ID name of a link.
setLinkId(index: number, newid: string): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
| newid | string | the new ID name for the link. |
getLinkType
Section titled “getLinkType”Retrieves a link’s type.
getLinkType(index: number): LinkType;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
Returns
LinkType
the link’s type (see LinkType).
setLinkType
Section titled “setLinkType”Changes a link’s type.
setLinkType(index: number, linkType: LinkType, actionCode: ActionCodeType): number;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | the link’s index |
| linkType | LinkType | the new type to change the link to (see LinkType). |
| actionCode | ActionCodeType | the action taken if any controls contain the link. |
Returns
Number
the link’s new index after the type change.
If actionCode is ActionCodeType.Unconditional then all simple and rule-based controls that contain the link are deleted when the link’s type is changed. If set to ActionCodeType.Conditional then the type change is cancelled if the link appears in any control and error 261 is returned.
getLinkNodes
Section titled “getLinkNodes”Gets the indexes of a link’s start- and end-nodes.
getLinkNodes(index: number): {node1: number;node2: number;};Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
Returns
Object
{ node1: number; node2: number;}| Property | Type | Description |
|---|---|---|
| node1 | number | the index of the link’s start node (starting from 1). |
| node2 | number | the index of the link’s end node (starting from 1). |
setLinkNodes
Section titled “setLinkNodes”Sets the indexes of a link’s start- and end-nodes.
setLinkNodes(index: number, node1: number, node2: number): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
| node1 | number | The index of the link’s start node (starting from 1). |
| node2 | number | The index of the link’s end node (starting from 1). |
getLinkValue
Section titled “getLinkValue”Retrieves a property value for a link.
getLinkValue(index: number, property: LinkProperty): number;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
| property | LinkProperty | the property to retrieve (see LinkProperty). |
Returns
Number
the current value of the property.
Values are returned in units that depend on the units used for flow rate (see Measurement Units).
setLinkValue
Section titled “setLinkValue”Sets a property value for a link.
setLinkValue(index: number, property: number, value: number): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index. |
| property | number | the property to set (see LinkProperty). |
| value | number | the new value for the property. |
Values are in units that depend on the units used for flow rate (see Measurement Units).
setPipeData
Section titled “setPipeData”Sets a group of properties for a pipe link.
setPipeData(index: number, length: number, diam: number, rough: number, mloss: number): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | the index of a pipe link (starting from 1). |
| length | number | the pipe’s length. |
| diam | number | the pipe’s diameter. |
| rough | number | the pipe’s roughness coefficient. |
| mloss | number | the pipe’s minor loss coefficient. |
These properties have units that depend on the units used for flow rate (see Measurement Units).
getPumpType
Section titled “getPumpType”Retrieves the type of head curve used by a pump.
getPumpType(index: number): PumpType;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | the index of a pump link (starting from 1). |
Returns
PumpType
the type of head curve used by the pump (see PumpType).
getHeadCurveIndex
Section titled “getHeadCurveIndex”Retrieves the curve assigned to a pump’s head curve.
getHeadCurveIndex(linkIndex: number): number;Parameters
| Parameter | Type | Description |
|---|---|---|
| linkIndex | number | the index of a pump link (starting from 1). |
Returns
Number
the index of the curve assigned to the pump’s head curve.
setHeadCurveIndex
Section titled “setHeadCurveIndex”Assigns a curve to a pump’s head curve.
setHeadCurveIndex(linkIndex: number, curveIndex: number): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| linkIndex | number | the index of a pump link (starting from 1). |
| curveIndex | number | the index of a curve to be assigned as the pump’s head curve. |
getVertexCount
Section titled “getVertexCount”Retrieves the number of internal vertex points assigned to a link.
getVertexCount(index: number): number;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
Returns
Number
the number of vertex points that describe the link’s shape.
getVertex
Section titled “getVertex”Retrieves the coordinate’s of a vertex point assigned to a link.
getVertex(index: number, vertex: number): {x: number;y: number;};Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
| vertex | number | a vertex point index (starting from 1). |
Returns
Object
{ x: number; y: number;}| Property | Type | Description |
|---|---|---|
| x | number | the vertex’s X-coordinate value. |
| y | number | the vertex’s Y-coordinate value. |
setVertices
Section titled “setVertices”Assigns a set of internal vertex points to a link.
setVertices(index: number, x: number[], y: number[]): void;Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | a link’s index (starting from 1). |
| x | Number[] | an array of X-coordinates for the vertex points. |
| y | Number[] | an array of Y-coordinates for the vertex points. |
Replaces any existing vertices previously assigned to the link.