
# IPCB_ViaStructureManager interface

*No description yet.*

```csharp
public interface IPCB_ViaStructureManager
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [Count](#count) | `int` | get |  |
| [Item](#item) | [IPCB_ViaStructure](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ViaStructure.md) | get |  |

### Count

*No description yet.*

```csharp
int GetState_Count();
```

**Type:** `int` · **Access:** read-only

### Item

*No description yet.*

```csharp
IPCB_ViaStructure GetState_Item(int argIndex);
```

**Type:** [IPCB_ViaStructure](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ViaStructure.md) · **Access:** read-only · **Index:** `argIndex` (`int`)

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [ChangeFeatureTypeCounter](#changefeaturetypecounter) | `void` |  |
| [Clear](#clear) | `void` |  |
| [ClearFeatureTypeCounter](#clearfeaturetypecounter) | `void` |  |
| [CreateViaStructure](#createviastructure) | [IPCB_ViaStructure](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ViaStructure.md) |  |
| [IsFeatureTypeExists](#isfeaturetypeexists) | `bool` |  |
| [RegisterViaStructure](#registerviastructure) | [IPCB_ViaStructure](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ViaStructure.md) |  |

### ChangeFeatureTypeCounter

*No description yet.*

```csharp
void ChangeFeatureTypeCounter(TViaStructureFeatureType argFeatureType, bool argIncrement);
void ChangeFeatureTypeCounter(int argFeatureType, bool argIncrement);
```

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

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

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

### Clear

*No description yet.*

```csharp
void Clear();
```

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

### ClearFeatureTypeCounter

*No description yet.*

```csharp
void ClearFeatureTypeCounter();
```

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

### CreateViaStructure

*No description yet.*

```csharp
IPCB_ViaStructure CreateViaStructure(bool argFullFeatureList, TViaStructureType argViaStructureType);
```

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

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

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

### IsFeatureTypeExists

*No description yet.*

```csharp
bool IsFeatureTypeExists(TViaStructureFeatureType argFeatureType);
bool IsFeatureTypeExists(int argFeatureType);
```

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

**Returns:** `bool`

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

### RegisterViaStructure

*No description yet.*

```csharp
IPCB_ViaStructure RegisterViaStructure(IPCB_ViaStructure argViaStructure);
```

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

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

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

## Returned by

[IPCB_BoardEx.ViaStructureManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_BoardEx.md#viastructuremanager)
