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
| Property | Type | Access | Description |
|---|---|---|---|
| CheckConnectedCopper | bool | get; set | Whether the rule also checks the minimum width of the connected copper of each net, not only of single tracks and arcs. |
| FavoredImpedance | double | get; set | The preferred target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven). |
| FavoredWidth | int | get; set | The preferred width of tracks and arcs on the given layer, in internal units (10,000 per mil). |
| ImpedanceDriven | bool | get; set | 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. |
| MaxImpedance | double | get; set | The maximum target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven). |
| MaxWidth | int | get; set | The maximum width allowed for tracks and arcs on the given layer, in internal units (10,000 per mil). |
| MinImpedance | double | get; set | The minimum target impedance, in ohms, of an impedance-driven rule (ImpedanceDriven). |
| MinWidth | int | get; set | The 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
- From IPCB_Rule: ActualCheck, ActualCheck_1, CheckBinaryScope, CheckUnaryScope, CollisionExpansion, Comment, DataSummaryString, DefinedByLogicalDocument, DRCEnabled, Export_ToParameters_1, GetWhatsThisHelpString, IsUnary, LayerKind, Name, NetScope, NetScopeMatches, Priority, RuleKind, Scope1Expression, Scope1Includes, Scope2Expression, Scope2Includes, ScopeDescriptorString, ScopeKindIsValid, ShortDescriptorString, ViolationDescriptorString
- 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