IPCB_MaxMinHoleSizeConstraint interface
A hole size rule (TRuleKind.eRule_MaxMinHoleSize) that defines the minimum and maximum hole size of pads and vias.
public interface IPCB_MaxMinHoleSizeConstraint : IPCB_Rule
Namespace: PCB · Assembly: Altium.SDK.Interfaces
Inherits: IPCB_Primitive → IPCB_Rule
Remarks
The limits are either absolute sizes (MinLimit and MaxLimit) or percentages (MinPercent and MaxPercent); AbsoluteValues selects which pair the rule checks. A new rule checks absolute sizes, with a minimum of 1 mil and a maximum of 100 mil.
The rule checks pads and vias on the multi-layer. Pads without a hole are not checked. For a slot or rectangular hole, the width and the height of the hole are checked separately. When the rule checks absolute sizes, back-drilled vias are not checked.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| AbsoluteValues | bool | get; set | Whether the rule checks the absolute limits (MinLimit and MaxLimit) instead of the percentage limits (MinPercent and MaxPercent). |
| MaxLimit | int | get; set | The maximum hole size, in internal units (10,000 per mil), checked while AbsoluteValues is true. |
| MaxPercent | double | get; set | The maximum hole size as a percentage, checked while AbsoluteValues is false. |
| MinLimit | int | get; set | The minimum hole size, in internal units (10,000 per mil), checked while AbsoluteValues is true. |
| MinPercent | double | get; set | The minimum hole size as a percentage, checked while AbsoluteValues is false. |
AbsoluteValues
Whether the rule checks the absolute limits (MinLimit and MaxLimit) instead of the percentage limits (MinPercent and MaxPercent).
bool GetState_AbsoluteValues();
void SetState_AbsoluteValues(bool argValue);
Type: bool · Access: read/write
The default is true. It also selects which limits DataSummaryString and DescriptorString show.
MaxLimit
The maximum hole size, in internal units (10,000 per mil), checked while AbsoluteValues is true.
int GetState_MaxLimit();
void SetState_MaxLimit(int argValue);
Type: int · Access: read/write
A new rule has 100 mil.
MaxPercent
The maximum hole size as a percentage, checked while AbsoluteValues is false.
double GetState_MaxPercent();
void SetState_MaxPercent(double argValue);
Type: double · Access: read/write
The percentage is the hole size relative to the via diameter, or to the smaller of the pad's X and Y size. A new rule has 80 (percent).
MinLimit
The minimum hole size, in internal units (10,000 per mil), checked while AbsoluteValues is true.
int GetState_MinLimit();
void SetState_MinLimit(int argValue);
Type: int · Access: read/write
A new rule has 1 mil.
MinPercent
The minimum hole size as a percentage, checked while AbsoluteValues is false.
double GetState_MinPercent();
void SetState_MinPercent(double argValue);
Type: double · Access: read/write
The percentage is the hole size relative to the via diameter, or to the smaller of the pad's X and Y size. A new rule has 20 (percent).
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