
# IPCB_ViaStructureFeature interface

*No description yet.*

```csharp
public interface IPCB_ViaStructureFeature
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [CanSelectSide](#canselectside) | `bool` | get |  |
| [FeatureType](#featuretype) | [TViaStructureFeatureType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TViaStructureFeatureType.md) | get; set |  |
| [Material](#material) | `string` | get; set |  |
| [Side](#side) | [TViaStructureFeatureSide](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TViaStructureFeatureSide.md) | get; set |  |

### CanSelectSide

*No description yet.*

```csharp
bool GetState_CanSelectSide(TViaStructureFeatureSide argSide);
```

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

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

### FeatureType

*No description yet.*

```csharp
TViaStructureFeatureType GetState_FeatureType();
void SetState_FeatureType(TViaStructureFeatureType argType);
```

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

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

### Material

*No description yet.*

```csharp
string GetState_Material();
void SetState_Material(string argMaterial);
```

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

### Side

*No description yet.*

```csharp
TViaStructureFeatureSide GetState_Side();
void SetState_Side(TViaStructureFeatureSide argSide);
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [CopyTo](#copyto) | `void` |  |
| [Replicate](#replicate) | [IPCB_ViaStructureFeature](#) |  |

### CopyTo

*No description yet.*

```csharp
void CopyTo(IPCB_ViaStructureFeature argFeature);
void CopyTo(object argFeature);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFeature` | [IPCB_ViaStructureFeature](#) | value |

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

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

### Replicate

*No description yet.*

```csharp
IPCB_ViaStructureFeature Replicate();
```

**Returns:** [IPCB_ViaStructureFeature](#)

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

## Returned by

[IPCB_ViaStructure.Feature](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ViaStructure.md#feature), [IPCB_ViaStructure.FeatureByType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ViaStructure.md#featurebytype)
