Skip to main content
View as Markdown

IPCB_Primitive2 interface

Additional members of PCB objects for solder mask and paste mask expansion, routing widths from the design rules, and shared unions.

public interface IPCB_Primitive2

Namespace: PCB · Assembly: Altium.SDK.Interfaces

Properties​

PropertyTypeAccessDescription
IsEmbeddedComponentCavityboolgetWhether the object is a board region (IPCB_BoardRegion) that belongs to a component, the cavity of an embedded component.
PasteMaskEnabledboolget; setWhether the object has a paste mask.
PasteMaskExpansionintget; setThe paste mask expansion of the object, in internal units (10,000 per mil).
PasteMaskExpansionModeTMaskExpansionModeget; setHow the object's paste mask expansion is determined.
PasteMaskPercentdoubleget; setThe percentage from which a pad's manual paste mask expansion is computed when PasteMaskUsePercent is true.
PasteMaskUsePercentboolget; setWhether a pad's manual paste mask expansion is computed from PasteMaskPercent and the pad's shape instead of being an absolute value.
RoutingMinWidthintgetThe minimum width allowed by the width rule that applies to the object, in internal units (10,000 per mil).
RoutingViaWidthintgetThe preferred via width of the routing via style rule that applies to the object, in internal units (10,000 per mil).
SharedUnionIPCB_SharedUnionget; setThe shared union assigned to the object.
SolderMaskExpansionintget; setThe solder mask expansion of the object, in internal units (10,000 per mil).
SolderMaskExpansionModeTMaskExpansionModeget; setHow the object's solder mask expansion is determined.

IsEmbeddedComponentCavity​

Whether the object is a board region (IPCB_BoardRegion) that belongs to a component, the cavity of an embedded component.

bool GetState_IsEmbeddedComponentCavity();

Type: bool · Access: read-only

False for every other kind of object.

PasteMaskEnabled​

Whether the object has a paste mask.

bool GetState_PasteMaskEnabled();
void SetState_PasteMaskEnabled(bool argValue);

Type: bool · Access: read/write

Assigning true to an object other than a pad, track, arc, fill or region stores false.

PasteMaskExpansion​

The paste mask expansion of the object, in internal units (10,000 per mil).

int GetState_PasteMaskExpansion();
void SetState_PasteMaskExpansion(int argValue);

Type: int · Access: read/write

Reading returns the same value as IPCB_Primitive.PasteMaskExpansion. For objects other than pads and vias, assigning a value makes it the object's manual expansion and sets PasteMaskExpansionMode to TMaskExpansionMode.eMaskExpansionMode_Manual.

PasteMaskExpansionMode​

How the object's paste mask expansion is determined.

TMaskExpansionMode GetState_PasteMaskExpansionMode();
void SetState_PasteMaskExpansionMode(TMaskExpansionMode argValue);

Type: TMaskExpansionMode · Access: read/write

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

For objects other than pads and vias, PasteMaskExpansion is 0 with TMaskExpansionMode.eMaskExpansionMode_NoMask, comes from the paste mask expansion rule that applies to the object with TMaskExpansionMode.eMaskExpansionMode_Rule, and is the object's manual expansion with TMaskExpansionMode.eMaskExpansionMode_Manual.

See also: TMaskExpansionMode

PasteMaskPercent​

The percentage from which a pad's manual paste mask expansion is computed when PasteMaskUsePercent is true.

double GetState_PasteMaskPercent();
void SetState_PasteMaskPercent(double argValue);

Type: double · Access: read/write

PasteMaskUsePercent​

Whether a pad's manual paste mask expansion is computed from PasteMaskPercent and the pad's shape instead of being an absolute value.

bool GetState_PasteMaskUsePercent();
void SetState_PasteMaskUsePercent(bool argValue);

Type: bool · Access: read/write

Applies only to pads whose PasteMaskExpansionMode is TMaskExpansionMode.eMaskExpansionMode_Manual.

RoutingMinWidth​

The minimum width allowed by the width rule that applies to the object, in internal units (10,000 per mil).

int GetState_RoutingMinWidth();

Type: int · Access: read-only

10 mil when no width rule applies.

RoutingViaWidth​

The preferred via width of the routing via style rule that applies to the object, in internal units (10,000 per mil).

int GetState_RoutingViaWidth();

Type: int · Access: read-only

50 mil when no routing via style rule applies.

SharedUnion​

The shared union assigned to the object.

IPCB_SharedUnion GetState_SharedUnion();
void SetState_SharedUnion(IPCB_SharedUnion argValue);

Type: IPCB_SharedUnion · Access: read/write

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

CreateSharedUnion creates a new one.

SolderMaskExpansion​

The solder mask expansion of the object, in internal units (10,000 per mil).

int GetState_SolderMaskExpansion();
void SetState_SolderMaskExpansion(int argValue);

Type: int · Access: read/write

Reading returns the same value as IPCB_Primitive.SolderMaskExpansion. For objects other than pads and vias, assigning a value makes it the object's manual expansion and sets SolderMaskExpansionMode to TMaskExpansionMode.eMaskExpansionMode_Manual.

SolderMaskExpansionMode​

How the object's solder mask expansion is determined.

TMaskExpansionMode GetState_SolderMaskExpansionMode();
void SetState_SolderMaskExpansionMode(TMaskExpansionMode argValue);

Type: TMaskExpansionMode · Access: read/write

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

For objects other than pads and vias, SolderMaskExpansion is 0 with TMaskExpansionMode.eMaskExpansionMode_NoMask, comes from the solder mask expansion rule that applies to the object with TMaskExpansionMode.eMaskExpansionMode_Rule, and is the object's manual expansion with TMaskExpansionMode.eMaskExpansionMode_Manual.

See also: TMaskExpansionMode

Methods​

MethodReturnsDescription
CreateSharedUnionvoidCreates a new shared union for the object and assigns it to SharedUnion.
GetGUIDstring
HasMaskExpansionboolReturns whether the object has a mask opening on the given solder mask or paste mask layer.
MaskExpansionintReturns the object's mask expansion on the given solder mask or paste mask layer, in internal units (10,000 per mil).

CreateSharedUnion​

Creates a new shared union for the object and assigns it to SharedUnion.

void CreateSharedUnion();

Returns: nothing (void)

In the new shared union, LayerIsVisible is true for the top and bottom paste mask layers when PasteMaskEnabled is true, and for the top or bottom solder mask layer when that side of the object is not tented (IsTenting_Top, IsTenting_Bottom).

GetGUID​

No description yet.

string GetGUID();

Returns: string

HasMaskExpansion​

Returns whether the object has a mask opening on the given solder mask or paste mask layer.

bool HasMaskExpansion(V7_LayerBase argMaskLayer);
bool HasMaskExpansion(IV7_Layer argMaskLayer);
ParameterTypePassingDescription
argMaskLayerV7_LayerBasevalueA solder mask or paste mask layer.

Returns: bool

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

Returns false for objects other than tracks, arcs, fills, regions, pads and vias, and when the object is not on the outer copper layer on the mask layer's side; an object on TV6_Layer.eV6_MultiLayer counts on both sides. For a solder mask layer, returns true when SolderMaskExpansionMode is not TMaskExpansionMode.eMaskExpansionMode_NoMask and that side of the object is not tented.

MaskExpansion​

Returns the object's mask expansion on the given solder mask or paste mask layer, in internal units (10,000 per mil).

int MaskExpansion(V7_LayerBase argMaskLayer);
int MaskExpansion(IV7_Layer argMaskLayer);
ParameterTypePassingDescription
argMaskLayerV7_LayerBasevalueA solder mask or paste mask layer.

Returns: int

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

For a paste mask layer, the result is the object's paste mask expansion; for a solder mask layer, its solder mask expansion. For pads and vias, the solder mask expansion is computed for the given layer.