
# IPCB_CounterHoleParams interface

*No description yet.*

```csharp
public interface IPCB_CounterHoleParams
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [Angle](#angle) | `double` | get; set |  |
| [Depth](#depth) | `int` | get; set |  |
| [Diameter](#diameter) | `int` | get; set |  |
| [Direction](#direction) | [TCounterHoleDirection](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TCounterHoleDirection.md) | get; set |  |
| [Material](#material) | [TCounterHoleMaterial](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TCounterHoleMaterial.md) | get; set |  |

### Angle

*No description yet.*

```csharp
double GetAngle();
void SetAngle(double argValue);
```

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

### Depth

*No description yet.*

```csharp
int GetDepth();
void SetDepth(int argValue);
```

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

### Diameter

*No description yet.*

```csharp
int GetDiameter();
void SetDiameter(int argValue);
```

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

### Direction

*No description yet.*

```csharp
TCounterHoleDirection GetDirection();
void SetDirection(TCounterHoleDirection argValue);
```

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

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

### Material

*No description yet.*

```csharp
TCounterHoleMaterial GetMaterial();
void SetMaterial(TCounterHoleMaterial argValue);
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [CopyFrom](#copyfrom) | `void` |  |
| [Deserialize](#deserialize) | `void` |  |
| [GetCounterHoleType](#getcounterholetype) | [TCounterHoleType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TCounterHoleType.md) |  |
| [GetDepthForDiameter](#getdepthfordiameter) | `int` |  |
| [GetDescription](#getdescription) | `string` |  |
| [GetDiameterOnDepth](#getdiameterondepth) | `int` |  |
| [IsEqualWithoutMaterial](#isequalwithoutmaterial) | `bool` |  |
| [Serialize](#serialize) | `string` |  |

### CopyFrom

*No description yet.*

```csharp
void CopyFrom(IPCB_CounterHoleParams argOtherParams);
void CopyFrom(object argOtherParams);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argOtherParams` | [IPCB_CounterHoleParams](#) | value |

**Returns:** nothing (`void`)

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

### Deserialize

*No description yet.*

```csharp
void Deserialize(string argParamStr);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argParamStr` | `string` | value |

**Returns:** nothing (`void`)

### GetCounterHoleType

*No description yet.*

```csharp
TCounterHoleType GetCounterHoleType();
```

**Returns:** [TCounterHoleType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TCounterHoleType.md)

Extension method of `IPCB_CounterHoleParamsHelper` (`using PCB;`).

### GetDepthForDiameter

*No description yet.*

```csharp
int GetDepthForDiameter(int argDiameter);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDiameter` | `int` | value |

**Returns:** `int`

### GetDescription

*No description yet.*

```csharp
string GetDescription(TUnit argDisplayUnit);
string GetDescription(int argDisplayUnit);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDisplayUnit` | [TUnit](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TUnit.md) | value |

**Returns:** `string`

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

### GetDiameterOnDepth

*No description yet.*

```csharp
int GetDiameterOnDepth(int argDepth);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDepth` | `int` | value |

**Returns:** `int`

### IsEqualWithoutMaterial

*No description yet.*

```csharp
bool IsEqualWithoutMaterial(IPCB_CounterHoleParams argOtherParams);
bool IsEqualWithoutMaterial(object argOtherParams);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argOtherParams` | [IPCB_CounterHoleParams](#) | value |

**Returns:** `bool`

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

### Serialize

*No description yet.*

```csharp
string Serialize();
```

**Returns:** `string`

## Returned by

[IPCB_CounterHoleFactory.CreateCounterHoleParams](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CounterHoleFactory.md#createcounterholeparams), [IPCB_CounterHoleParamsList.AddNew](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CounterHoleParamsList.md#addnew), [IPCB_CounterHoleParamsList.GetParams](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CounterHoleParamsList.md#getparams), [IPCB_Via.GetCounterHole_Params](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Via.md#getcounterhole_params)

## Accepted by

[IPCB_CounterHoleParamsList.Add](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_CounterHoleParamsList.md#add)
