
# IPCB_PadViaLibrary interface

*No description yet.*

```csharp
public interface IPCB_PadViaLibrary
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [Activated](#activated) | `bool` | get; set |  |
| [Count](#count) | `int` | get |  |
| [DisplayUnits](#displayunits) | [TUnit](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TUnit.md) | get; set |  |
| [LibraryID](#libraryid) | `string` | get |  |
| [LibraryName](#libraryname) | `string` | get |  |
| [LibraryPath](#librarypath) | `string` | get |  |
| [Template](#template) | [IPCB_PadViaTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md) | get |  |

### Activated

*No description yet.*

```csharp
bool GetState_Activated();
void SetState_Activated(bool argValue);
```

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

### Count

*No description yet.*

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

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

### DisplayUnits

*No description yet.*

```csharp
TUnit GetState_DisplayUnits();
void SetState_DisplayUnits(TUnit argValue);
```

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

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

### LibraryID

*No description yet.*

```csharp
string GetState_LibraryID();
```

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

### LibraryName

*No description yet.*

```csharp
string GetState_LibraryName();
```

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

### LibraryPath

*No description yet.*

```csharp
string GetState_LibraryPath();
```

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

### Template

*No description yet.*

```csharp
IPCB_PadViaTemplate GetState_Template(int argIndex);
```

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

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddExternalTemplate](#addexternaltemplate) | [IPCB_PadViaTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md) |  |
| [AddTemplate](#addtemplate) | `void` |  |
| [AddTemplate_1](#addtemplate_1) | `void` |  |
| [CheckDublicate](#checkdublicate) | `bool` |  |
| [Clear](#clear) | `void` |  |
| [CopyTo](#copyto) | `void` |  |
| [DeleteTemplate](#deletetemplate) | `void` |  |
| [FindTemplate](#findtemplate) | [IPCB_PadViaTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md) |  |
| [FindTemplate_1](#findtemplate_1) | [IPCB_PadViaTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md) |  |
| [RemoveTemplate](#removetemplate) | `bool` |  |

### AddExternalTemplate

*No description yet.*

```csharp
IPCB_PadViaTemplate AddExternalTemplate(IPCB_PadViaTemplate argTemplate);
```

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

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

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

### AddTemplate

*No description yet.*

```csharp
void AddTemplate(IPCB_Primitive argPrimitive);
void AddTemplate(object argPrimitive);
```

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

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

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

### AddTemplate_1

*No description yet.*

```csharp
void AddTemplate_1(IPCB_PadViaTemplate argTemplate);
void AddTemplate_1(object argTemplate);
```

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

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

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

### CheckDublicate

*No description yet.*

```csharp
bool CheckDublicate(IPCB_PadViaTemplate argTemplate);
bool CheckDublicate(object argTemplate);
```

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

**Returns:** `bool`

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

### Clear

*No description yet.*

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

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

### CopyTo

*No description yet.*

```csharp
void CopyTo(IPCB_PadViaLibrary argDest);
void CopyTo(object argDest);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDest` | [IPCB_PadViaLibrary](#) | value |

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

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

### DeleteTemplate

*No description yet.*

```csharp
void DeleteTemplate(int argIndex);
```

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

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

### FindTemplate

*No description yet.*

```csharp
IPCB_PadViaTemplate FindTemplate(string argTemplate);
```

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

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

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

### FindTemplate_1

*No description yet.*

```csharp
IPCB_PadViaTemplate FindTemplate_1(string argExternalLibraryID, string argExternalTemplateID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argExternalLibraryID` | `string` | value |
| `argExternalTemplateID` | `string` | value |

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

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

### RemoveTemplate

*No description yet.*

```csharp
bool RemoveTemplate(IPCB_PadViaTemplate argTemplate);
bool RemoveTemplate(object argTemplate);
```

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

**Returns:** `bool`

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

## Returned by

[IPCB_Board.FindLinkedBoardLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md#findlinkedboardlibrary), [IPCB_Board.PadViaCache](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md#padviacache), [IPCB_Board.PadViaLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md#padvialibrary), [IPCB_PadViaLibraryDocument.PadViaLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaLibraryDocument.md#padvialibrary), [IPCB_PadViaLibraryManager.FindLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaLibraryManager.md#findlibrary), [IPCB_PadViaLibraryManager.GetInstalledLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaLibraryManager.md#getinstalledlibrary)

## Accepted by

[IPCB_PadViaLibraryManager.UninstallLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaLibraryManager.md#uninstalllibrary)
