Skip to main content
View as Markdown

IPCB_Pad interface

A pad, the connection point of a component pin and of signal tracks, either on a single layer or multi-layer.

public interface IPCB_Pad : IPCB_Primitive

Namespace: PCB · Assembly: Altium.SDK.Interfaces

Inherits: IPCB_Primitive

Derived: IPCB_Pad2

Remarks​

On a multi-layer pad, the shape and size on the top, middle and bottom layers can be assigned independently to define a pad stack. Surface mount components and edge connectors have single-layer pads on the top or bottom layer.

A pad is defined in one of three modes (Mode): simple, top-middle-bottom, or full stack, which allows different sizes and shapes on all signal layers. The corner radius of rounded rectangular pads is given by IPCB_Pad2.

Example​

Create a pad with custom pad cache settings on a new PCB document.

using DXP;
using PCB;

// Create a new PCB document.
var workspace = DXP.GlobalVars.Client.GetDXPWorkspace() as EDP.IWorkspace;
if (workspace == null)
return;
workspace.DM_CreateNewDocument("PCB");
IPCB_ServerInterface pcbServer = PCB.GlobalVars.PCBServer;
if (pcbServer == null)
return;
IPCB_Board board = pcbServer.GetCurrentPCBBoard();
if (board == null)
return;

// Create a pad object.
var pad = pcbServer.PCBObjectFactory(TObjectId.ePadObject, TDimensionKind.eNoDimension, TObjectCreationMode.eCreate_Default) as IPCB_Pad;
pad.SetState_XLocation(EDP.Utils.MilsToCoord(3000));
pad.SetState_YLocation(EDP.Utils.MilsToCoord(3000));

// Set up a pad cache which has common values.
V7_PadCache padCache = pad.GetState_Cache();
padCache.ReliefAirGap = EDP.Utils.MilsToCoord(11);
padCache.PowerPlaneReliefExpansion = EDP.Utils.MilsToCoord(11);
padCache.PowerPlaneClearance = EDP.Utils.MilsToCoord(11);
padCache.ReliefConductorWidth = EDP.Utils.MilsToCoord(11);
padCache.SolderMaskExpansion = EDP.Utils.MilsToCoord(11);
padCache.SolderMaskExpansionValid = TCacheState.eCacheManual;
padCache.PasteMaskExpansion = EDP.Utils.MilsToCoord(11);
padCache.PasteMaskExpansionValid = TCacheState.eCacheManual;

// Assign the new pad cache to the pad.
pad.SetState_Cache(padCache);
int topLayerWidth = pad.GetState_WidthOnLayer(TV6_Layer.eV6_BottomLayer);
board.AddPCBObject(pad);

// Refresh the PCB document.
string parameters = "";
DXP.Utils.SetParamterValue(ref parameters, "Action", "All");
DXP.Utils.RunCommand("PCB:Zoom", parameters);

Properties​

PropertyTypeAccessDescription
BotShapeTShapeget; setThe shape of the pad on the bottom layer of a top-middle-bottom stack.
BotXSizeintget; setThe X size of the pad on the bottom layer of a top-middle-bottom stack.
BotYSizeintget; setThe Y size of the pad on the bottom layer of a top-middle-bottom stack.
CacheV7_PadCacheget; setThe pad's cache of values derived from design rules, such as plane connection style, power plane clearance, relief settings and solder and paste mask expansion, each with its own validity state.
DrillTypeTExtendedDrillTypeget; setThe method used to drill the pad's hole.
HoleNegativeToleranceintget; setThe negative tolerance of the pad's hole size, in internal units (10,000 per mil).
HolePositiveToleranceintget; setThe positive tolerance of the pad's hole size, in internal units (10,000 per mil).
HoleRotationdoubleget; setThe rotation of the hole within the pad, which applies to square and slotted holes.
HoleSizeintget; setThe size of the pad's hole, through which component pins or wires are passed and soldered in place, in internal units (10,000 per mil).
HoleTypeTExtendedHoleTypeget; setThe shape of the pad's hole.
HoleWidthintget; setThe width of the pad's hole, in internal units (10,000 per mil), used by square and slotted holes.
IsConnectedToPlaneboolget; setWhether the pad is connected to the internal plane on the given layer.
JumperIDintget; setThe jumper identifier of the pad; 0 means the pad is not part of a jumper.
MidShapeTShapeget; setThe shape of the pad on the middle layers of a top-middle-bottom stack.
MidXSizeintget; setThe X size of the pad on the middle layers of a top-middle-bottom stack.
MidYSizeintget; setThe Y size of the pad on the middle layers of a top-middle-bottom stack.
ModeTPadModeget; setThe kind of pad stack; a simple pad, a top-middle-bottom stack, or a full stack.
Namestringget; setThe designator of the pad.
OwnerPart_IDintget; setThe identifier of the component part that owns the pad, used for gate and pin swapping.
PinDescriptorStringstringgetThis property obtains the description of the pin which represents the pad of a component.
Platedboolget; setWhether the pad is plated.
Rotationdoubleget; setThe rotation of the pad, in degrees.
ShapeOnLayerTShapegetThis property determines what shape the pad is on this specified layer.
SolderMaskExpansionFromHoleEdgeboolget; setWhether the pad's solder mask expansion is measured from the edge of the hole instead of the edge of the copper.
StackShapeOnLayerTShapeget; setThis property determines what shape the pad stack is on that layer.
SwapID_Padstringget; setThe pin swap identifier of the pad, used for gate and pin swapping.
SwapID_Partstringget; setThe part swap identifier of the pad, used for gate and pin swapping.
SwappedPadNamestringget; setThe name of the pad after gate and pin swapping.
TemplateLinkIPCB_PadViaTemplateLinkgetThe link from the pad to a pad and via template.
TopShapeTShapeget; setThe shape of the pad on the top layer.
TopXSizeintget; setThe X size of the pad on the top layer.
TopYSizeintget; setThe Y size of the pad on the top layer.
WidthOnLayerintgetThe width of the pad on the given layer, the smaller of its X and Y sizes on that layer.
XLocationintget; setThe X coordinate of the pad's location, in internal units (10,000 per mil).
XPadOffsetOnLayerintget; setThe offset in X of the pad's copper shape from the pad's location on the given layer, in internal units (10,000 per mil).
XSizeOnLayerintgetThis property determines what size in X direction the pad is on this specified layer.
XStackSizeOnLayerintget; setThe X size of the pad on the given layer of a full stack (TPadMode.ePadMode_ExternalStack).
YLocationintget; setThe Y coordinate of the pad's location, in internal units (10,000 per mil).
YPadOffsetOnLayerintget; setThe offset in Y of the pad's copper shape from the pad's location on the given layer, in internal units (10,000 per mil).
YSizeOnLayerintgetThis property determines what size in Y direction the pad is on this specified layer.
YStackSizeOnLayerintget; setThe Y size of the pad on the given layer of a full stack (TPadMode.ePadMode_ExternalStack).

BotShape​

The shape of the pad on the bottom layer of a top-middle-bottom stack.

TShape GetState_BotShape();
void SetState_BotShape(TShape argValue);

Type: TShape · Access: read/write

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

Assigning a value has no effect while Mode is TPadMode.ePadMode_Simple.

See also: TShape

BotXSize​

The X size of the pad on the bottom layer of a top-middle-bottom stack.

int GetState_BotXSize();
void SetState_BotXSize(int argValue);

Type: int · Access: read/write

Assigning a value has no effect while Mode is TPadMode.ePadMode_Simple.

BotYSize​

The Y size of the pad on the bottom layer of a top-middle-bottom stack.

int GetState_BotYSize();
void SetState_BotYSize(int argValue);

Type: int · Access: read/write

Assigning a value has no effect while Mode is TPadMode.ePadMode_Simple.

Cache​

The pad's cache of values derived from design rules, such as plane connection style, power plane clearance, relief settings and solder and paste mask expansion, each with its own validity state.

V7_PadCache GetState_Cache();
void SetState_Cache(V7_PadCache argValue);

Type: V7_PadCache · Access: read/write

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

Assigning a cache does not change the pad's tenting settings or whether its paste mask is enabled; they keep their previous values.

To change the cache, read Cache, change a field (for example set SolderMaskExpansionValid to TCacheState.eCacheManual and UseSeparateExpansions to true) and assign it back.

Examples: Extension_Pad_SolderMask

DrillType​

The method used to drill the pad's hole.

TExtendedDrillType GetState_DrillType();
void SetState_DrillType(TExtendedDrillType argDrillType);

Type: TExtendedDrillType · Access: read/write

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

This attribute is used by the manufacturing output files such as the CAM files.

HoleNegativeTolerance​

The negative tolerance of the pad's hole size, in internal units (10,000 per mil).

int GetState_HoleNegativeTolerance();
void SetState_HoleNegativeTolerance(int argValue);

Type: int · Access: read/write

A negative value is stored as its absolute value. Setting the pad's Layer to any layer other than TV6_Layer.eV6_MultiLayer resets both hole tolerances to int.MaxValue.

HolePositiveTolerance​

The positive tolerance of the pad's hole size, in internal units (10,000 per mil).

int GetState_HolePositiveTolerance();
void SetState_HolePositiveTolerance(int argValue);

Type: int · Access: read/write

A negative value is stored as its absolute value. Setting the pad's Layer to any layer other than TV6_Layer.eV6_MultiLayer resets both hole tolerances to int.MaxValue.

HoleRotation​

The rotation of the hole within the pad, which applies to square and slotted holes.

double GetState_HoleRotation();
void SetState_HoleRotation(double argHRotation);

Type: double · Access: read/write

HoleSize​

The size of the pad's hole, through which component pins or wires are passed and soldered in place, in internal units (10,000 per mil).

int GetState_HoleSize();
void SetState_HoleSize(int argValue);

Type: int · Access: read/write

HoleType​

The shape of the pad's hole.

TExtendedHoleType GetState_HoleType();
void SetState_HoleType(TExtendedHoleType argHoleType);

Type: TExtendedHoleType · Access: read/write

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

There are three hole types - Round Hole, Square Hole and Slotted Hole.

See also: TExtendedHoleType

HoleWidth​

The width of the pad's hole, in internal units (10,000 per mil), used by square and slotted holes.

int GetState_HoleWidth();
void SetState_HoleWidth(int argHoleWidth);

Type: int · Access: read/write

For a slotted hole, and for a square hole when HoleWidth is not 0, the hole's size in X is HoleWidth and its size in Y is HoleSize; otherwise both are HoleSize.

IsConnectedToPlane​

Whether the pad is connected to the internal plane on the given layer.

bool GetState_IsConnectedToPlane(TV6_Layer argLayer);
void SetState_IsConnectedToPlane(TV6_Layer argLayer, bool argValue);

Type: bool · Access: read/write · Index: argLayer (TV6_Layer)

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

Returns false for a layer that is not an internal plane layer, and while the pad's plane connections have not been calculated (PlanesValid of Cache is TCacheState.eCacheInvalid). Assigning a value for a layer that is not an internal plane layer does nothing.

JumperID​

The jumper identifier of the pad; 0 means the pad is not part of a jumper.

int GetState_JumperID();
void SetState_JumperID(int argValue);

Type: int · Access: read/write

When connectivity is analysed, pads of the same component that have the same non-zero JumperID are treated as joined by a jumper.

MidShape​

The shape of the pad on the middle layers of a top-middle-bottom stack.

TShape GetState_MidShape();
void SetState_MidShape(TShape argValue);

Type: TShape · Access: read/write

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

Assigning a value has no effect while Mode is TPadMode.ePadMode_Simple.

See also: TShape

MidXSize​

The X size of the pad on the middle layers of a top-middle-bottom stack.

int GetState_MidXSize();
void SetState_MidXSize(int argValue);

Type: int · Access: read/write

Assigning a value has no effect while Mode is TPadMode.ePadMode_Simple.

MidYSize​

The Y size of the pad on the middle layers of a top-middle-bottom stack.

int GetState_MidYSize();
void SetState_MidYSize(int argValue);

Type: int · Access: read/write

Assigning a value has no effect while Mode is TPadMode.ePadMode_Simple.

Mode​

The kind of pad stack; a simple pad, a top-middle-bottom stack, or a full stack.

TPadMode GetState_Mode();
void SetState_Mode(TPadMode argMode);

Type: TPadMode · Access: read/write

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

With TPadMode.ePadMode_Simple, the size and shape of the pad are TopXSize, TopYSize and TopShape.

With TPadMode.ePadMode_LocalStack (top-middle-bottom), they are the top, middle and bottom properties (TopXSize, MidXSize, BotXSize and so on).

With TPadMode.ePadMode_ExternalStack (full stack), they are XStackSizeOnLayer, YStackSizeOnLayer and StackShapeOnLayer.

See also: TPadMode, IPCB_Pad.IsPadStack

Name​

The designator of the pad.

string GetState_Name();
void SetState_Name(string argValue);

Type: string · Access: read/write

Examples: Extension_Pad_SolderMask

OwnerPart_ID​

The identifier of the component part that owns the pad, used for gate and pin swapping.

int GetState_OwnerPart_ID();
void SetState_OwnerPart_ID(int argValue);

Type: int · Access: read/write

PinDescriptorString​

This property obtains the description of the pin which represents the pad of a component.

string GetState_PinDescriptorString();

Type: string · Access: read-only

The value is the designator of the pad's component, a hyphen and the pad's Name; for a pad that is not part of a component it is Free- followed by the pad's Name. Identifier returns the same value.

Plated​

Whether the pad is plated.

bool GetState_Plated();
void SetState_Plated(bool argValue);

Type: bool · Access: read/write

Rotation​

The rotation of the pad, in degrees.

double GetState_Rotation();
void SetState_Rotation(double argValue);

Type: double · Access: read/write

Assigning a new value rotates the pad about its location by the difference between the new and the old angle. 0 and 360 are treated as the same angle.

ShapeOnLayer​

This property determines what shape the pad is on this specified layer.

TShape GetState_ShapeOnLayer(V7_LayerBase argL);

Type: TShape · Access: read-only · Index: argL (V7_LayerBase)

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

On an internal plane layer where the pad's hole straddles planes, returns TShape.eRounded.

See also: TShape

SolderMaskExpansionFromHoleEdge​

Whether the pad's solder mask expansion is measured from the edge of the hole instead of the edge of the copper.

bool GetState_SolderMaskExpansionFromHoleEdge();
void SetState_SolderMaskExpansionFromHoleEdge(bool argValue);

Type: bool · Access: read/write

The setting applies only to a multi-layer pad whose solder mask expansion is set manually; when the expansion comes from the design rules, the applicable rule decides. SolderMaskExpansionFromHoleEdgeWithRule returns the setting that applies.

StackShapeOnLayer​

This property determines what shape the pad stack is on that layer.

TShape GetState_StackShapeOnLayer(V7_LayerBase argL);
void SetState_StackShapeOnLayer(V7_LayerBase argL, TShape argValue);

Type: TShape · Access: read/write · Index: argL (V7_LayerBase)

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

Assigning a value for a signal layer has no effect when Mode is TPadMode.ePadMode_Simple and the layer is not the top layer, or when Mode is TPadMode.ePadMode_LocalStack and the layer is an internal signal layer other than the first one.

See also: TShape

SwapID_Pad​

The pin swap identifier of the pad, used for gate and pin swapping.

string GetState_SwapID_Pad();
void SetState_SwapID_Pad(string argValue);

Type: string · Access: read/write

SwapID_Part​

The part swap identifier of the pad, used for gate and pin swapping.

string GetState_SwapID_Part();
void SetState_SwapID_Part(string argValue);

Type: string · Access: read/write

SwappedPadName​

The name of the pad after gate and pin swapping.

string GetState_SwappedPadName();
void SetState_SwappedPadName(string argValue);

Type: string · Access: read/write

The link from the pad to a pad and via template.

IPCB_PadViaTemplateLink GetState_TemplateLink();

Type: IPCB_PadViaTemplateLink · Access: read-only

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

The SDK examples re-link a pad to another template by reading TemplateLink between BeginModify and EndModify and assigning new LibraryID and TemplateID values to the returned link.

TopShape​

The shape of the pad on the top layer.

TShape GetState_TopShape();
void SetState_TopShape(TShape argValue);

Type: TShape · Access: read/write

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

In a simple pad (TPadMode.ePadMode_Simple) it is the shape on all layers.

See also: TShape

TopXSize​

The X size of the pad on the top layer.

int GetState_TopXSize();
void SetState_TopXSize(int argValue);

Type: int · Access: read/write

In a simple pad (TPadMode.ePadMode_Simple) it is the X size on all layers.

TopYSize​

The Y size of the pad on the top layer.

int GetState_TopYSize();
void SetState_TopYSize(int argValue);

Type: int · Access: read/write

In a simple pad (TPadMode.ePadMode_Simple) it is the Y size on all layers.

WidthOnLayer​

The width of the pad on the given layer, the smaller of its X and Y sizes on that layer.

int GetState_WidthOnLayer(TV6_Layer argL);

Type: int · Access: read-only · Index: argL (TV6_Layer)

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

XLocation​

The X coordinate of the pad's location, in internal units (10,000 per mil).

int GetState_XLocation();
void SetState_XLocation(int argX);

Type: int · Access: read/write

Examples: Extension_PlacePad

XPadOffsetOnLayer​

The offset in X of the pad's copper shape from the pad's location on the given layer, in internal units (10,000 per mil).

int GetState_XPadOffsetOnLayer(TV6_Layer argL);
void SetState_XPadOffsetOnLayer(TV6_Layer argL, int argXOffset);

Type: int · Access: read/write · Index: argL (TV6_Layer)

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

XSizeOnLayer​

This property determines what size in X direction the pad is on this specified layer.

int GetState_XSizeOnLayer(V7_LayerBase argL);

Type: int · Access: read-only · Index: argL (V7_LayerBase)

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

On an internal plane layer where the pad's hole straddles planes, the value is the hole's size in X plus twice PowerPlaneClearance, so that the pad is not connected to the plane.

XStackSizeOnLayer​

The X size of the pad on the given layer of a full stack (TPadMode.ePadMode_ExternalStack).

int GetState_XStackSizeOnLayer(V7_LayerBase argL);
void SetState_XStackSizeOnLayer(V7_LayerBase argL, int argValue);

Type: int · Access: read/write · Index: argL (V7_LayerBase)

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

Assigning a value for a signal layer has no effect when Mode is TPadMode.ePadMode_Simple and the layer is not the top layer, or when Mode is TPadMode.ePadMode_LocalStack and the layer is an internal signal layer other than the first one.

See also: TPadMode

YLocation​

The Y coordinate of the pad's location, in internal units (10,000 per mil).

int GetState_YLocation();
void SetState_YLocation(int argY);

Type: int · Access: read/write

Examples: Extension_PlacePad

YPadOffsetOnLayer​

The offset in Y of the pad's copper shape from the pad's location on the given layer, in internal units (10,000 per mil).

int GetState_YPadOffsetOnLayer(TV6_Layer argL);
void SetState_YPadOffsetOnLayer(TV6_Layer argL, int argYOffset);

Type: int · Access: read/write · Index: argL (TV6_Layer)

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

YSizeOnLayer​

This property determines what size in Y direction the pad is on this specified layer.

int GetState_YSizeOnLayer(V7_LayerBase argL);

Type: int · Access: read-only · Index: argL (V7_LayerBase)

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

On an internal plane layer where the pad's hole straddles planes, the value is the hole's size in Y (its HoleSize) plus twice PowerPlaneClearance, so that the pad is not connected to the plane.

YStackSizeOnLayer​

The Y size of the pad on the given layer of a full stack (TPadMode.ePadMode_ExternalStack).

int GetState_YStackSizeOnLayer(V7_LayerBase argL);
void SetState_YStackSizeOnLayer(V7_LayerBase argL, int argValue);

Type: int · Access: read/write · Index: argL (V7_LayerBase)

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

Assigning a value for a signal layer has no effect when Mode is TPadMode.ePadMode_Simple and the layer is not the top layer, or when Mode is TPadMode.ePadMode_LocalStack and the layer is an internal signal layer other than the first one.

Methods​

MethodReturnsDescription
BoundingRectangleOnLayerCoordRectReturns the bounding rectangle of the pad on the given layer.
ClearStackSizeAndShapesvoidRemoves the per-layer sizes, shapes, corner radii and offsets stored for the pad.
DefinitionLayerIteratorIPCB_LayerIteratorReturns an iterator over the layers for which the pad has a size, shape or corner radius stored.
InvalidateCachevoidMarks the pad's cached design rule values as out of date.
InvalidateSizeShapevoidMarks the pad's calculated sizes and shapes as out of date.
IsPadStackboolReturns whether the pad has different sizes or shapes on its layers.
IsSurfaceMountboolReturns whether the pad is a surface mount pad.
IsVirtualPinboolReturns whether the pad is a virtual pin.
PlaneConnectionStyleForLayerTPlaneConnectionStyleReturns how the pad connects to the given internal plane layer.
ReValidateSizeShapevoidMarks the pad's calculated sizes and shapes as out of date and recalculates them.
RotateAroundXYvoidRotates the pad about a point.
SolderMaskExpansionFromHoleEdgeWithRuleboolReturns whether the pad's solder mask expansion is measured from the edge of the hole, taking the design rules into account.
UpdateCachevoidRecalculates the pad's cached design rule values that are out of date.
ValidateSizeShapevoidRecalculates the pad's calculated sizes and shapes if they are out of date.

BoundingRectangleOnLayer​

Returns the bounding rectangle of the pad on the given layer.

CoordRect BoundingRectangleOnLayer(TV6_Layer argLayer);
ParameterTypePassing
argLayerTV6_Layervalue

Returns: CoordRect

Extension method of IPCB_PadHelper (using PCB;).

ClearStackSizeAndShapes​

Removes the per-layer sizes, shapes, corner radii and offsets stored for the pad.

void ClearStackSizeAndShapes();

Returns: nothing (void)

DefinitionLayerIterator​

Returns an iterator over the layers for which the pad has a size, shape or corner radius stored.

IPCB_LayerIterator DefinitionLayerIterator();

Returns: IPCB_LayerIterator

Extension method of IPCB_PadHelper (using PCB;).

InvalidateCache​

Marks the pad's cached design rule values as out of date.

void InvalidateCache();

Returns: nothing (void)

The pad's calculated sizes and shapes are marked out of date as well. UpdateCache recalculates the cached values.

InvalidateSizeShape​

Marks the pad's calculated sizes and shapes as out of date.

void InvalidateSizeShape();

Returns: nothing (void)

They are recalculated by ValidateSizeShape, which reading XSizeOnLayer, YSizeOnLayer, ShapeOnLayer or IsPadStack also does.

IsPadStack​

Returns whether the pad has different sizes or shapes on its layers.

bool IsPadStack();

Returns: bool

Returns false when Mode is TPadMode.ePadMode_Simple and true when it is TPadMode.ePadMode_ExternalStack. For TPadMode.ePadMode_LocalStack it returns true only for a multi-layer pad whose top, middle and bottom layers differ in shape, X size or Y size. The pad's calculated sizes and shapes are brought up to date first. Use this method before you change the properties of a pad stack.

See also: TPadMode

IsSurfaceMount​

Returns whether the pad is a surface mount pad.

bool IsSurfaceMount();

Returns: bool

Returns true when the pad is on a signal layer (not TV6_Layer.eV6_MultiLayer) and either its hole has a size of 0 or Mode is TPadMode.ePadMode_Simple.

IsVirtualPin​

Returns whether the pad is a virtual pin.

bool IsVirtualPin();

Returns: bool

Returns true when the pad's largest X size and largest Y size on its signal layers are both 1 internal unit.

PlaneConnectionStyleForLayer​

Returns how the pad connects to the given internal plane layer.

TPlaneConnectionStyle PlaneConnectionStyleForLayer(TV6_Layer argLayer);
ParameterTypePassing
argLayerTV6_Layervalue

Returns: TPlaneConnectionStyle

Extension method of IPCB_PadHelper (using PCB;).

The style of the connection comes from the applicable Power Plane Connect Style design rule: TPlaneConnectionStyle.ePlaneReliefConnect (a thermal relief connection) or TPlaneConnectionStyle.ePlaneDirectConnect (solid copper).

The method returns TPlaneConnectionStyle.ePlaneNoConnect when the layer is not an internal plane layer, when the pad is not on TV6_Layer.eV6_MultiLayer, when the pad has no net, or when the pad is not connected to the plane on that layer.

See also: TPlaneConnectionStyle

ReValidateSizeShape​

Marks the pad's calculated sizes and shapes as out of date and recalculates them.

void ReValidateSizeShape();

Returns: nothing (void)

RotateAroundXY​

Rotates the pad about a point.

void RotateAroundXY(int argX, int argY, double argngle);
ParameterTypePassingDescription
argXintvalueThe X coordinate of the point to rotate about, in internal units (10,000 per mil).
argYintvalueThe Y coordinate of the point to rotate about, in internal units (10,000 per mil).
argngledoublevalueThe rotation angle, in degrees.

Returns: nothing (void)

To rotate the pad without moving it, pass its own location (XLocation, YLocation) as the point, or use the Rotation property.

SolderMaskExpansionFromHoleEdgeWithRule​

Returns whether the pad's solder mask expansion is measured from the edge of the hole, taking the design rules into account.

bool SolderMaskExpansionFromHoleEdgeWithRule();

Returns: bool

When the solder mask expansion comes from the design rules, the applicable rule decides; when it is set manually, the result is SolderMaskExpansionFromHoleEdge. Returns false for a pad that is not on TV6_Layer.eV6_MultiLayer, and for a pad whose solder mask expansion neither comes from the rules nor is set manually.

UpdateCache​

Recalculates the pad's cached design rule values that are out of date.

void UpdateCache();

Returns: nothing (void)

Covers the plane connection style and plane connections, the relief conductor width, entries and air gap, the paste mask and solder mask expansion, the power plane clearance and relief expansion, and the tenting of both sides. The pad's calculated sizes and shapes are brought up to date as well.

ValidateSizeShape​

Recalculates the pad's calculated sizes and shapes if they are out of date.

void ValidateSizeShape();

Returns: nothing (void)

Does nothing when they are up to date. ReValidateSizeShape always recalculates them.

Inherited members​

Returned by​

IPCB_FromTo.GetFromPad, IPCB_FromTo.GetToPad

Accepted by​

IPCB_ContourMaker.MakeContour_2, IPCB_ContourMaker2.MakeContour_12, IPCB_Net.CancelGroupWarehouseRegistration, IPCB_Net.RegisterWithGroupWarehouse

Examples​

Used in the SDK examples: Extension_Pad_SolderMask, Extension_PlacePad.