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
| Property | Type | Access | Description |
|---|---|---|---|
| BotShape | TShape | get; set | The shape of the pad on the bottom layer of a top-middle-bottom stack. |
| BotXSize | int | get; set | The X size of the pad on the bottom layer of a top-middle-bottom stack. |
| BotYSize | int | get; set | The Y size of the pad on the bottom layer of a top-middle-bottom stack. |
| Cache | V7_PadCache | get; set | 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. |
| DrillType | TExtendedDrillType | get; set | The method used to drill the pad's hole. |
| HoleNegativeTolerance | int | get; set | The negative tolerance of the pad's hole size, in internal units (10,000 per mil). |
| HolePositiveTolerance | int | get; set | The positive tolerance of the pad's hole size, in internal units (10,000 per mil). |
| HoleRotation | double | get; set | The rotation of the hole within the pad, which applies to square and slotted holes. |
| HoleSize | int | get; set | 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). |
| HoleType | TExtendedHoleType | get; set | The shape of the pad's hole. |
| HoleWidth | int | get; set | The width of the pad's hole, in internal units (10,000 per mil), used by square and slotted holes. |
| IsConnectedToPlane | bool | get; set | Whether the pad is connected to the internal plane on the given layer. |
| JumperID | int | get; set | The jumper identifier of the pad; 0 means the pad is not part of a jumper. |
| MidShape | TShape | get; set | The shape of the pad on the middle layers of a top-middle-bottom stack. |
| MidXSize | int | get; set | The X size of the pad on the middle layers of a top-middle-bottom stack. |
| MidYSize | int | get; set | The Y size of the pad on the middle layers of a top-middle-bottom stack. |
| Mode | TPadMode | get; set | The kind of pad stack; a simple pad, a top-middle-bottom stack, or a full stack. |
| Name | string | get; set | The designator of the pad. |
| OwnerPart_ID | int | get; set | The identifier of the component part that owns the pad, used for gate and pin swapping. |
| PinDescriptorString | string | get | This property obtains the description of the pin which represents the pad of a component. |
| Plated | bool | get; set | Whether the pad is plated. |
| Rotation | double | get; set | The rotation of the pad, in degrees. |
| ShapeOnLayer | TShape | get | This property determines what shape the pad is on this specified layer. |
| SolderMaskExpansionFromHoleEdge | bool | get; set | Whether the pad's solder mask expansion is measured from the edge of the hole instead of the edge of the copper. |
| StackShapeOnLayer | TShape | get; set | This property determines what shape the pad stack is on that layer. |
| SwapID_Pad | string | get; set | The pin swap identifier of the pad, used for gate and pin swapping. |
| SwapID_Part | string | get; set | The part swap identifier of the pad, used for gate and pin swapping. |
| SwappedPadName | string | get; set | The name of the pad after gate and pin swapping. |
| TemplateLink | IPCB_PadViaTemplateLink | get | The link from the pad to a pad and via template. |
| TopShape | TShape | get; set | The shape of the pad on the top layer. |
| TopXSize | int | get; set | The X size of the pad on the top layer. |
| TopYSize | int | get; set | The Y size of the pad on the top layer. |
| WidthOnLayer | int | get | The width of the pad on the given layer, the smaller of its X and Y sizes on that layer. |
| XLocation | int | get; set | The X coordinate of the pad's location, in internal units (10,000 per mil). |
| XPadOffsetOnLayer | int | get; set | 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). |
| XSizeOnLayer | int | get | This property determines what size in X direction the pad is on this specified layer. |
| XStackSizeOnLayer | int | get; set | The X size of the pad on the given layer of a full stack (TPadMode.ePadMode_ExternalStack). |
| YLocation | int | get; set | The Y coordinate of the pad's location, in internal units (10,000 per mil). |
| YPadOffsetOnLayer | int | get; set | 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). |
| YSizeOnLayer | int | get | This property determines what size in Y direction the pad is on this specified layer. |
| YStackSizeOnLayer | int | get; set | The 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
TemplateLink
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
| Method | Returns | Description |
|---|---|---|
| BoundingRectangleOnLayer | CoordRect | Returns the bounding rectangle of the pad on the given layer. |
| ClearStackSizeAndShapes | void | Removes the per-layer sizes, shapes, corner radii and offsets stored for the pad. |
| DefinitionLayerIterator | IPCB_LayerIterator | Returns an iterator over the layers for which the pad has a size, shape or corner radius stored. |
| InvalidateCache | void | Marks the pad's cached design rule values as out of date. |
| InvalidateSizeShape | void | Marks the pad's calculated sizes and shapes as out of date. |
| IsPadStack | bool | Returns whether the pad has different sizes or shapes on its layers. |
| IsSurfaceMount | bool | Returns whether the pad is a surface mount pad. |
| IsVirtualPin | bool | Returns whether the pad is a virtual pin. |
| PlaneConnectionStyleForLayer | TPlaneConnectionStyle | Returns how the pad connects to the given internal plane layer. |
| ReValidateSizeShape | void | Marks the pad's calculated sizes and shapes as out of date and recalculates them. |
| RotateAroundXY | void | Rotates the pad about a point. |
| SolderMaskExpansionFromHoleEdgeWithRule | bool | Returns whether the pad's solder mask expansion is measured from the edge of the hole, taking the design rules into account. |
| UpdateCache | void | Recalculates the pad's cached design rule values that are out of date. |
| ValidateSizeShape | void | Recalculates 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);
| Parameter | Type | Passing |
|---|---|---|
argLayer | TV6_Layer | value |
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);
| Parameter | Type | Passing |
|---|---|---|
argLayer | TV6_Layer | value |
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);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argX | int | value | The X coordinate of the point to rotate about, in internal units (10,000 per mil). |
argY | int | value | The Y coordinate of the point to rotate about, in internal units (10,000 per mil). |
argngle | double | value | The 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
- From IPCB_Primitive: AllowGlobalEdit, BeginModify, Board, BoundingRectangle, BoundingRectangleChildren, BoundingRectangleForPainting, BoundingRectangleForSelection, CancelModify, Component, Coordinate, DescriptorString, DetailString, Dimension, DrawAsPreview, DRCError, Enabled, Enabled_Direct, Enabled_vComponent, Enabled_vCoordinate, Enabled_vDimension, Enabled_vNet, Enabled_vPolygon, EnableDraw, EndModify, Export_ToParameters, FlipXY, GraphicallyInvalidate, Handle, Identifier, InBoard, InComponent, InCoordinate, Index, InDimension, InNet, InPolygon, InSelectionMemory, IsAssyTestPoint_Bottom, IsAssyTestPoint_Top, IsElectricalPrim, IsFreePrimitive, IsHidden, IsKeepout, IsPreRoute, IsSaveable, IsTenting, IsTenting_Bottom, IsTenting_Top, IsTestPoint_Bottom, IsTestPoint_Top, Layer, MiscFlag1, MiscFlag2, MiscFlag3, Moveable, MoveByXY, MoveToXY, Net, ObjectID, ObjectIDString, PadCacheRobotFlag, PasteMaskExpansion, Polygon, PolygonOutline, PowerPlaneClearance, PowerPlaneConnectStyle, PowerPlaneReliefExpansion, Preview, ReliefAirGap, ReliefConductorWidth, ReliefEntries, Replicate, RequiredParamterSpace, RotateBy, Selected, SolderMaskExpansion, SwapLayerPairs, TearDrop, UnionIndex, UniqueId, UniqueID, Used, UserRouted, V7Layer, ViewableObjectID
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.