Skip to main content
View as Markdown

IPCB_PinPairsManager interface

The manager of the pin pairs (xSignals) of a PCB document.

public interface IPCB_PinPairsManager

Namespace: PCB · Assembly: Altium.SDK.Interfaces

Remarks​

The manager of a board is IPCB_Board.PinPairsManager. It lists the pin pairs (PinPairsCount, PinPairs), creates and removes them, and groups them into xSignal classes.

A pin pair is out of date after it was created from pin descriptors or after its pins were swapped, until its signal path is calculated again. InvalidateAll recalculates every pin pair that is out of date.

Properties​

PropertyTypeAccessDescription
PinPairsIPCB_PinPairgetReturns a pin pair of the board, by index.
PinPairsCountintgetThe number of pin pairs of the board.

PinPairs​

Returns a pin pair of the board, by index.

IPCB_PinPair GetState_PinPairs(int argIndex);

Type: IPCB_PinPair · Access: read-only · Index: argIndex (int): The zero-based index of the pin pair.

The accessors are extension methods of IPCB_PinPairsManagerHelper (using PCB;).

Returns null when the index is outside the range 0 to PinPairsCount - 1.

PinPairsCount​

The number of pin pairs of the board.

int GetState_PinPairsCount();

Type: int · Access: read-only

Methods​

MethodReturnsDescription
AssignPinPairClassvoidAdds pin pairs to an xSignal class, and creates the class on the board when there is no xSignal class of that name.
CanCreateTiePointsboolReturns whether tie points can be created for the given pin pairs.
CreateFromPinsIPCB_PinPairCreates a pin pair from pins and adds it to the board.
CreateFromPinsDescriptorsIPCB_PinPairCreates a pin pair from a string of pin descriptors and adds it to the board.
CreateTiePointsIInterfaceList
DeletevoidRemoves a pin pair from the manager and from the board.
GetPinPairOfIPCB_PinPairReturns a pin pair whose pins or signal path include the given primitive.
InvalidateAllvoidRecalculates the signal path of every pin pair that is out of date.
StateIDlongReturns a counter that increases each time a pin pair is added to or removed from the manager.
SwapPinsIInterfaceListExchanges two pins in every pin pair that contains them, and returns the pin pairs that changed.

AssignPinPairClass​

Adds pin pairs to an xSignal class, and creates the class on the board when there is no xSignal class of that name.

void AssignPinPairClass(IInterfaceList argPinPairs, string argClassName);
void AssignPinPairClass(object argPinPairs, string argClassName);
ParameterTypePassingDescription
argPinPairsIInterfaceListvalueThe pin pairs to add, as IPCB_PinPair items.
argClassNamestringvalueThe name of the xSignal class.

Returns: nothing (void)

The first overload is an extension method of IPCB_PinPairsManagerHelper (using PCB;) with typed parameters; the second is declared by the interface.

The class is an IPCB_ObjectClass whose MemberKind is TClassMemberKind.eClassMemberKind_Signal; each pin pair is added by its Name. Nothing is added to a class whose SuperClass is true. The class name is compared case-sensitively; a name that differs only in case creates another class.

CanCreateTiePoints​

Returns whether tie points can be created for the given pin pairs.

bool CanCreateTiePoints(IInterfaceList argPinPairs);
bool CanCreateTiePoints(object argPinPairs);
ParameterTypePassingDescription
argPinPairsIInterfaceListvalueThe pin pairs to check. Items that are not IPCB_PinPair are ignored.

Returns: bool

The first overload is an extension method of IPCB_PinPairsManagerHelper (using PCB;) with typed parameters; the second is declared by the interface.

The pin pairs are grouped by the primitive at which they start or end; the result is true when a tie point can be placed for at least one group of two or more pin pairs. Returns false when fewer than two pin pairs are given.

CreateFromPins​

Creates a pin pair from pins and adds it to the board.

IPCB_PinPair CreateFromPins(IInterfaceList argPins);
ParameterTypePassingDescription
argPinsIInterfaceListvalueThe pins of the pin pair, as IPCB_Primitive items.

Returns: IPCB_PinPair

Extension method of IPCB_PinPairsManagerHelper (using PCB;).

The pin pair gets a unique name made of the names of its pins' nets, _PP and a number, and its signal path is calculated at once. Returns null when no list is given.

CreateFromPinsDescriptors​

Creates a pin pair from a string of pin descriptors and adds it to the board.

IPCB_PinPair CreateFromPinsDescriptors(string argPins);
ParameterTypePassingDescription
argPinsstringvalueThe pin descriptors, separated by |. A descriptor is a component designator, - and a pad name, for example U1-16|U4-23.

Returns: IPCB_PinPair

Extension method of IPCB_PinPairsManagerHelper (using PCB;).

The pin pair gets a unique name in the same way as with CreateFromPins. It is out of date until its signal path is calculated: when its lengths, delay or primitives are first read, or by InvalidateAll or IPCB_PinPair.Rebuild. Returns null when the string contains an empty descriptor.

CreateTiePoints​

No description yet.

IInterfaceList CreateTiePoints(IInterfaceList argPinPairs);
ParameterTypePassing
argPinPairsIInterfaceListvalue

Returns: IInterfaceList

Extension method of IPCB_PinPairsManagerHelper (using PCB;).

Delete​

Removes a pin pair from the manager and from the board.

void Delete(IPCB_PinPair argPinPair);
void Delete(object argPinPair);
ParameterTypePassingDescription
argPinPairIPCB_PinPairvalueThe pin pair to remove.

Returns: nothing (void)

The first overload is an extension method of IPCB_PinPairsManagerHelper (using PCB;) with typed parameters; the second is declared by the interface.

Does nothing when no pin pair is given or the pin pair does not belong to this manager.

GetPinPairOf​

Returns a pin pair whose pins or signal path include the given primitive.

IPCB_PinPair GetPinPairOf(IPCB_Primitive argPrimitive);
ParameterTypePassingDescription
argPrimitiveIPCB_PrimitivevalueThe primitive to look up, for example a pad or a track.

Returns: IPCB_PinPair

Extension method of IPCB_PinPairsManagerHelper (using PCB;).

Returns null when the primitive belongs to no pin pair. When it belongs to several pin pairs, one of them is returned. Only pin pairs whose signal path has been calculated are found; call InvalidateAll first to include pin pairs that are out of date.

InvalidateAll​

Recalculates the signal path of every pin pair that is out of date.

void InvalidateAll();

Returns: nothing (void)

Pin pairs that are up to date are not changed. Reading the lengths, the delay or the primitives of an out-of-date pin pair (IPCB_PinPair.Length, IPCB_PinPair.DelayTotal, IPCB_PinPair.GetPrimitives) recalculates it first; GetPinPairOf and IPCB_PinPair.NodeCount do not, so call InvalidateAll before using them.

StateID​

Returns a counter that increases each time a pin pair is added to or removed from the manager.

long StateID();

Returns: long

SwapPins​

Exchanges two pins in every pin pair that contains them, and returns the pin pairs that changed.

IInterfaceList SwapPins(IPCB_Primitive argPinA, IPCB_Primitive argPinB, IPCB_Net argOldNetA, IPCB_Net argOldNetB);
ParameterTypePassingDescription
argPinAIPCB_PrimitivevalueThe first pin.
argPinBIPCB_PrimitivevalueThe second pin.
argOldNetAIPCB_NetvalueNot used.
argOldNetBIPCB_NetvalueNot used.

Returns: IInterfaceList

Extension method of IPCB_PinPairsManagerHelper (using PCB;).

Each changed pin pair is out of date until its signal path is calculated again. Returns an empty list when a pin is not given or both are the same pin.

Returned by​

IPCB_Board.PinPairsManager