
# ILayerStackProvider interface

*No description yet.*

```csharp
public interface ILayerStackProvider
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [ExportToFile](#exporttofile) | `void` |  |
| [ExportToString](#exporttostring) | `string` |  |
| [GetDefaultStack](#getdefaultstack) | [ILayerStackInfo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ILayerStackInfo.md) |  |
| [GetLayerStackInfo](#getlayerstackinfo) | [ILayerStackInfo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ILayerStackInfo.md) |  |
| [GetLayerStacksCount](#getlayerstackscount) | `int` |  |

### ExportToFile

*No description yet.*

```csharp
void ExportToFile(string argPath, TLayerStackDocumentFormat argFormat, int argImperialPrecision, int argMetricPrecision);
void ExportToFile(string argPath, int argFormat, int argImperialPrecision, int argMetricPrecision);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPath` | `string` | value |
| `argFormat` | [TLayerStackDocumentFormat](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TLayerStackDocumentFormat.md) | value |
| `argImperialPrecision` | `int` | value |
| `argMetricPrecision` | `int` | value |

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

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

### ExportToString

*No description yet.*

```csharp
string ExportToString(TLayerStackDocumentFormat argFormat, int argImperialPrecision, int argMetricPrecision);
string ExportToString(int argFormat, int argImperialPrecision, int argMetricPrecision);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFormat` | [TLayerStackDocumentFormat](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TLayerStackDocumentFormat.md) | value |
| `argImperialPrecision` | `int` | value |
| `argMetricPrecision` | `int` | value |

**Returns:** `string`

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

### GetDefaultStack

*No description yet.*

```csharp
ILayerStackInfo GetDefaultStack();
```

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

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

### GetLayerStackInfo

*No description yet.*

```csharp
ILayerStackInfo GetLayerStackInfo(int argStackNum);
```

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

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

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

### GetLayerStacksCount

*No description yet.*

```csharp
int GetLayerStacksCount();
```

**Returns:** `int`

## Returned by

[ILayerStackManager.GetLayerStackProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ILayerStackManager.md#getlayerstackprovider)
