
# IComponentTemplate interface

*No description yet.*

```csharp
public interface IComponentTemplate : IAbstractObject
```

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

**Inherits:** [IAbstractObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IAbstractObject.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [DefaultFolder](#defaultfolder) | [IComponentTemplateDefaultFolder](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateDefaultFolder.md) | get; set |  |
| [ItemGUID](#itemguid) | `string` | get; set |  |
| [ItemNamingTemplate](#itemnamingtemplate) | [IComponentTemplateItemNamingTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateItemNamingTemplate.md) | get; set |  |
| [LifecycleDefinition](#lifecycledefinition) | [IComponentTemplateLifecyleDefinition](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateLifecyleDefinition.md) | get; set |  |
| [Parameters](#parameters) | [IComponentTemplateParameterList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateParameterList.md) | get; set |  |
| [RevisionGUID](#revisionguid) | `string` | get; set |  |
| [RevisionNamingScheme](#revisionnamingscheme) | [IComponentTemplateRevisionNamingScheme](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateRevisionNamingScheme.md) | get; set |  |
| [TargetVault](#targetvault) | [IComponentTemplateVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateVault.md) | get; set |  |
| [VaultGUID](#vaultguid) | `string` | get; set |  |
| [Version](#version) | `string` | get; set |  |

### DefaultFolder

*No description yet.*

```csharp
IComponentTemplateDefaultFolder GetDefaultFolder();
void SetDefaultFolder(IComponentTemplateDefaultFolder argValue);
```

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

The accessors are extension methods of `IComponentTemplateHelper` (`using ComponentLib;`).

### ItemGUID

*No description yet.*

```csharp
string GetItemGUID();
void SetItemGUID(string argItemGUID);
```

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

### ItemNamingTemplate

*No description yet.*

```csharp
IComponentTemplateItemNamingTemplate GetItemNamingTemplate();
void SetItemNamingTemplate(IComponentTemplateItemNamingTemplate argValue);
```

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

The accessors are extension methods of `IComponentTemplateHelper` (`using ComponentLib;`).

### LifecycleDefinition

*No description yet.*

```csharp
IComponentTemplateLifecyleDefinition GetLifecycleDefinition();
void SetLifecycleDefinition(IComponentTemplateLifecyleDefinition argValue);
```

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

The accessors are extension methods of `IComponentTemplateHelper` (`using ComponentLib;`).

### Parameters

*No description yet.*

```csharp
IComponentTemplateParameterList GetParameters();
void SetParameters(IComponentTemplateParameterList argValue);
```

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

The accessors are extension methods of `IComponentTemplateHelper` (`using ComponentLib;`).

### RevisionGUID

*No description yet.*

```csharp
string GetRevisionGUID();
void SetRevisionGUID(string argRevisionGUID);
```

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

### RevisionNamingScheme

*No description yet.*

```csharp
IComponentTemplateRevisionNamingScheme GetRevisionNamingScheme();
void SetRevisionNamingScheme(IComponentTemplateRevisionNamingScheme argValue);
```

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

The accessors are extension methods of `IComponentTemplateHelper` (`using ComponentLib;`).

### TargetVault

*No description yet.*

```csharp
IComponentTemplateVault GetTargetVault();
void SetTargetVault(IComponentTemplateVault argValue);
```

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

The accessors are extension methods of `IComponentTemplateHelper` (`using ComponentLib;`).

### VaultGUID

*No description yet.*

```csharp
string GetVaultGUID();
void SetVaultGUID(string argVaultGUID);
```

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

### Version

*No description yet.*

```csharp
string GetVersion();
void SetVersion(string argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [GetComponentTypes](#getcomponenttypes) | [IComponentTemplateComponentTypeList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateComponentTypeList.md) |  |
| [GetModelLinks](#getmodellinks) | [IComponentTemplateModelLinkList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentTemplateModelLinkList.md) |  |
| [LoadComponentTemplateFromCmpLibFile](#loadcomponenttemplatefromcmplibfile) | `bool` |  |
| [LoadComponentTemplateFromFile](#loadcomponenttemplatefromfile) | `bool` |  |
| [LoadComponentTemplateFromRevisionGUID](#loadcomponenttemplatefromrevisionguid) | `bool` |  |
| [SaveComponentTemplateToFile](#savecomponenttemplatetofile) | `bool` |  |

### GetComponentTypes

*No description yet.*

```csharp
IComponentTemplateComponentTypeList GetComponentTypes();
```

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

Extension method of `IComponentTemplateHelper` (`using ComponentLib;`).

### GetModelLinks

*No description yet.*

```csharp
IComponentTemplateModelLinkList GetModelLinks();
```

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

Extension method of `IComponentTemplateHelper` (`using ComponentLib;`).

### LoadComponentTemplateFromCmpLibFile

*No description yet.*

```csharp
bool LoadComponentTemplateFromCmpLibFile(string argFilePath);
```

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

**Returns:** `bool`

### LoadComponentTemplateFromFile

*No description yet.*

```csharp
bool LoadComponentTemplateFromFile(string argFilePath);
```

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

**Returns:** `bool`

### LoadComponentTemplateFromRevisionGUID

*No description yet.*

```csharp
bool LoadComponentTemplateFromRevisionGUID(string argVaultGUID, string argRevisionGUID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argVaultGUID` | `string` | value |
| `argRevisionGUID` | `string` | value |

**Returns:** `bool`

### SaveComponentTemplateToFile

*No description yet.*

```csharp
bool SaveComponentTemplateToFile(string argFilePath);
```

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

**Returns:** `bool`

## Returned by

[IComponentLibraryManager.CreateTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryManager.md#createtemplate), [IComponentLibraryManager.RunCreateComponentDialog](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryManager.md#runcreatecomponentdialog), [IComponentSet.ComponentTemplate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentSet.md#componenttemplate)
