
# IPCB_TestPointStyleRule interface

The auto-router includes a testpoint generator, which can identify existing pads and vias as testpoints, as well as adding testpoint pads to nets which can not be accessed at existing pads and vias. Generally the testpoint types are used in bare board testing or are used for in-circuit testing.

```csharp
public interface IPCB_TestPointStyleRule : IPCB_Rule
```

**Namespace:** PCB · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) → [IPCB_Rule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [AllowedSide](#allowedside) | [TTestpointAllowedSideSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TTestpointAllowedSideSet.md) | get; set |  |
| [BoardEdgeClearance](#boardedgeclearance) | `int` | get; set |  |
| [CompBodyClearance](#compbodyclearance) | `int` | get; set |  |
| [GridOrigin](#gridorigin) | [CoordPoint](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/CoordPoint.md) | get; set |  |
| [GridTolerance](#gridtolerance) | `int` | get; set |  |
| [MaxHoleSize](#maxholesize) | `int` | get; set |  |
| [MaxSize](#maxsize) | `int` | get; set |  |
| [MinHoleSize](#minholesize) | `int` | get; set |  |
| [MinSize](#minsize) | `int` | get; set |  |
| [MinSpacing](#minspacing) | `int` | get; set |  |
| [PreferedHoleSize](#preferedholesize) | `int` | get; set |  |
| [PreferedSize](#preferedsize) | `int` | get; set |  |
| [TestpointGrid](#testpointgrid) | `int` | get; set |  |
| [TestpointUnderComponent](#testpointundercomponent) | `bool` | get; set |  |
| [UseGrid](#usegrid) | `bool` | get; set |  |

### AllowedSide

*No description yet.*

```csharp
TTestpointAllowedSideSet GetState_AllowedSide();
void SetState_AllowedSide(TTestpointAllowedSideSet argValue);
```

**Type:** [TTestpointAllowedSideSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TTestpointAllowedSideSet.md) · **Access:** read/write

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

### BoardEdgeClearance

*No description yet.*

```csharp
int GetState_BoardEdgeClearance();
void SetState_BoardEdgeClearance(int argValue);
```

**Type:** `int` · **Access:** read/write

### CompBodyClearance

*No description yet.*

```csharp
int GetState_CompBodyClearance();
void SetState_CompBodyClearance(int argValue);
```

**Type:** `int` · **Access:** read/write

### GridOrigin

*No description yet.*

```csharp
CoordPoint GetState_GridOrigin();
void SetState_GridOrigin(CoordPoint argValue);
```

**Type:** [CoordPoint](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/CoordPoint.md) · **Access:** read/write

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

### GridTolerance

*No description yet.*

```csharp
int GetState_GridTolerance();
void SetState_GridTolerance(int argValue);
```

**Type:** `int` · **Access:** read/write

### MaxHoleSize

*No description yet.*

```csharp
int GetState_MaxHoleSize();
void SetState_MaxHoleSize(int argValue);
```

**Type:** `int` · **Access:** read/write

### MaxSize

*No description yet.*

```csharp
int GetState_MaxSize();
void SetState_MaxSize(int argValue);
```

**Type:** `int` · **Access:** read/write

### MinHoleSize

*No description yet.*

```csharp
int GetState_MinHoleSize();
void SetState_MinHoleSize(int argValue);
```

**Type:** `int` · **Access:** read/write

### MinSize

*No description yet.*

```csharp
int GetState_MinSize();
void SetState_MinSize(int argValue);
```

**Type:** `int` · **Access:** read/write

### MinSpacing

*No description yet.*

```csharp
int GetState_MinSpacing();
void SetState_MinSpacing(int argValue);
```

**Type:** `int` · **Access:** read/write

### PreferedHoleSize

*No description yet.*

```csharp
int GetState_PreferedHoleSize();
void SetState_PreferedHoleSize(int argValue);
```

**Type:** `int` · **Access:** read/write

### PreferedSize

*No description yet.*

```csharp
int GetState_PreferedSize();
void SetState_PreferedSize(int argValue);
```

**Type:** `int` · **Access:** read/write

### TestpointGrid

*No description yet.*

```csharp
int GetState_TestpointGrid();
void SetState_TestpointGrid(int argValue);
```

**Type:** `int` · **Access:** read/write

### TestpointUnderComponent

*No description yet.*

```csharp
bool GetState_TestpointUnderComponent();
void SetState_TestpointUnderComponent(bool argValue);
```

**Type:** `bool` · **Access:** read/write

### UseGrid

*No description yet.*

```csharp
bool GetState_UseGrid();
void SetState_UseGrid(bool argValue);
```

**Type:** `bool` · **Access:** read/write

## Inherited members

- From [IPCB_Rule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md): [ActualCheck](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#actualcheck), [ActualCheck_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#actualcheck_1), [CheckBinaryScope](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#checkbinaryscope), [CheckUnaryScope](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#checkunaryscope), [CollisionExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#collisionexpansion), [Comment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#comment), [DataSummaryString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#datasummarystring), [DefinedByLogicalDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#definedbylogicaldocument), [DRCEnabled](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#drcenabled), [Export_ToParameters_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#export_toparameters_1), [GetWhatsThisHelpString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#getwhatsthishelpstring), [IsUnary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#isunary), [LayerKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#layerkind), [Name](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#name), [NetScope](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#netscope), [NetScopeMatches](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#netscopematches), [Priority](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#priority), [RuleKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#rulekind), [Scope1Expression](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#scope1expression), [Scope1Includes](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#scope1includes), [Scope2Expression](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#scope2expression), [Scope2Includes](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#scope2includes), [ScopeDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#scopedescriptorstring), [ScopeKindIsValid](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#scopekindisvalid), [ShortDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#shortdescriptorstring), [ViolationDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md#violationdescriptorstring)
- From [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md): [AllowGlobalEdit](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#allowglobaledit), [BeginModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#beginmodify), [Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#board), [BoundingRectangle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangle), [BoundingRectangleChildren](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectanglechildren), [BoundingRectangleForPainting](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangleforpainting), [BoundingRectangleForSelection](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangleforselection), [CancelModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#cancelmodify), [Component](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#component), [Coordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#coordinate), [DescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#descriptorstring), [DetailString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#detailstring), [Dimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#dimension), [DrawAsPreview](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#drawaspreview), [DRCError](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#drcerror), [Enabled](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled), [Enabled_Direct](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_direct), [Enabled_vComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vcomponent), [Enabled_vCoordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vcoordinate), [Enabled_vDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vdimension), [Enabled_vNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vnet), [Enabled_vPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vpolygon), [EnableDraw](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabledraw), [EndModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#endmodify), [Export_ToParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#export_toparameters), [FlipXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#flipxy), [GraphicallyInvalidate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#graphicallyinvalidate), [Handle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#handle), [Identifier](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#identifier), [InBoard](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inboard), [InComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#incomponent), [InCoordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#incoordinate), [Index](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#index), [InDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#indimension), [InNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#innet), [InPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inpolygon), [InSelectionMemory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inselectionmemory), [IsAssyTestPoint_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isassytestpoint_bottom), [IsAssyTestPoint_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isassytestpoint_top), [IsElectricalPrim](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#iselectricalprim), [IsFreePrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isfreeprimitive), [IsHidden](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#ishidden), [IsKeepout](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#iskeepout), [IsPreRoute](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#ispreroute), [IsSaveable](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#issaveable), [IsTenting](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting), [IsTenting_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting_bottom), [IsTenting_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting_top), [IsTestPoint_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istestpoint_bottom), [IsTestPoint_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istestpoint_top), [Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#layer), [MiscFlag1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag1), [MiscFlag2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag2), [MiscFlag3](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag3), [Moveable](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#moveable), [MoveByXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#movebyxy), [MoveToXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#movetoxy), [Net](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#net), [ObjectID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#objectid), [ObjectIDString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#objectidstring), [PadCacheRobotFlag](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#padcacherobotflag), [PasteMaskExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#pastemaskexpansion), [Polygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#polygon), [PolygonOutline](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#polygonoutline), [PowerPlaneClearance](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplaneclearance), [PowerPlaneConnectStyle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplaneconnectstyle), [PowerPlaneReliefExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplanereliefexpansion), [Preview](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#preview), [ReliefAirGap](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefairgap), [ReliefConductorWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefconductorwidth), [ReliefEntries](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefentries), [Replicate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#replicate), [RequiredParamterSpace](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#requiredparamterspace), [RotateBy](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#rotateby), [Selected](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#selected), [SolderMaskExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#soldermaskexpansion), [SwapLayerPairs](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#swaplayerpairs), [TearDrop](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#teardrop), [UnionIndex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#unionindex), [UniqueId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#uniqueid), [UniqueID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#uniqueid-1), [Used](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#used), [UserRouted](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#userrouted), [V7Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#v7layer), [ViewableObjectID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#viewableobjectid)
