Skip to main content
View as Markdown

IPCB_MaxMinWidthConstraint interface

A width rule (TRuleKind.eRule_MaxMinWidth) that defines the minimum, preferred (favored) and maximum width of tracks and arcs on signal layers.

public interface IPCB_MaxMinWidthConstraint : IPCB_Rule

Namespace: PCB · Assembly: Altium.SDK.Interfaces

Inherits: IPCB_Primitive → IPCB_Rule

Remarks​

The widths are set per layer. A new rule has a minimum, preferred and maximum width of 10 mil on every signal layer.

The rule checks tracks and arcs on signal layers that are not keepouts, not part of a polygon and not part of a differential pair.

A rule can hold different widths for each layer stack of a board with several layer stacks (a rigid-flex board). MinWidth, FavoredWidth and MaxWidth read and write the widths of the board's main layer stack.

Properties​

PropertyTypeAccessDescription
CheckConnectedCopperboolget; setWhether the rule also checks the minimum width of the connected copper of each net, not only of single tracks and arcs.
FavoredImpedancedoubleget; setThe preferred target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven).
FavoredWidthintget; setThe preferred width of tracks and arcs on the given layer, in internal units (10,000 per mil).
ImpedanceDrivenboolget; setWhether the rule is impedance-driven, that is, its track widths come from an impedance profile of the board's layer stack instead of fixed values.
MaxImpedancedoubleget; setThe maximum target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven).
MaxWidthintget; setThe maximum width allowed for tracks and arcs on the given layer, in internal units (10,000 per mil).
MinImpedancedoubleget; setThe minimum target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven).
MinWidthintget; setThe minimum width allowed for tracks and arcs on the given layer, in internal units (10,000 per mil).

CheckConnectedCopper​

Whether the rule also checks the minimum width of the connected copper of each net, not only of single tracks and arcs.

bool GetState_CheckConnectedCopper();
void SetState_CheckConnectedCopper(bool argValue);

Type: bool · Access: read/write

The default is false. While it is true and the rule is not impedance-driven (ImpedanceDriven is false), single tracks and arcs are checked only against the maximum width; the minimum width is checked on the net's connected copper.

FavoredImpedance​

The preferred target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven).

double GetState_FavoredImpedance();
void SetState_FavoredImpedance(double argValue);

Type: double · Access: read/write

A new rule has 50 ohms.

FavoredWidth​

The preferred width of tracks and arcs on the given layer, in internal units (10,000 per mil).

int GetState_FavoredWidth(V7_LayerBase argL);
void SetState_FavoredWidth(V7_LayerBase argL, int argValue);

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

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

Reading a layer that has no width of its own returns the width the rule sets for all signal layers. Assigning a value sets the width of that layer only.

ImpedanceDriven​

Whether the rule is impedance-driven, that is, its track widths come from an impedance profile of the board's layer stack instead of fixed values.

bool GetState_ImpedanceDriven();
void SetState_ImpedanceDriven(bool argValue);

Type: bool · Access: read/write

The default is false. While it is true, DataSummaryString lists the preferred, minimum and maximum impedance instead of the widths.

MaxImpedance​

The maximum target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven).

double GetState_MaxImpedance();
void SetState_MaxImpedance(double argValue);

Type: double · Access: read/write

A new rule has 50 ohms.

MaxWidth​

The maximum width allowed for tracks and arcs on the given layer, in internal units (10,000 per mil).

int GetState_MaxWidth(V7_LayerBase argL);
void SetState_MaxWidth(V7_LayerBase argL, int argValue);

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

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

Reading a layer that has no width of its own returns the width the rule sets for all signal layers. Assigning a value sets the width of that layer only.

MinImpedance​

The minimum target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven).

double GetState_MinImpedance();
void SetState_MinImpedance(double argValue);

Type: double · Access: read/write

A new rule has 50 ohms.

MinWidth​

The minimum width allowed for tracks and arcs on the given layer, in internal units (10,000 per mil).

int GetState_MinWidth(V7_LayerBase argL);
void SetState_MinWidth(V7_LayerBase argL, int argValue);

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

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

Reading a layer that has no width of its own returns the width the rule sets for all signal layers. Assigning a value sets the width of that layer only.

Inherited members​