
# IPCB_PadViaTemplateLink interface

A link to a pad and via template, which holds the identifiers of the template's library, of the template and of its revision.

```csharp
public interface IPCB_PadViaTemplateLink
```

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

## Remarks

The link holds only the identifiers, not the template itself. `TemplateLink` of [`IPCB_Pad`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Pad.md) and of [`IPCB_Via`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Via.md) returns the pad's or via's own link, not a copy. `CreateTemplateLink` of [`IPCB_PadViaTemplate`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md) creates a separate link.

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [LibraryID](#libraryid) | `string` | get; set | The identifier of the pad and via library that holds the linked template. |
| [RevisionID](#revisionid) | `string` | get; set | The identifier of the revision of the linked template. |
| [TemplateID](#templateid) | `string` | get; set | The identifier of the linked template within its library. |

### LibraryID

The identifier of the pad and via library that holds the linked template.

```csharp
string GetState_LibraryID();
void SetState_LibraryID(string argValue);
```

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

Empty after `Clear`.

### RevisionID

The identifier of the revision of the linked template.

```csharp
string GetState_RevisionID();
void SetState_RevisionID(string argValue);
```

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

Empty after `Clear`.

### TemplateID

The identifier of the linked template within its library.

```csharp
string GetState_TemplateID();
void SetState_TemplateID(string argValue);
```

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

Empty after `Clear`.

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [Clear](#clear) | `void` | Sets [`LibraryID`](#libraryid), [`TemplateID`](#templateid) and [`RevisionID`](#revisionid) to empty strings. |
| [CopyTo](#copyto) | `void` | Copies [`LibraryID`](#libraryid), [`TemplateID`](#templateid) and [`RevisionID`](#revisionid) to another link. |
| [GetFullTemplateID](#getfulltemplateid) | `string` | Returns the full identifier of the linked template, [`LibraryID`](#libraryid) and [`TemplateID`](#templateid) joined by `@`. |

### Clear

Sets [`LibraryID`](#libraryid), [`TemplateID`](#templateid) and [`RevisionID`](#revisionid) to empty strings.

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

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

### CopyTo

Copies [`LibraryID`](#libraryid), [`TemplateID`](#templateid) and [`RevisionID`](#revisionid) to another link.

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

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argDest` | [IPCB_PadViaTemplateLink](#) | value | The link that receives the identifiers. |

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

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

### GetFullTemplateID

Returns the full identifier of the linked template, [`LibraryID`](#libraryid) and [`TemplateID`](#templateid) joined by `@`.

```csharp
string GetFullTemplateID();
```

**Returns:** `string`

## Returned by

[IPCB_Pad.TemplateLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Pad.md#templatelink), [IPCB_PadViaTemplate.CreateTemplateLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md#createtemplatelink), [IPCB_PadViaTemplate.ExternalLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_PadViaTemplate.md#externallink), [IPCB_StackObject.TemplateLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_StackObject.md#templatelink), [IPCB_Via.TemplateLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Via.md#templatelink)

## Accepted by

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